课后习题答案(答案仅供参考)
第一章习题:
1.什么是软件测试?软件测试的目的是什么?
答:软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码实现的最终审查,它是软件质量保证的关键步骤。
软件测试的目的是为了发现尽可能多的缺陷。
2.简述软件测试的过程。
答:软件测试过程按测试的先后顺序可分为单元测试、集成测试、确认测试、系统测试,分
别与软件开发过程的软件编码、软件设计、软件需求、系统需求(整个项目的需求)相对应。
3.简述软件测试的原则。
答:ISTQB的6项原则:
(1)测试显示缺陷不存在,但不能证明系统不存在缺陷
(2)穷尽测试是不可能的
(3)测试尽早介入
(4)缺陷集群性
(5)杀虫剂悖论
(6)测试活动依赖于测试背景
其他重要的7项原则:
(1)持续地测试、持续地反馈
(2)80/20原则
(3)建立清晰的阶段性目标
(4)测试独立性
(5)确保可测试性
(6)计划是一个过程
(7)一切从用户角度出发
4.简述软件测试与软件开发的关系。
答:软件开发与软件测试都是软件项目中非常重要的组成部分,软件开发是生产制造软件产
品,软件测试是检验软件产品是否合格,两者密切合作才能保证软件产品的质量。
软件测试
在项目各个阶段的作用如下所示:
?项目规划阶段:负责从单元测试到系统测试的整个测试阶段的监控。
?需求分析阶段:确定测试需求分析,即确定在项目中需要测试什么,同时制订系统测
试计划。
?概要设计与详细设计阶段:制订单元测试计划和集成测试计划。
?编码阶段:开发相应的测试代码和测试脚本。
?测试阶段:实施测试并提交相应的测试报告。
第二章习题:
1.什么是软件质量?评价软件质量的属性有哪些?
答:概括地说,软件质量就是“软件产品满足用户或规定显性需求或隐性需求的程度”。具
体地说,软件质量是软件符合明确叙述的功能和性能需求、文档中明确描述的开发标准以及
所有专业开发的软件都应具有的隐含特征的程度,包括内部质量、过程质量、外部质量和使
用质量。软件质量定义强调以下三点:
?软件需求是度量软件质量的基础,与需求不一致意味着软件质量不高。
?制定的标准定义了一组指导软件开发的准则,如果没有遵守这些准则,几乎肯定会导
致质量不高。
?通常有一组没有展示的隐含性需求(如期望软件容易维护)。如果软件满足明确描述
的需求,但不满足隐含的需求,那么软件的质量仍然值得怀疑。
正确性、可靠性、效率、完整性、可用性、可维护性、可测试性、灵活性、可移植性、可重用性、互联性。
2.常见的软件质量保证模型有哪些?有哪些各自特点?
答:(1)McCall模型:McCall定义了一些评价准则,这些准则可对反映质量特性的软件属性进行分级,并以此来估计软件质量特性的值。
(2)Boehm模型:Boehm基本沿袭了传统的项目风险管理理论,指出风险管理由风
险评估和风险控制两大部分组成,风险评估又可分为识别、分析、设置优先级3个子步骤,
风险控制则包括制定管理计划、解决和监督风险3步骤。
(3)FURPS模型:FURPS是功能(Function)、易用性(Usability)、可靠度(Reliability)、性能(Performance)及可支持性(supportability)五个词英文前缀的缩写,是一种识别软件质量属性的模型。
3.简述软件质量标准的层次。
答:第一层:软件质量要素,软件质量可分解成六个要素(正确性、可靠性、易用性、效率性、可维护性、可移植性)
第二层是评价准则,可分成22点。包括精确性、健壮性、安全性、通信有效性、处理
有效性、设备有效性、可操作性、培训性、完备性、一致性、可追踪性、可见性、硬件系统
无关性、软件系统无关性、可扩充性、公用性、模块性、清晰性、自描述性、简单性、结构
性、产品文件完备性。
第三层是度量:根据软件的需求分析、概要设计、详细设计、实现、组装测试、确认测
试和维护与使用七个阶段,制定了针对每一个阶段的问卷表,以此实现软件开发过程的质量
控制。
第三章习题:
请简述集成测试的策略;并比较集成策略的优缺点。
答:集成测试,按照是否一次性按照软件结构图集成最终产品将测试策略分为非渐增式集成
策略和渐增式集成策略分别进行测试。而在以渐增式集成为策略的测试中,根据集成方向将
测试分为自顶向下、自底向上和三明治法。
非渐增式集成测试策略优点:由于集成测试过程基于软件结构图,理解容易,测试简单
直接;可以多人并行工作,对人力、物力以及财力等资源的利用率相对较高。
非渐增式集成测试策略缺点:由于一次性集成,所以一旦