软件测试综述
什么是软件测试?
在1947年有哈佛大学制造的类似房间大小的计算机"Mark II"由于一只飞蛾引起的计算机短路问题,计算机缺陷就这样发生了,虽然该缺陷被消除了,但是我们从此认识了它.
软件测试的术语 :
缺点(Defect)
偏差(Variance)
故障(fault)
问题(problem)
矛盾(inconsistency)
错误(error)
特殊(feature)
事件(incident)
缺陷(bug)
异常(anomaly)
缺陷的定义 :
1)软件未实现需求说明书要求的功能
2)软件出现了需求说明书指明不应该出现的错误
3)软件实现了需求说明书未提到的功能
4)软件未实现需求说明书虽未明确提及但应该实现的功能
5)软件难以理解,不易使用,运行缓慢 - 站在用户的角度觉得不好的地方.
测试人员究竟做些什么?
软件测试员的目标是尽可能地找出缺陷,并确保其得以修复.
* 注意 : 要记住"修复"缺陷并非至一定要改正软件,可以是指在用户手册中增加一段注释或者为用户提供特殊的培训,这可能需要改变市场部门广告宣传的数据或者设置推迟缺陷部分的功能发布,测试人员虽然在追求万门,确保缺陷都被修复,但软件测试的实质则是另外一回事,千万不要再无法达到的完美上纠结和兜圈子.
测试文档
1.测试计划(Test Plan)描述用于验证是否符合需求说明书和客户绣球的整体方案,包括质量目标,资源需求,进度表,任务分配,方法等.
2.测试用例(Test Cases)列举测试的项目,描述验证软件的详细步骤
3.缺陷报告(Bug Reports)描述执行测试用例找出的问题,可以记录在纸上,但通常记录在数据库中.
4.测试工具和自动化测试(Test Tools and Automation) 如果测试小组使用自动化测试工具测试软件,不管是购买的还是自己编写的工具,都必须有文档记录.
5.度量,统计和总结(Mentrics,Statisics,Summaries)测试过程的汇总,采用图形表格和报告等形式.
软件测试流程
1.拿到需求说明书,开始对需求进行测试,找出需求中的问题或者说无法测试的地方
2.需求测试通过后,根据需求说明书指定测试计划,包括测试策略,测试方法,测试周期等
3.然后根据软件功能说明书编写测试用例,一般的公司都是根据需求说明书进行编写
4.搭建测试环境,包括软件环境和硬件环境
5.根据测试用例进行测试,提交缺陷
6.回归测试
7.测试完成后,进行测试总结,编写测试报告.
什么是测试用例,写测试用例有什么好处?
测试用例 :
测试用例是为某个特殊目标而编制的一组测试输入,执行条件以及预期结果,以便测试某个程序路径或核实是否满足缪戈特定需求
通俗的讲 : 就是把我们测试系统的操作步骤按照一定的格式用文字描述出来.
测试用例的好处 :
1.理清思路,避免遗漏
这里我们认为最重要的一点,假如我们测试的项目大而复杂,我们可以把项目功能细分,根据每一个功能通过编写用例的方式来整理我们测试系统的思路,避免遗漏掉要测试的功能点.
2.跟踪测试进展
通过编写测试用例,执行测试用例,我们可以很清楚的知道我们的测试进度
3.历史参考
在我们所做的项目中,也许会有很多功能是相同或相近的,我们对该类功能设计了测试用例,便于以后我们遇到类似的功能的时候可以参考依据.
4.重复性
我们测试一个系统不是一个人测试一遍就算测完的,需要多人反复的进行测试,那么我们就需要测试用例来规范和指导我们的测试行为
5.工作量
让别人知道这些我测试没测试,全面不全面.