“软件开发与测试”丛书序
为应对“软件危机”的挑战,人们在20世纪60年代末提出借鉴传统行业在质量管理方面的经验,用工程化的思想来管理软件,以提高复杂软件系统的质量和开发效率,即软件工程化。40多年以来,软件已广泛应用到各个工程领域乃至生活的各个方面,极大地提高了社会信息化水平,软件工程也早已深入人心。
质量是产品的生命,对软件尤其如此。软件的直观性远不及硬件,软件的质量管理相对困难得多;但与传统行业类似,大型复杂软件的质量在很大程度上取决于软件过程质量。质量评估是质量管理的关键,没有科学的评估标准和方法,就无从有效地管理质量,软件评测是质量评估的最有效和最重要的手段之一。
北京跟踪与通信技术研究所软件评测中心是从事软件评测与工程化管理的专业机构,是在我国大力发展航天事业的背景下,为保障载人航天工程软件质量,经原国防科工委批准,国内最早成立的第三方软件评测与工程化管理的技术实体组织之一。自成立以来,软件评测中心出色地完成了以载人航天工程、探月工程为代表的数百项重大工程关键软件评测项目,自主研发了测试仿真软件系统、测试辅助设计工具、评测项目与过程管理软件等一系列软件测试工具,为主制订了GB/T 15532—2008《计算机软件测试规范》、GB/T 9386—2008《计算机软件测试文档编制规范》、GJB 141《军用软件测试指南》等软件测试标准,深入研究了软件测试自动化、缺陷分析与预测、可信性分析与评估、测试用例复用等软件测试技术,在嵌入式软件、非嵌入式软件和可编程逻辑器件软件等不同类型软件测试领域,积累了丰富的测试经验和强大的技术实力。
为进一步促进技术积累和对外交流,北京跟踪与通信技术研究所组织编写了本套丛书。本丛书是软件评测中心多年来技术经验的结晶,致力于以资深软件从业者和工程一线技术人员的视角,融会贯通软件工程特别是软件测试、质量评估与过程管理等领域相关的知识、技术和方法。本丛书的特色是重点突出、实用性强,每本书针对不同方向,着重介绍实践中常用的、好用的技术内容,并配以相应的范例、模板、算法或工具,具有很高的参考价值。
本丛书将为具有一定知识基础和工作经验、想要实现快速进阶的从业者提供一套内容丰富的实践指南。对于要对工作经验较少的初入职人员进行技术培训、快速提高其动手能力的单位或机构,本丛书也是一套难得的参考资料。
丛书编审委员会
2015年5月6日软件测试是保障软件质量的重要手段,是构建高可信软件的关键环节。随着软件应用的日益广泛,人们对软件测试重要性的认识越来越深刻。20世纪80年代以来,特别是在最近一二十年间,软件测试无论是作为一项技术、一门学科还是作为一个行业,都得到了快速蓬勃的发展。
本书定位于一本软件测试方法和技术的实用指南,紧扣软件测试实际和标准规范要求,结合行业内软件测试现状,系统地介绍软件测试相关的知识、方法、技术和软件工具,给出较为详细的软件测试过程技术文档模板。
本书旨在帮助软件从业人员了解软件测试的基础知识、一般流程、实用技术方法和常用测试工具,提高技术能力和过程能力水平,以及帮助软件测试机构建立测试能力体系,规范软件测试过程管理。
本书是作者多年从事软件测试工程实践和技术方法研究的经验总结,与其他公开教材相比,主要特色有: 实用性强,本书紧扣软件测试实际和标准规范要求,着重介绍测试实践中常用和好用的知识、技术和方法;视角特殊,本书从第三方测评的角度,系统地阐述适用于工程实践的测试方法和技术,反映行业实际需求和技术发展动态。
本书共有12章,可分为5大部分。
第一部分(第1章)是软件测试概述,简要介绍软件测试发展历程、软件测试典型定义、软件测试一般原则、常用软件测试模型、常见软件测试级别与测试类型、软件测试相关的标准规范等基本内容。
第二部分(第2、3章)是软件测试技术,结合程序实例,分别介绍静态测试技术和动态测试技术,并对典型技术进行比较分析。
第三部分(第4~7章)按照不同的测试级别,从测试原则、测试环境、测试策略、测试内容、测试方法、测试过程等方面分别介绍单元测试、集成测试、配置项测试和系统测试中的实用测试方法与技术。
第四部分(第8~10章)以独立章节分别介绍回归测试、面向对象软件测试和FPGA测试等专门测试类别中的实用测试方法与技术。
第五部分(第11、12章)主要内容是测试实践,第11章分别介绍了在静态测试、动态测试和测试管理中常用的软件工具。第12章着重介绍测试策划、测试设计、测试实施和测试总结等测试过程中常用的技术文档,给出通用技术文档模板。
软件测试包含大量相关的活动,有些是技术性的,有些是管理性的,还有些是相互交织的。例如,单元测试、集成测试、配置项测试、系统测试、回归测试中测试用例、测试数据和测试期望结果的设计是典型的技术性活动;人员计划、成本预算以及配置管理、项目监控中的大部分内容是典型的管理性活动。如前所述,本书偏重于讲述软件测试的技术性活动,软件测试的管理性活动将在本套丛书的另一本书《软件测试管理》中重点介绍。
本书第1~3章由张卫祥编写,第4~7章和第12章由刘文红编写,第8章由陈青编写,第9章由齐玉华编写,第10章由司倩然编写,第11章由马贤颖和司倩然编写。全书由刘文红、杜会森统稿。赵辉、张卫民、杨宝明、李国华、牛胜芬等专家审阅了初稿并提出了许多宝贵意见。
在本书编写过程中,得到了北京跟踪与通信技术研究所,特别是软件评测中心的大力支持,还得到了编者同事、朋友和家人的关心与帮助,在此一并表示感谢!
由于水平有限,本书肯定还存在不少问题,敬请大家批评指正。
编者 2017年4月