前言


计算机软件已经应用到人们生活的各个领域。一方面,随着软件的普及,人们对软件质量的要求越来越高; 另一方面,由于软件系统变得越来越庞大而复杂,如何提高软件质量是广大技术人员所关注的,这使得软件开发人员和软件测试人员面临着巨大挑战。所以,保证软件质量是软件工程领域一直在深入研究的课题之一。
软件测试技术本身是不断发展的。目前,提高软件质量的方法就是在提高软件测试人员技术水平的同时规范并优化软件开发过程的管理。但软件测试在国内仍然处于发展的初期,在测试标准、测试计划的制订,测试方法的使用和推广,测试的组织和管理等方面处于不断发展完善阶段,处在一个“百家争鸣”的时期。在软件测试行业表面“蒸蒸日上”的现象背后,同时也存在着软件质量危机。
基于这种情况,国内许多高校的计算机、软件工程及其相关专业纷纷开设“软件测试”课程以培养更多的软件测试人才。目前,市场上的软件测试的精品教材少,尤其对软件测试技术介绍全面、深入的教材更少。为了适应当前教学和软件测试技术人员的需要,编者查阅了大量国内外有关软件测试方面的著作和文献,并结合自己多年的从业和教学经验编写了本书。
本书的特点是对测试技术介绍全面,不但阐述了所有基本的软件测试技术,而且介绍了许多高级主题和专门应用系统的测试技术,并附有许多测试案例。
本书共分14章,第1章从讨论软件测试的数学基础入手,阐述了软件测试的发展史、软件测试的定义及基本原则等方面的基础知识,也分析了人工智能技术在测试领域的应用和发展; 第2章介绍了静态测试技术; 第3章全面地分析了动态测试技术,包括黑盒测试技术和白盒测试技术等; 第4~7章分别介绍了单元测试、集成测试、系统测试及验收测试技术; 第8章介绍了负载压力测试; 第9章详细阐述了App移动应用测试; 第10章详细分析了微服务架构应用测试; 第11章介绍了嵌入式系统测试; 第12章介绍了游戏测试; 第13章全面分析了软件测试管理; 第14章介绍了软件测试工具,分析了自动化测试和手工测试的优点与缺点等方面的内容。
本书由杜庆峰编著,在编写的过程中韩永琦、张双俐、殷康麟、邱娟等为本书做了插图绘制、案例程序的调试和相关校对工作,在此一并致谢。
本书在编写过程中参阅了大量国内外同行的著作及文献,汲取了软件测试领域的最新知识。在此,对这些作者表示深深的感谢。
由于编者的水平有限、时间仓促,书中难免存在疏漏之处,希望大家批评指正。
编者2020年6月