图书前言

随着信息技术的普及,各种各样的软件已经应用到很多领域,设计的复杂程度逐渐增加,开发周期不断缩短。而用户对软件要求却越来越高,不再仅仅关注软件产品功能的先进性,并且十分重视对产品质量的稳定性和可靠性的考察,这使得软件开发人员和软件测试人员面临着前所未有的挑战。因此,如何保证软件质量将成为软件工程领域深入研究的课题。

毋庸置疑,优化软件开发过程和提高软件测试人员的技术水平,是保证软件质量的最佳途径,这种观念正在被更多的软件行业人士理解、接受和实施。但软件测试在国内仍处于起步阶段,各种软件测试的方法、技术和标准都还在探索阶段。可以认为,当今中国的软件测试行业处于“春秋战国”时期,百家争鸣。一方面,这给行业的创新和发展提供了营养丰富的土壤;另一方面在测试行业一派“欣欣向荣”的气象背后,也隐藏着深深的危机。软件质量和测试观点“良莠不齐”、 “泥石俱下”。

在这种情况下,很多高校为了培养更多软件行业急需的软件测试人才,都已开设了软件测试课程,为了适应当前教学的需要,编者在软件测试课程实践的基础上,结合教学和科研成果,以及当前软件测试技术的最新发展动态编写了本书。

本书作为软件测试的实际应用参考书,除了力求突出基本知识和基本概念的表述外,更加注重软件测试技术的运用,在介绍很多知识点的过程中都结合直观形象的图表或实际案例进行了深入浅出的分析,从而使读者可以更好地理解和掌握软件测试技术理论知识,并迅速地运用到实际测试工作中去。

本书参考教学时数为32~40学时。全书包括9章: 第1章讨论了软件测试的发展历史、软件测试的定义和基本原则;第2章介绍了软件测试过程中需要掌握的离散数学和图论基础知识;第3、4章结合经典案例讨论了白盒和黑盒测试技术,第5~7章讨论了单元测试、集成测试和系统测试相关的知识,并且以实际软件系统的测试为例讨论了具体的实施过程;第8章介绍了软件测试自动化,讨论了自动化测试的时机,自动化测试成本的衡量,自动化测试工具的选择和使用;第9章介绍了关于软件bug及其管理方面的知识,讨论了软件bug的分类、提交和管理。为了读者的方便,本书在出版社网站提供了测试案例使用的源代码、配置说明等相关资源。需要的读者可到清华大学出版社网站(www.tup.com.cn)下载。

本书在编写过程中,参阅了很多国内外同行的著作或文章,汲取了该领域最新的研究成果。在此,对这些成果的作者表示深深的感谢!

由于编者水平有限,书中难免存在一些错误和不妥之处,希望有关专家、同行和广大读者批评指正。

编著者2015年1月