测试理论知识三:测试用例、测试策略

1.测试用例

完全的测试是不可能的,对任何程序的测试必定是不完全的,那么,最显然的测试策略就是努力使测试尽可能完全。

进行测试前,推荐先使用黑盒测试的方法设计测试用例,然后使用白盒测试方法来补充的测试用例。

2. 白盒测试

白盒测试关注的是测试用例执行的程度或覆盖程序逻辑结构的程度。

白盒测试下的用例测试的包括范围:语句覆盖、判断覆盖、条件覆盖、判定/条件覆盖、多重条件覆盖。

语句覆盖:语句覆盖是指测试用例可以被测试的目标程序的每行代码都执行。

3. 黑盒测试

我们知道,黑盒测试的举例用法------穷举法是不可能完成的,因此,我们就需要在所有可能的输入测试中寻找出某个小的子集。

在这里,我们将介绍黑盒测试下的:等价类划分、边界值分析、因果图分析、错误猜测。

3.1. 等价类划分

基于3中描述的"子集",我们还需要准备两个特性:

  1. 严格控制测试用例的增加,减少为达到"合理测试"的某些既定目标而必须设计的其他测试用力数量。

  2. 它覆盖了大部分其他可能的测试用例。

所以使用等价划分设计测试用例主要有两个步骤:确定等价类、生成测试用例。

3.1.1 确定等价类

确定等价类:我们将测试参数分为两大类,有效等价类、无效等价类。有效等价类是指输入的测试参数对于程序来说是合理的,在该程序的测试范围之内的。无效等效类同理。有效等价类和无效等价类都是确定等价类的子集。

3.1.2 生成测试用例
  1. 为每个等价类设置一个不同的编号。

  2. 编写新的测试用例,尽可能多地覆盖那些尚未被涵盖的有效等价类,直到所有的有效等价类都被测试用例所覆盖(包含进去)。

  3. 编写新的用例,覆盖一个且仅一个尚未被涵盖的无效等价类,直到所有的无效等价类都被测试用例所覆盖。

3.2. 边界值分析

一般来说,考虑边界条件的测试用例与其他没有考虑边界条件的测试用例相比,具有更高的测试回报率

所谓边界条件,是指输入和输出等价类中那些恰好处于边界、或超过边界、或在边界以下的状态。

边界值分析方法与等价划分方法存在两方面的不同:

  1. 与从等价类中挑选出任意一个元素作为代表不同,边界值分析需要选择一个或多个元素,以便等价类的每个边界都经过一次测试。

  2. 与仅仅关注输入条件(输入空间)不同,还需要考虑从结果空间(输出等价类)设计测试用例。

3.3. 因果图分析

边界值分析和等价分析的一个弱点是未对输入条件的组合进行分析。

因果图有助于用一个系统的方法选择出高效的测试用例集,同时可以指出规格说明不完整性和不明确之处。

3.4. 错误猜测

顾名思义,就是靠自己的主观能动性来进行测试,一般常用的猜测如下:

  1. 输入列表为空。

  2. 输入列表仅包含一个条目。

  3. 输入列表所有条目的值都相同。

  4. 输入列表已经排过序。

4. 测试策略

经过对白盒测试、黑盒测试的测试方法介绍,我们总结了以下测试要点:

  1. 如果规格说明中包含输入条件组合的情况,应首先使用因果图分析方法。

  2. 在任何情况下都应使用边界分析方法。

  3. 应为输入和输出确定有效和无效等价类,在必要情况下对上面确认的测试用例进行补充。

  4. 使用错误猜测技术增加更多的测试用例。

  5. 针对上述测试用例集检查程序的逻辑结构。

相关推荐
会洗碗的CV工程师5 天前
828华为云征文|使用sysbench对Flexus X实例对mysql进行性能测评
数据库·mysql·华为云·压力测试·可用性测试
从零开始的-CodeNinja之路8 天前
【软件测试】详解软件测试中的测试级别
测试工具·单元测试·集成测试·可用性测试·测试覆盖率
山水阳泉曲1 个月前
ffmpeg安装测试(支持cuda支持SRT)
ffmpeg·可用性测试·cuda·新版本·srt
云夏之末1 个月前
HTTP与HTTPS在软件测试中的解析
网络协议·http·https·可用性测试
山水阳泉曲1 个月前
udp可靠传输中ACK与NACK的选择
网络·网络协议·udp·可用性测试
山水阳泉曲1 个月前
TCP长连接、短链接测试代码
网络·网络协议·tcp/ip·信息与通信·可用性测试
qq_200337391 个月前
界面交互体验测试
功能测试·测试用例·可用性测试
Feng.Lee2 个月前
聊一下测试工程师在研发领域的发展
功能测试·可用性测试
开测开测2 个月前
day16-测试自动化之selenium的PO模式
开发语言·python·selenium·单元测试·自动化·测试用例·可用性测试
N_00502 个月前
性能测试工具LoadRunner
java·测试工具·性能优化·可用性测试