附录:
软件测试说明书
一、引言
1.软件测试的任务和目标
软件测试是“为了发现程序中的错误而执行程序的过程”。
软件测试的最终目的,发现问题是为了解决问题,测试阶段的根本目标是尽可能多地发现并排除软件中潜藏的错误,最终把一个高质量的软件系统交给用户使用。
2.软件测试准则
为了能设计出有效的测试方案,软件工程师必须深入理解并正确运用指导软件测试的基本准则。
下面给出主要的测试准则:
(1)所有测试都应该能追溯到用户需求。
(2)应该远在测试开始之前就制定出测试计划书。
(3)应该从“小规模”测试开始,并逐步进行“大规模”测试。
(4)穷举测试是不可能的。
应该精心地设计测试方案,有可能充分覆盖程序逻辑并使程序达到所需求的可靠性。
(5)为了达到最佳的测试效果,应该由独立的第三方从事测试工作。
二、测试计划执行情况
1.黑盒测试(功能测试)
黑盒测试是在程序接口进行的测试,它只检查程序功能是否能按照规格说明书的规定正常使用,程序是否能适当地接收输入数据并产生正确的输出信息,程序运行过程中能否保持外部信息的完整性的方法。
1)用户登录模块测试
✧输入:用户名和密码。
✧输出:通过验证并提取用户身份转入主界面模块,验证失败则弹出消息提示,
重新输入。
✧结论:实际结果和预期结果无偏差。
2)主界面模块测试
✧输入:鼠标选择各个功能按钮事件。
✧输出:成功跳转到各个功能界面。
✧结论:实际结果和预期结果无偏差。
3)系统维护模块测试
✧输入:鼠标选择各个功能按钮事件。
✧输出:成功跳转到各个功能界面。
✧结论:实际结果和预期结果无差别。
4)编码库维护模块
✧输入:鼠标选择各个功能按钮事件。
✧输出:成功跳转到各个功能界面。
✧结论:实际结果和预期结果无差别。
5)编码生成器模块
✧输入:鼠标选择各个功能按钮事件。
✧输出:成功跳转到各个功能界面。
✧结论:实际结果和预期结果无差别。
6)编码维护模块
✧输入:鼠标选择各个功能按钮事件。
✧输出:成功跳转到各个功能界面。
✧结论:实际结果和预期结果无差别。
7)产品BOM模块
✧输入:鼠标选择各个功能按钮事件。
✧输出:成功跳转到各个功能界面。
✧结论:实际结果和预期结果无差别。
8)帮助模块
✧输入:鼠标选择各个功能按钮事件。
✧输出:成功显示对应的帮助信息。
✧结论:实际结果和预期结果无差别。
9)用户管理模块
✧输入:鼠标选择各个功能按钮事件。
查询用户编号或用户名称。
✧输出:成功跳转到各个功能界面。
要查询的用户信息。
✧结论:实际结果和预期结果无差别。
10)编码库类别维护模块
✧输入:要新建的子节点信息。
✧输出:新建的子节点编码。
✧结论:实际结果和预期结果无差别。
11)编码查询模块
✧输入:查询文件的关键字查询方式。
✧输出:要查询的文件信息。
✧结论:实际结果和预期结果无差别。
12)单个创建编码模块
✧输入:新物料的信息。
✧输出:新物料编码。
✧结论:实际结果和预期结果无差别。
13)按分类创建编码模块
✧输入:选择物料。
✧输出:物料编码。
✧结论:实际结果和预期结果无差别。
14)BOM导入模块
✧输入:鼠标选择各个功能按钮事件。
✧输出:成功跳转到各个功能界面以及显示相应的信息。
✧结论:实际结果和预期结果无差别。
15)追加物料模块
✧输入:鼠标选择各个功能按钮事件。
要追加的物料信息。
✧输出:成功显示相应信息。
追加的物料的编码。
✧结论:实际结果和预期结果无差别。
2.白盒测试(结构测试)
白盒测试方法是按照程序内部的逻辑测试程序,检测程序中的主要执行通路是否都能按预定要求正确工作。
这里我采用逻辑覆盖技术对程序进行测试。
1)用户登录模块测试
首先我们预先在数据库用户信息表中存放如下数据:
用户登录模块的流程图:
b
d
用户登陆模块流程图
使用下面三组测试数据就能完全覆盖程序通路:
I.username =曹唐珍,userpwd =cao198709。
II.username= 曹唐珍,userpwd = 123456。
III. username=lili, userpwd=cao198709。
I组数据输入测试:
✧输入:username =曹唐珍,userpwd =cao198709。
✧输出:执行路径S-a-b-d-e
✧结论:实际结果与预期结果无偏差。
II组数据输入测试:
✧输入:username =曹唐珍,userpwd =123456。
✧输出:执行路径S-a-b-c-S
✧结论:实际结果与预期结果无偏差。
III组数据输入测试:
✧输入:username =lili,userpwd =cao198709。
✧输出:执行路径S-a-b-c-S
✧结论:实际结果与预期结果无偏差。
2)编码库类别维护模块测试
编码库类别维护流程图:
m 使用下面七组测试数据就能完全覆盖程序通路:I.wlname=原料,wlfatherno =D000000。
II.wlname=原料,wlfatherno= A000000。
III. wlname=成品, wlfatherno=0。
ⅳwlname=常用备件, wlfatherno=B000000。
ⅴwlname=圆合金钢, wlfatherno=A112004。
ⅵwlname=彩色油漆, wlfatherno=A320000。
ⅶwlname=薄钢板, wlfatherno=A600000。
I组数据输入测试:
✧输入:wlname=原料,wlfatherno =D000000。
✧输出:执行路径a-b-c-m
✧结论:实际结果与预期结果无偏差。
II组数据输入测试:
✧输入:wlname=原料,wlfatherno= A000000。
✧输出:执行路径a-b-c-d-m
✧结论:实际结果与预期结果无偏差。
III组数据输入测试:
✧输入:wlname=成品, wlfatherno=0。
✧输出:执行路径a-b-c-d-e-f-l-m
✧结论:实际结果与预期结果无偏差。
ⅳ组数据输入测试:
✧输入:wlname=常用备件, wlfatherno=B000000。
✧输出:执行路径a-b-c-d-e-g-l-m
✧结论:实际结果与预期结果无偏差。
ⅴ组数据输入测试:
✧输入:wlname=圆合金钢, wlfatherno=A112004。
✧输出:执行路径a-b-c-d-e-g-h-m
✧结论:实际结果与预期结果无偏差。
ⅵ组数据输入测试:
✧输入:wlname=彩色油漆, wlfatherno=A320000。
✧输出:执行路径a-b-c-d-e-g-h-i-l-m
✧结论:实际结果与预期结果无偏差。
ⅶ组数据输入测试:
✧输入:wlname=薄钢板, wlfatherno=A600000。
✧输出:执行路径a-b-c-d-e-g-h-i-j-l-m
✧结论:实际结果与预期结果无偏差。
3)单个创建编码模块
单个创建编码流程图:
使用下面三组测试数据就能完全覆盖程序通路:
I.mname=圆柱滚子轴承,mclassid=B100000,mtype=50320,mattribute=外购件。
II.mname=传动组件,mclassid=B000000,mtype=11,mattribute=自制件。
III. mname=异型管,mclassid=A120000,mtype=OXN,mattribute=外购件。
I组数据输入测试:
✧输入:mname=圆柱滚子轴承,mclassid=B100000,
✧mtype=50320,mattribute=外购件。
✧输出:执行路径s-a-b-c-e
✧结论:实际结果与预期结果无偏差。
II组数据输入测试:
✧输入:mname=传动组件,mclassid=B000000,
✧mtype=11,mattribute=自制件。
✧输出:执行路径s-a-b-e
✧结论:实际结果与预期结果无偏差。
III组数据输入测试:
✧输入:mname=异型管,mclassid=A120000,
✧mtype=OXN,mattribute=外购件。
✧输出:执行路径s-a-b-c-d-e
✧结论:实际结果与预期结果无偏差。
其他各模块程序内部结构通路比较单一,仅由黑盒测试便能保证测试结果的正确性。
三、测试结论
各模块均能有效、快速、安全、可靠和无误的完成各项业务功能操作。
功能和性能上与用户要求一致,软件可以接受。