软件测试复习
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1.软件质量与质量模型
面对众多的质量因素如何取折衷,这实际上就是区分质量因素对软件质量影响程度轻重的问题,这个问题已经有了解决方案,即软件质量模型,有如下3种软件质量模型。
.Bohm质量模型
Bohm质量模型是1976年由Bohm等提出的分层方案,将软件质量模型定义成分层模型
.McCall质量模型
McCall质量模型中的质量概念基于11个特性之上,
这11个特性分别面向软件产品的运行、修正、转移。
.ISO(国际标准化组织) 的质量模型
ISO/IEC 9126软件质量模型包括“内部质量”、“外部质量”和“使用质量”三部分。
A.内部质量特征主要包括:可维护性、灵活性、可移植性、可重用性、可读性、可测试性、可理解性。
B.外部质量特征主要包括:正确性、可用性、效率、可靠性、完整性、适应性、精确性、坚固性。
C.使用质量用以下质量特征表述:有效性、生产率、安全性、满意程度等。
2.软件可靠性量度
关于软件可靠性方面的量度,主要有:软件中初始故障个数。软件经过测试后,通过查错、改错,在软件中剩余故障的个数。平均无故障时间。故障间隔的时间长度。故障发生率。经预测,下一次故障的发生时间等。
3.软件测试与软件可靠性
对于软件来讲,不论采用什么样的技术和方法,软件中都会有故障存在。采用新的语言、先进的开发方式、完善的开发过
程,可以减少故障的引入,但是不可能完全杜绝软件中的故障,这些软件故障需要测试来发现,软件中的故障密度也需要测试来估计。
4.软件测试的定义
IEEE对软件测试的定义IEEE在软件工程标准术语中给软件测试下的定义是:“使用人工或自动手段来运行或测定某个系统的过程,其目的在于检验它或是弄清预期结果.
5.软件测试的目的
实际上,测试工作一直对准软件中隐含的各种故障,所有的测试方法和手段都是以找出软件中隐含的故障为目的。其根本目的是以尽可能少的时间和人力发现并改正软件中潜在的各种故障及缺陷。
6.测试用例
1)测试用例是为特定的目的而开发的一组测试输入、执行条件和预期
结果。2)测试用例是执行的最小实体3)一个测试用例由两部分组成:测试输入数据和执行条件的描述。预期结果的精确描述。
7. 软件缺陷
1).常用术语错误是在软件生命周期内的不希望或不可接受的人为错误,它导致软件缺陷的产生。缺陷是存在于软件(文档、数据、程序)之中的那些不希望或不可接受的偏差。其结果是软件运行于某一特定条件时出现软件故障,这时称软件缺陷被激活。故障是指软件运行过程中出现的一种不希望或不可接受的内部状态,此时若无适当措施(容错)加以及时处理,便产生软件失效。
2)软件缺陷属性分类、级别、状态、产生的可能性、优先级、产生的起源、来源、缺陷描述与缺陷注释、缺陷的标志。
3)软件缺陷的级别(P15)软件缺陷有四种级别,分别为:致命的(Fatal)严重的(Critical)一般的(Major)微小的(Minor)4)软件
缺陷的状态软件缺陷有三种基本状态:
激活状态(Active 或 Open)已修正状态(Fixed 或 Resolved)关闭或非激活状(Close 或 Inactive)推迟(Postponing 或 Delay)保留(suspend 或 reserve )不能重现(Unreappear 或 Unreproduct )
5)软件缺陷的修复代价
由于人的主观认识常常难以完全符合客观现实,与工程密切相关的各类人员之间的通信和配合也不可能完美无缺。在软件生存周期的每个阶段都不可避免地会产生差错,并且前一阶段的故障自然会导致后一阶段相应的故障,因此,故障会积累起来。此外,后一阶段的工作是前一阶段工作结果的进一步具体化,因此,前一阶段的一个故障可能会造成后一阶段中出现几个故障。软件故障不仅有积累效应,还有放大效应。
8. 测试的复杂性与经济性
穷举测试工作量太大,实际上是行不通的,这就注定了一切实际测试都是不彻底的。因此,软件测试的一个基本问题是经济学问题。
软件测试的总目标是:充分利用有限的人力和物力资源,高效率、高质量地完成测试。选择测试用例时应注意遵守测试的“经济性”原则:第一,根据程序的重要性和一旦发生故障将造成的损失来确定它的测试等级;第二,认真研究测试策略,以便能使用尽可能少的测试用例,发现尽可能多的程序故障。
9. 测试的充分性问题
不充分的测试是愚蠢的,而过度的测试则是一种罪孽。不不充分的测试势必使软件带着一些未揭露的隐藏故障投入运行,这可能使用户承担更
大的危险;而过度测试则会浪费许多宝贵的资源。测试的一个合理目标就是:开发出足够的测试用例,以保证软件在典型应用和关键系统中不会存在什么问题。
10. 停止测试的标准
因为无法判定当前发现的故障是否是最后一个故障,所以决定什么时候停止测试是一件非常困难的事。受经济条件的限制,测试最终一定要停止。五类常用的停止测试标准:
测试超过了预定的时间则停止测试。执行了所有测试用例但没有发现故障,则停止测试。
使用特定的测试用例设计方法作为判断测试停止的基础。正面指出测试停止的要求,比如发现并修改70个故障。根据单位时间内查出故障的数量决定是否停止测试。
11.黑盒测试
黑盒测试是从软件的外部对软件实施测试,也常形容为闭着眼睛测试。在实践中,应针对软件开发项目的具体特点,选择适当的测试方法,有效地解决软件开发中的测试问题。
(1. 等价类划分
使用等价类划分方法设计测试用例,必须在分析需求规格说明的基础上划分等价类。
有效等价类:指对程序规格说明,是有意义的,合理的输入数据所构成的集合。在具体问题中,有效等价类可以是一个,也可以是多个。无效等价类:指对程序规格说明,是不合理或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个。划分方法按区间划分、按数值划分、按数值集合划分、按限制规则划分、按处理方式划分(细分等价类)
(2. 边界值分析
使用边界值分析方法设计测试用例,首先应确定边界情况。输入等价类与输出等价类的边界,就是应着重测试的边界情况。边界值分析方法的基本思想是,选取正好等于,刚刚大于,或刚刚小于边界的值做为测试数据,而不是选取等价类中的典型值或任意值做为测试数据。(3. 决策表测试
在所有的黑盒测试方法中,基于决策表的测试是最严格,最具有逻辑性的测试方法。决策表最突出的优点是,它能把复杂的问题按各种可能的情况一一列举出来,简明而易于理解,也可避免遗漏。因此利用决策表可以设计出完整的测试用例集合。决策表通常由4部分组成:条件桩、动作桩、动作项、条件项;条件桩列出了问题的所有条件,动作桩则给出了问题规定的可能采取的操作。动作项和条件项紧密相关,指出