前言
软件测试是对软件需求分析、设计规格说明和编码的最终审核,是软件质量保证的关键步骤。随着软件产业的迅速发展,市场对于进行专业化、高效化软件测试的需求越来越强烈,软件测试职业的价值越发显著,软件测试技术作为一门新兴产业迅速发展起来。在这种形势下,计算机专业学生对于软件测试知识的学习与应用就显得尤为重要,因此一本好的软件测试教材对于学习者是必不可少的。
现阶段国内软件测试教学处于起步阶段,我们依据高职高专软件测试课程教学大纲所规定的教学要求编写本教材,把多年软件测试教学经验和教学实践成果融入本教材中,在内容分布上充分考虑理论与实践相结合的原则。
本书选材注意把握高职高专学生的专业知识背景与接受能力,由浅入深,以“实例教学”的方法激发学生的学习兴趣。在编写上,注重内容的先进性、系统性和实用性,力求反映软件测试发展的最新成果。在结构安排上,深入阐述软件测试的基础理论知识,循序渐进,做到了理论和实际相结合。在每章内容后面均附有小结和课后习题。
本书共分10章,系统地介绍了软件测试的主要内容,具体如下:
1. 软件测试概述
介绍了软件测试的背景、基本理论,以及软件测试与软件开发的关系。
2. 软件测试过程与策略
介绍了软件测试的复杂性与经济性分析,描述了软件测试的流程,其中包括单元测试、集成测试、确认测试、系统测试和验收测试5个测试阶段。最后,介绍了两组测试方法,分别是静态测试与动态测试、黑盒测试与白盒测试。
3. 黑盒测试及其实例设计
具体介绍了黑盒测试的各种方法,其中包括等价类划分法、边界值分析法、决策表法、因果图法,并且分别配有测试用例来具体说明这4种方法。最后描述了黑盒测试的一个实例设计。
4. 白盒测试及其实例设计
具体介绍了白盒测试的各种方法,其中包括逻辑覆盖测试和路径分析测试两种主要方法。这部分还介绍了循环测试、变异测试和程序插装等其他白盒测试方法。最后,列举了一个采用覆盖测试方法的测试实例和一个采用独立路径测试方法的测试实例。
5. 软件测试计划与文档
详细阐述了测试计划的制定、测试文档的主要内容和软件生命周期各阶段的测试任务与可交付的文档,列举了测试用例、测试总结报告的设计内容。
6. 软件自动化测试
介绍了软件自动化测试、自动化测试的设计与开发以及常用的自动化测试工具。
7. 软件测试管理
具体叙述了软件质量保证与软件测试的关系、测试的组织管理和测试团队的职责,以及ISO 9000标准和能力成熟度模型(CMM)。
8. 面向对象的软件测试
阐述了面向对象的软件测试、面向对象的软件、面向对象测试与传统测试的区别和面向对象的测试方法。
9. Web网站测试
阐述了Web网站的测试、功能测试、性能测试、安全性测试、可用性/可靠性测试、配置和兼容性测试、数据库测试。
10. 软件测试职业
介绍了软件测试职业和职位、软件测试资源的获取途径和软件测试工程师的素质要求。
本书由杜文洁担任主编,景秀丽、白萍担任副主编。第1章、第10章由杜文洁编写,第2章、第4章、第5章、第7章、第9章由景秀丽编写,第3章、第6章、第8章由白萍编写。全书由杜文洁统稿完成。
由于水平和时间有限,书中难免存在一些疏漏,请读者批评指正。
作者2008年3月