Monday, February 20, 2012
ISTQB学习习题Chapter II 软件测试基础
2.1: 定义术语失效(failure)、故障(fault)和错误(error)
Answer:
失效是指软件产品不完全符合给定的需求,是实际结果或行为与期望结果或行为之间的偏差。
故障是指导致软件产品失效的原因,故障本身存在于软件开发或更改的过程中。
错误是指软件产品中存在的人为过失。
Deep Relationships:
失效是客户或测试人员遇到的一种情形,也称为“问题”或“事件”。
故障是失效产生的原因,又称为“缺陷”或“内部错误”(亦被称为bug)。
错误是人为的过失,是产生故障的一种类型。
2.2:何为缺陷屏蔽?
Answer:
缺陷屏蔽是指一个故障被软件产品其他部分的故障所掩盖的情况。
Deep Thinking:
软件产品的一个故障被另一个故障所掩盖时,修复显现的故障后才能发现隐藏的故障,因此在软件产品修复任何一个故障时都有必要对相关的功能进行测试。
2.3:解释测试和调试之间的区别。
Answer:
测试是指以检验软件产品的失效为目的而对测试对象(软件产品)进行的每次执行。
调试是指以对缺陷的定位和修正为目的而对测试对象(软件产品)进行的每次执行。
Deep Thinking:
测试行为发现的故障需要对软件产品进行调试来修正,修正后的软件产品依然需要测试。
2.4:解释为什么每个测试都为随机采样。
Answer:
测试不能证明软件产品不存在缺陷,由于不可能进行完全测试或者穷尽测试,所以测试都是不规则的。
Deep Thinking:
测试计划是可规划的,通过测试计划来一定程度上控制测试,将不规则的测试结果变成统计后的结果。
2.5:根据ISO 9126,列出软件质量的主要特性。
Answer:
软件质量的主要特性是:功能性,可靠性,可用性,效率,可维护性,可移植性
Deep Thinking:
功能性包括充分性,互操作性,正确性和安全性。
可靠性包括成熟度,故障容限,可恢复性。
可用性包括交互性。
效率指消耗的时间和资源。
可维护性包括可分析性,可变更性,稳定性,易测性。
可移植性包括适应性,易安装,一致性,可交换性。
2.6:定义术语系统可靠性。
Answer:
系统可靠性是指软件产品在具体时间的具体使用中持续地提供其功能的能力。
Deep Relationships:
成熟度是指由于软件存在缺陷而导致失效的频率。
故障容限是软件产品存在故障或特定接口遭到破坏时,继续维持特定级别的性能或者恢复正常工作的能力。
可恢复性是软件产品出现失效后,恢复特定级别的性能或数据的能力。主要因素:宕机时间长短和恢复系统所需的工作量。
2.7:解释基本测试过程包含的几个阶段。
Answer:
基本测试过程包含:测试计划和控制,测试分析和设计,测试实现和执行,测试出口准则和评估,后期测试活动。
2.8:何为测试准则?
Answer:
测试准则不同于测试规格说明,它是测试规格说明的深化。若测试需求描述的是要覆盖什么,则测试规格说明阐述了他们如何被覆盖,而测试准则是一条或一组规则,这些规则把测试需求施加于测试用例集。
Deep Thinking:
测试准则一般分为基于程序的(白盒的、结构化的)和基于规格说明的(黑盒的、功能的)。基于程序的测试准则考虑程序的内部结构。基于规格说明的测试准则用于从系统的形式规格说明出发产生测试用例,不需要程序的代码。
2.9:为什么开发人员不宜测试自己的程序。
Answer:
人性的弱点,人人都会犯错,却不愿意承认。开发人员测试自己的程序往往过于乐观,他们对开发程序比对测试更感兴趣,测试的非常肤浅甚至忘记执行某些合理的测试用例。开发人员会对自己错误盲视,比如一些基础设计上的偏差。同时测试环境上的一些缺陷在开发环境下无法重现。测试和开发对缺陷和偏差的理解不同,常常开发会将失效定义为“特性”。