软件测试与质量保证一、软件测试的定义定义:软件测试是为了发现错误而执行程序的过程
或者说软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例,并利用这些测试用例去运行程序,以发现程序错误的过程
二、测试的目的:•基于不同的立场,存在着两种完全不同的测试目的
•从用户的角度出发,普遍希望通过软件测试暴露软件中隐藏的错误和缺陷,以考虑是否可接受该产品
•从软件开发者的角度出发,则希望测试成为表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心
GrenfordMyers软件测试目的(1)测试是程序的执行过程,目的在于发现错误;(2)一个好的测试用例在于能发现至今未发现的错误;(3)一个成功的测试是发现了至今未发现的错误的测试•换言之,测试的目的是–系统地找出软件中潜在的各种错误和缺陷
–能够证明软件的功能和性能与需求说明相符合
–测试不能表明软件中不存在错误,它只能说明软件中存在错误
三、软件测试的原则1
应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭
测试用例应由测试输入数据和对应的预期输出结果这两部分组成
程序员应避免检查自己的程序
在设计测试用例时,应当包括合理的输入条件和不合理的输入条件
充分注意测试中的群集现象
经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目成正比
严格执行测试计划,排除测试的随意性
应当对每一个测试结果做全面检查
妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便
四、软件测试的对象•软件测试并不等于程序测试
软件测试应贯穿于软件定义与开发的整个期间
•需求分析、概要设计、详细设计以及程序编码等各阶段所得到的文档,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应成为软件测试的对象
五、确认和验证: