哈尔滨工业大学华德应用技术学院毕业设计(论文)
第6章 软件测试
系统测试是指利用人工或自动的方法执行和评价各个模块的过程。其目的在于验证模块是否满足规定的要求,查看期望的结果与获得的结果之间有无差别,以便最大限度地找出系统在实际运行中可能出现的错误和问题,及时的进行维护,修改,以免在激烈的竞争中淘汰出局,所以软件测试是非常重要的。
6.1 测试的基本概念
软件测试就是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试工具,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。执行测试用例后,需要跟踪故障,以确保开发的产品适合需求。
经过前面对软件的一系列开发过程包括需求分析、设计和编码等阶段的实现后,得到了源程序,那么就要开始进入到软件测试阶段了。因为,在测试之前的各阶段中都可能在软件产品中遗留下许多错误和缺陷,如果不及时找出这些错误和缺陷,并将其改正,这个软件产品就不能正常使用,及时能够运行也会存在较高的风险,对企业的利益来讲是十分不利的,甚至会导致巨大的损失。目前,程序的正确性证明尚未得到根本的解决,因此软件测试仍是发现软件中错误和缺陷的主要手段。
6.2 测试的任务和目的
6.2.1 测试的任务
测试阶段的基本任务应该是根据软件开发各阶段的文档资料和程序的内部结构,精心设计一组“高产”的测试用例(一组输入数据和与之对应的预期的输出结果,在设计测试用例时,应包括合理的输入数据和不合理的输入数据),利用这些用例执行程序,找出软件潜在的缺陷一个好的测试用例很可能找到至今为止尚未发现的缺陷的用例;一个成功的测试则是指揭示了至今为止尚未发现的缺陷的测试。
29
哈尔滨工业大学华德应用技术学院毕业设计(论文)
6.2.2 测试的目的
软件测试是程序的一种执行过程,目的是尽可能发现并改正被测试软件中的错误,提高软件的可靠性。它是软件生命周期中一项非常重要且非常复杂的工作,对软件可靠性保证具有极其重要的意义。在目前形式化方法和程序正确性证明技术还无望成为实用性方法的情况下,软件测试在将来相当一段时间内仍然是软件可靠性保证的有效方法。软件工程的总目标是充分利用有限的人力和物力资源,高效率、高质量地完成软件开发项目。不足的测试势必使软件带着一些未揭露的隐藏错误投入运行,这将意味着更大的危险让用户承担。过度测试则会浪费许多宝贵的资源。到测试后期,即使找到了错误,然而付出了过高的代价。可见,测试是为了使软件中蕴涵的缺陷低于某一特定值,使产出、投入比达到最大。
6.3 系统整体测试步骤
软件测试的主要步骤有单元测试、集成测试和确认测试。 (1) 单元测试(Unit Testing)
单元测试也称模块测试。通常单元测试可放在编码阶段,程序员在编写好一个模块后,总会对自己编写的模块进行测试,检查它是否实现了详细设计说明书中规定的模块功能和算法。
(2) 集成测试(Integration Testing)
集成测试也称组装测试,它是对由各模块组装而成的程序进行测试,主要检查模块间的接口和通信。集成测试主要发现设计阶段产生的错误,通常采用黑盒测试。
(3) 确认测试(Validation Testing)
确认测试的任务是检查软件的功能、性能及其它特征与用户的需求一致,它是以需求规格说明书(即需求规约)作为依据的测试。确认测试通常采用黑盒测试。
30
哈尔滨工业大学华德应用技术学院毕业设计(论文)
6.4 本系统测试
本系统在测试过程中用到了黑盒测试法。黑盒测试也称功能测试,它是通过测试来检测每个功能是否都能正常使用。黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
6.4.1 管理员登录模块测试
在管理员登录模块中,主要用于验证用户是否是合法用户。在管理员登录页面中,只有当输入正确的账号和密码后,单击“登录”按钮,才可进入主界面。否则登录时出现“您输入的账号不存在”或“密码不正确”错误提示。如图6-1所示。
图6-1 登录错误提示
6.4.2 员工管理模块测试
在员工管理模块中,主要对企业员工信息的添加、修改、删除、按部门
查询员工以及详细查看员工信息等操作。其中在员工添加中要符合要求进行
31
哈尔滨工业大学华德应用技术学院毕业设计(论文)
添加,否则将出现错误提示。如图6-2所示;
图6-2 添加员工信息时错误提示
6.4.3 薪资管理模块测试
在薪资管理模块中,主要是对企业员工的薪资进行管理,包括当月员工的薪资的发放、薪资的查询以及对离职员工薪资的删除等操作。在员工薪资查询中主要分为按年月时间方式来查询员工薪资、按员工编号和姓名方式来查询员工薪资,以及每个月份的整体查询三种。如果想通过年月时间方式来查询员工薪资,则一定要输入年月,并且要输入正确格式的年月,否则出错。如图6-4所示;如果当月的员工的薪资已经发放完成了,再进行发放将会提示错误信息。如图6-5所示。
32