文档介绍:第6章软件测试方法
软件测试的基本概念
白盒测试的测试用例设计
基本路径测试
黑盒测试的测试用例设计
软件测试的策略
人工测试
调试
什么是软件测试
软件测试的目的和原则
软件测试的对象
测试方法与技术
测试与软件开发各阶段的关系
测试与软件开发各阶段的关系
软件测试的基本概念
什么是软件测试
软件测试是在软件投入生产性运行之前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量控制的关键步骤。
软件测试是为了发现错误而执行程序的过程。
或者说,软件测试是根据软件开发各阶段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结果),并利用这些测试用例去运行程序,以发现程序错误的过程。
软件测试的基本概念
软件测试的目的和原则
基于不同的立场,存在着两种完全不同的测试目的。
从用户的角度出发,普遍希望通过软件测试检验软件中隐藏的错误和缺陷,以考虑是否可以接受该产品。
从软件开发者的角度出发,则希望测试表明软件产品中不存在错误的过程,验证该软件已正确地实现了用户的要求,确立人们对软件质量的信心。
软件测试的基本概念
Grenford 。
测试是程序的执行过程,目的在于发现错误。
好的测试用例在于能发现至今未发现的错误。
成功的测试是发现了至今未发现的错误的测试。
软件测试的基本概念
根据以上测试目的,软件测试的原则如下:
(1)应当把“尽早地和不断地进行软件测试”作
为软件开发者的座右铭。
(2)测试用例应由测试输入数据和与之对应的预
期输出结果这两部分组成。
(3)程序员应避免检查自己的程序。
(4)在设计测试用例时,应当包括合理的输入条
件和不合理的输入条件。
(5)充分注意测试中的群集现象。把局部性原理应用于软件测试。
局部性原理:测试发现的错误中的80%很可能是由程序中20%的模块造成的。
(6)严格执行测试计划,排除测试的随意性。
(7)应当对每一个测试结果作全面检查。
(8)妥善保存测试计划、测试用例、出错统计和
最终分析报告,为维护提供方便。
软件测试的基本概念
软件测试的基本概念
在整个软件开发中,测试工作量一般占30%~40%,甚至≥50%。
在人命关天的软件(如飞机控制、核反应堆等)中,测试所花费的时间往往是其它软件工程活动时间之和的三到五倍。
Windows2000开发人员中:
项目经理约250人
开发人员约1700人
测试人员约3200人
测试工作量和测试人员:
软件测试的对象
软件测试应贯穿于软件定义与开发的整个期间。需求分析、概要设计、详细设计、程序编码等各阶段所得到的文档资料,包括需求规格说明、概要设计规格说明、详细设计规格说明以及源程序,都应成为软件测试的对象。
到程序的测试为止,软件开发工作已经经历了许多环节,每个环节都可能发生问题。为了把握各个环节的正确性,人们需要进行各种确认和验证工作。
软件测试的基本概念
确认(validation),是一系列的活动和过程,其目的是想证实在一个给定的外部环境中软件的逻辑正确性。它包括需求规格说明的确认和程序的确认,而程序的确认又分为静态确认与动态确认。
验证(verification),则试图证明在软件生存期各个阶段,以及阶段间的逻辑协调性、完备性和正确性。下图为软件生存期各个重要阶段之间所要保持的正确性。
软件测试的基本概念