前言
创新的动力源自人类不断升级的愿望和需求。
自1968年在德国的南部小城加尔米施召开的NATO会议上提出软件工程的概念以来,经过近50年的发展,软件产业已经成为当今世界****比*高的产业之一。软件产业定义了商业创新,并正在潜移默化地改变人们赖以生存的星球的面貌。
新世纪的软件产业呈现出引人入胜的网络化、服务化、全球化的转变趋势。但与此同时,当今社会却每天都有关于火星探测器失踪、黑客获得数百万张信用卡号这样的软件问题或者**缺陷的新闻报道,应用软件漏洞成为连接信任的“互联网+”时代的主要**威胁。正如2005年普利策新闻奖的三届获奖者Thomas L. Friedman(托马斯·弗里德曼)在《世界是平的》一书中指出: 世界,开始从垂直的价值创造模式(命令和控制)向日益水平化的价值创造模式(联系和合作)转变。在新常态下,��于软件质量保证和测试的探讨比以往任何时期更加急迫、更加重要。
预见未来很好的方式就是亲手创造未来。面对创新驱动,软件质量保证与测试概括地说是运用工程的思想、原理、理论、技术、工具来研究提高大规模软件系统质量,并改进测试方法的学科; 具体地说,软件质量是软件与明确、隐含的定义需求相一致的程度,也是软件符合明确叙述的功能、性能需求,文档中明确描述的开发标准以及专业软件具有的隐含特征程度。
在新时期,为了增加软件产品的国际竞争力,软件质量已经成为经济发展的战略问题。在这一点上,美国**质量大师约瑟夫·朱兰(Joseph M. Juran)就指出,20世纪是生产率的世纪,21世纪是质量的世纪,质量是和平占领市场*有效的武器。那么,随着质量管理的不断受关注、质量意识的不断创新,人们已经从单纯的质量检验发展到全面质量管理、能力成熟度模型、六西格玛质量管理、零缺陷管理,等等。新的理论、方法、体系使得质量改进过程得到了很大促进。
软件开发从分析、设计、制造、测试到发布、部署都会涉及质量保证。诚然,软件质量是软件企业的生命,完善的质量保证体系和严格的质量认证是提高软件企业生产能力和竞争能力的重要因素。一些有益的探索和实践包括敏捷建模、极限编程、软件驱动开发、团队软件过程,等等。整个软件组织始终围绕着软件质量管理的主题,高度的质量意识扎根于软件工程师和项目经理的灵魂深处,直至形成整个组织的质量文化。由此,作为软件组织员工的共同价值观的体现,质量文化正通过有效的软件质量管理模式、系统的软件质量工程体系发挥出越来越重要的作用,并贯穿到软件开发、维护的整个生命周期。一直以来,计算机科学和软件工程都在寻求对软件本质更清晰的认识,试图以更加合理的方法、流程来开发软件,在保证高质量的前提下大量、快速地开发软件。
至繁归于至简。在全球化时代的大背景下,伴随软件质量保证而来的软件测试*终是利用测试工具按照测试方案、流程对产品进行功能、性能测试,甚至根据需要编写不同的测试工具设计、维护测试系统,对测试方案进行分析、评估,实现软件测试自动化。测**例执行后需要跟踪故障,以确保开发的产品满足需求。当然,软件测试是软件质量保证的关键步骤,软件缺陷发现得越早,软件开发费用就越低。相应地,软件质量越高,软件发布后的维护费用就越低。软件工程实践表明,对软件思想有深刻理解的工程师通过软件测试可以大幅度提高软件质量。
本书从实践的角度对软件研发各阶段的质量保证和管理的思想、方法、活动、案例进行了详细描述,并系统介绍了软件测试的各种方法,从不同的角度探讨软件测试的本质及其内涵,通过应用在各个测试阶段来满足不同的应用系统测试需求。同时,本书用了较大篇幅详细介绍了怎样组建测试队伍、部署测试环境,以及测**例设计、缺陷报告、测试项目管理等方面。
全书由秦航、杨强任主编。第1、7、15章由秦航编写,第8、10、11章由夏浩波编写,第2、4章由邱林编写,第5、14章由徐杏芳编写,第6、9章由包小军编写,第3、12章由吴中博编写,第13、14章由杨强编写。全书由秦航负责统稿。
本书可作为高等院校“软件质量保证与测试”相关课程的教材或教学参考书,也可供有一定实际经验的软件工程人员和需要开发应用软件的广大计算机用户阅读参考。由于作者水平有限,书中不当与错误之处在所难免,敬请读者和专家提出宝贵意见,以帮助作者不断地改进和完善。
作者2017年5月