IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 软件测试思想——等价类的划分、边界值分析、因果图和判定表、代码覆盖 -> 正文阅读

[开发测试]软件测试思想——等价类的划分、边界值分析、因果图和判定表、代码覆盖

等价类的划分:

在考虑一个功能的测试的时候,我们可以先做一个分类,从每一类中选择有代表性的数据或者情况来做测试,然后根据实际情况去做合适的分类和选择有代表性的数据去做测试。这种测试思想在术语上被称作等价类的划分。

举例:例如测试计算器的加法验算,加数的选择范围无穷尽,所以我们先对这些加数进行分类,然后从不同的类别中选择具有代表性的数进行测试。分类的方法也有许多,比如对加数的选择范围进行分类:

  • 第一种:可以分为正数,负数,0
  • 第二种:分类的标准为有无进位
  • 第三种:按照加数的位数来分类
  • 第四种:按照加数的个数来分类
  • ......

然后我们选择合适的分类来进行测试,例如选择第一种分类方法,分别从正数、负数、0中选择有代表性的数据进行输入测试。

边界值分析:

边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法(黑盒测试是指在完全不考虑程序内部结构和内部特性的情况下,只检查程序功能能否按照需求规格说明书的规定正常使用)。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。

举例常见的边界值:

  • 对于16-bit的整数而言,32767和-32768是边界值
  • 屏幕上光标在最左上方、最右下方位置
  • 报表的第一行和最后一行
  • 数组元素的第一个和最后一个
  • 循环的第0次、第一次和倒数第二次、最后一次
  • ......

一般情况下,我们将等价类的划分与边界值分析法综合起来使用,来进行测试,往往会取得更好的结果。

因果图:

因果图法是通过文字形式对需求做分析,将其中的原因和结果通过图的形式表现,整个过程一目了然。它适合于描述对于多种输入条件组合的测试方法,根据输入条件的组合、约束关系和输出条件的因果关系,分析输入条件的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件涉及的各种组合情况。做因果图的目的是为了把软件产品的内在逻辑整理清楚,避免在条件复杂的情况下产生遗漏或者差错,方便测试的进行。因果图法着重分析输入条件的各种组合。

举例:招生系统中关于计算加分的一个小功能,如果考生是体育特长生,加五分;如果考试是少数民族,加五分;如果考生同时具备两者条件,加八分。这在软件方面是需求定义,定义了加分的条件(原因)和具体加分额度(结果),用因果图的形式表示出来:

?

判定表:

判定表是另一种表达逻辑判断的工具,能把所有条件组合充分地表达出来。判定表一般和因果图结合使用,因果图法最终生成的就是判定表,它适合于检查程序输入条件的各种组合情况。相较于因果图,判定表更加清晰明了,在实际的测试工作中判定表应用得更要广泛。用判定表的形式来将上述例子的需求进行分析:

代码覆盖:

在一些大的软件研发项目中,会以测试达到的代码覆盖率来作为衡量软件测试工作的标准之一。尽可能多地测试软件构成的代码,那么软件产品的质量就会更有有保障。那么下面介绍三种常见的代码覆盖方法:

  1. 语句覆盖:测试人员通过测试用例将代码中所有可执行的代码都进行执行? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 举例:
    if(a==0)
    b=-1;
    在做上述代码的语句覆盖时,? 应当保证if语句的判断条件为真,即“a==0”,使得“b=-1"能够被成功执行。
  2. 分支覆盖:通过测试用例将分支语句中的每一个分支都测试到? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 举例:
    if((a==0)&&(b==0))
    {
    c=1;
    }
    else
    {
    c=2;
    }

    在做上述代码的分支覆盖时,应测试到条件为真或者为假的两种情况,测试时两个判定条件应当同时满足,并且c的两种情况都应得到测试。

  3. 条件覆盖:条件覆盖相较于分支覆盖要求更加严格,条件覆盖对于每一个在分支判断中出现的条件,不仅程序中的每个语句至少被执行一次,而且使每个判定表达式中的每个条件都取到各种可能的结果.

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-01-03 16:25:01  更:2022-01-03 16:26:02 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 4:27:54-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码