第五章 软件测试
一、复习要求
1. 了解软件测试的目的和原则。
2. 了解软件错误的分类。
3. 了解软件测试的过程和策略。
4. 了解软件测试用例设计的方法,掌握逻辑覆盖、基本路径测试、因果图等测试用例
设计方法。
5. 了解程序静态测试的方法。
6. 了解程序调试的概念。
7. 掌握软件测试中的可靠性分析方法
二、内容提要
1.
软件测试基础
(1)
什么是软件测试
软件测试是为了发现错误而执行程序的过程。或者说,软件测试是根据软件开发各阶
段的规格说明和程序的内部结构而精心设计一批测试用例(即输入数据及其预期的输出结
果),并利用这些测试用例去运行程序,以发现程序错误的过程。
软件测试在软件生存期中横跨两个阶段:通常在编写出每一个模块之后就对它做必要
的测试(称为单元测试)。模块的编写者与测试者是同一个人。编码与单元测试属于软件生
存期中的同一个阶段。在这个阶段结束之后,对软件系统还要进行各种综合测试,这是软件
生存期的另一个独立的阶段,即测试阶段,通常由专门的测试人员承担这项工作。
(2)
软件测试的目的和原则
Grenford J.Myers
就软件测试目的提出以下观点:
测试是程序的执行过程,目的在于发现错误;
一个好的测试用例在于能发现至今未发现的错误;
一个成功的测试是发现了至今未发现的错误的测试。
设计测试的目标是想以最少的时间和人力系统地找出软件中潜在的各种错误和缺陷。
如果我们成功地实施了测试,就能够发现软件中的错误。测试的附带收获是,它能够证明软
件的功能和性能与需求说明相符合。此外,实施测试收集到的测试结果数据为可靠性分析提
供了依据。
测试不能表明软件中不存在错误,它只能说明软件中存在错误。
软件测试的原则:
①
应当把“尽早地和不断地进行软件测试”作为软件开发者的座右铭。
不应把软件测试仅仅看作是软件开发的一个独立阶段,而应当把它贯穿到软件开发的
各个阶段中。坚持在软件开发的各个阶段的技术评审,这样才能在开发过程中尽早发现和预
防错误,把出现的错误克服在早期,杜绝某些发生错误的隐患。
②
测试用例应由测试输入数据和与之对应的预期输出结果这两部分组成。
1