《软件测试设计》第3章——基于规格说明的测试(1)

本文详细介绍了基于规格说明的测试方法,包括等价类划分、边界值分析、决策表测试和状态转换测试。通过案例分析,阐述了如何识别等价类、创建测试用例、优化决策表和构建状态转换图,旨在提高测试覆盖率和有效性。
摘要由CSDN通过智能技术生成

概念:通过分析组件或系统的测试依据文档,而不是其内部结构获取和选择测试用例的一种方法。

为黑盒技术

基于规格说明测试的共同特点:

① 利用正式或非正式的模型来描述待解决的问题、软件或其组件

② 根据模型系统地获取测试用例

基于规格说明的测试可帮助测试人员选择合适测试用例。

基于规格说明的测试通常由以下步骤组成:

① 分析规格说明。

② 根据规格说明选择有效的输入以确定测试对象是否可正确地实现需求,也需选择无效的输入确定测试对象以正确地处理它们。

③ 根据输入数据确定系统的期望输出。

④ 执行测试用例。

⑤ 将测试执行得到的实际结果与期望结果进行比较。

⑥ 确定测试对象的实现是否符合规格说明。

3.1 等价类划分

作用:用来减少测试用例数目,并保证合理的测试覆盖率。

概念:将输入域输出域划分为不同的等价类,其中的任何值都能使组件或系统产生相同的响应结果。

对于等价类划分技术而言,只要测试等价类中的一个代表值就足够。

不仅需测试有效的等价类(指合理且有意义的数据构成的集合);还需测试无效的等价类(指不合理且错误的数据构成的集合)

等价类划分技术的对象即可是输入,也可是输出

3.1.1 识别等价类

不同的输入类型需要不同的等价类划分

 ① 若输入是连续数值。通常有一个有效等价类和两个无效等价类,两个无效等价类的其中一个为高于有效值的范围;另一个为低于有效值的范围。

② 若输入是离散数值。通常有一个有效等价类和两个无效等价类。

③ 若输入是一组选项,并且测试对象对这组选项中每个值执行相同处理,那么可为输入创建一个有效等价类(该组选项中的任一数值)和一个无效等价类(所有不在该组选项中的值)。

④  若输入是一组选项,并且测试对象对这组选项中每个值执行不同处理,那么可将该组选项中的每个输入都划分一个有效等价类,然后单独划分一个无效等价类(不在该组选项中的任何其他选项)。

⑤ 若规定了输入数据必须遵守某些规则,那么可划分一个有效等价类(满足所以规则)个若干无效等价类(从不同角度违反规则)

⑥ 若输入数据是布尔变量,可划分一个有效等价类和一个无效等价类

⑦ 在已划分的等价类中元素这程序中处理方式不同时,需将该等价类进一步划分为更小的等价类。

3.1.2 创建测试用例

由于测试资源的限制,通常情况下测试人员需创建一个测试用例同时验证多个输入数据的等价类。

基于等价类划分技术设计测试用例时需为每个参数赋予一个输入值,为此必须确定如何组合这些等价类的代表值使其成为一组有效的输入数据。

相应等价类的输入可根据下面原则组合:

① 所有有效等价类的代表值的组合都需要集成到测试用例中,即覆盖有效等价类的所有组合。

② 无效等价类的代表值只和其他有效等价类的代表值组合,有效等价类代表值的选择可以随意。

根据上述组合原则,可得有效测试用例(正面测试用例)的个数等于每个输入参数的有效等价类个数的乘积;而无效测试用例(负面测试用例)的个数为无效等价类的个数。

上述原则所需测试用例仍然过多,故采用如下规则减少测试用例的数目。

① 根据输入参数的代表值组合而成的有效测试用例和无效测试用例按照测试用例的使用频率和重要程度排序,为每个测试用例设置不同优先级。有针对地选择要执行的测试用例。

② 优先选择包含边界值或边界值组合的测试用例

③ 将一个等价类的每个代表值和其他等价类的每个代表值组合设计测试用例(双向组合代替完全组合)

④ 保证满足最小原则,即一个等价类的每个代表值至少在一个测试用例中出现

3.1.3 覆盖率准则

等价类划分技术的测试准则可定义如下:

等价类划分覆盖率=(执行的等价类数量/总的等价类数量)×100%

3.1.4 案例分析:LACP参数等价类测试

① 案例描述

如图为LACP图形配置界面

Index取值范围10001~10006,整型

ActorKey取值范围1~65535,整型

AggregatorSize取值范围1~8,整型

AggregatorName必须由字母组成,长度不超过8

测试人员的目标:

(1) 识别案例中不同参数输入域的等价类

(2) 细分等价类。

(3) 根据得到的等价类创建相应的测试用例。

(4) 分校相关的覆盖率准则

② 识别等价类

下表为LACP相关参数的有效等价类和无效等价类

③ 细分等价类

测试对象的需求规格说明或者功能规格说明不仅是等价类划分的基础,还需对其进行分析以发现其中的漏洞。分析过程可对前面定义的等价类进一步细化。若同时考虑规格说明中每个输入参数的所有条件,并结合测试人员的经验知识,就可认为完成了等价类的划分。

经过分析,Index、ActorKey和AggregatorSize参数还需增加“非整数”无效等价类,最终生成16个等价类,包括4个有效等价类和12个无效等价类。

LACP输入参数的等价类和代表值

④ 创建测试用例

根据有效等价类的原则,可以得到有效测试用例数目为1(1×1×1×1=1)

根据无效等价类的原则,可以得到无效测试用例数目为12(3+3+3+3=12)

因此从16个等价类得到了13个测试用例,如下:

在选择测试用例的输入后,还需为每个测试用例确定期望的结果。

⑤ 覆盖率准则

根据等价类划分技术的覆盖率准则,即执行的等价类数量与总的等价类数量的比值可以得到针对LACP功能的等价类覆盖率。

对于本例,输入参数等价类总数共16个,测试用例数目为13个。只要执行13个测试用例,就可以覆盖16个等价类,即实现100%的等价类覆盖率。

若没执行ID为13的测试用例,只执行了其他12个测试用例,对应只覆盖了15个等价类,等价覆盖率为93.75%

3.2 边界值分析</

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值