随着软件危机的频频出现,其造成的损失巨大,人们越来越认识到软件质量的重要性。而软件测试就是确保软件质量的重要手段。测试是目前用来验证软件是否能够完成预期功能的唯一有效方法。软件行业对软件测试技术的要求也越来越高。
软件测试技术发展到现代,以往纯手工的系统测试已远远不能满足全面测试的需要。软件产品生命周期长,经常变更和升级,不断增加新功能,版本不断更新。除了测试修改过的模块外,每次都要重复测试有关联的模块,这样很多时候会做大量的重复工作,很难达到测试效果。另外,配置管理要求每日构建,每天都要执行“冒烟测试”。自动化测试是目前测试领域的发展方向,自动化测试能有效地降低测试成本、提高测试效率和测试覆盖面。
为了满足社会对软件测试人员的大量需求,各高等院校都相继开设了“软件测试”课程。目前,已有相应的教材出版发行,但面向应用型本科的教材则相对较少。针对应用型本科(独立学院)计算机及相关专业的教学,介绍软件的完整测试过程,使学生能根据软件测试文档实施软件测试,提高软件测试能力,培养团队协作精神,逐步积累软件测试经验,是本书编写的初衷之一。
另外,近年来中国软件(服务)外包产业发展迅速。针对软件外包产业的实训、实践,介绍软件测试项目的技术要求和测试流程,结合案例系统阐述各种常见测试技术;介绍软件自动化测试概念和方法,结合案例阐述如何使用一些常见的软件测试工具,也是本书编写的初衷之一。
本书本着应用性、实用性和够用性三项原则编写。其中,各章相对独立,可以只读其中任一章的内容,而无须其他章节做铺垫。
第1章详细介绍了软件质量的定义、软件测试的基本概念及其生命周期,使读者建立一个完整的软件测试概念。
第2章介绍了软件测试的理论方法。
第3章详细介绍了软件测试过程,包括测试计划、测试设计、测试过程模型、测试实施以及测试评估等。 第4章主要介绍了软件缺陷的定义、分类、产生原因、生命周期及其如何穿透测试等的bug的跟踪管理的相关知识。
第5章介绍了软件测试自动化和自动化测试工具等相关知识。
第6章介绍了功能测试,重点介绍了功能测试工具QTP的使用,并结合实例讲解了如何使用QTP进行Windows应用程序和Web站点的功能测试。
第7章详细介绍了面向对象单元测试的基本概念和JUnit框架及类测试。
第8章介绍了负载测试及LoadRunner.
第9章介绍了测试流程自动化,重点介绍了JIRA的使用,包括JIRA的应用、项目配置及权限等。
第10章详细介绍了软件质量保证SQA,评审与软件测试管理的相关知识。
第11章是一个完整的实际软件项目的测试案例,详细介绍了软件测试项目从测试计划、测试过程、测试用例设计、测试实现到缺陷报告和测试结果分析的全过程,涉及了功能测试和性能测试两方面。
本书为浙江省重点教材,适合作为高等学校,尤其是应用型本科计算机及相关专业“软件测试”课程的教材,也可作为软件测试实训、培训班的教材和软件测试人员、软件开发人员及需要了解测试知识的各级软件管理人员的工作参考手册。
本书由姚茂群教授主编,方敏、王玉槐副主编,参加本书编写的还有寿周翔、王李冬、安康、吕明琪、刘丹凤、王东刚等。在此,衷心感谢对本书的编写和审定提供支持和帮助的所有机构、单位和个人。由于时间仓促,加之编者水平有限,书中难免存在不妥和错误之处,恳请大家不吝赐教。
◆软件测试技术与实践
编 者2012年4月于杭州西湖