软件测试【1】——黑盒测试用例设计方法(1)等价类、边界值、判定表、因果图 - saiminhou

saiminhou 2019-12-30 原文


软件测试【1】——黑盒测试用例设计方法(1)等价类、边界值、判定表、因果图


软件测试-等价类、边界值、判定表、因果图

黑盒测试用例设计方法

  1. 等价类

    等价类概念:在所有测试的数据中,具有某种共同特征的数据子集。

    分类:有效等价类,无效等价类

等价类划分的规则:

等价类测试的步骤:

(1)分析需求,确定输入数据类型

(2)使用规则划分有效和无效等价类

(3)设计用例,覆盖有效等价类(注意:一条用例尽可能覆盖多的有效等价类)

(4)设计用例,覆盖无效等价类(注意:一条用例只能覆盖一个无效等价类)

案例:固定电话号码的测试(3/4位地区码和7/8位电话号码)


  1. 边界值分析方法

    大量的错误都是发生在输入或输出范围的边界上,而不是在输入范围的内部。要选取正好等于、刚刚好大于或刚刚好小于边界值作为测试数据。是对等价类划分方法的补充。

    题目:输入的参数必须大于等于0同时小于等于100的整数
    正确代码:num>-1 || num>=0    num<101||num<=100
    错误代码:num>=-1 ||num>0 num<=101||num<100

    上点、离点、内点

闭区间、半开半闭区间、开区间

边界值分析的步骤

(1)分析需求,确定输入数据类型

(2)使用规则划分有效和无效等价类

(3)确认上点、离点、内点

(4)(5)和之前的等价类划分是一样的

案例:固定电话号码测试

  1. 判定表法

使用等价类方法时,对于输入域及输入域存在关联时无法覆盖。

例如:移动通信中,如果用户欠费或停机则不允许主被叫。(吧欠费和停机两种情况进行组合)

相关概念:

(1)条件桩:所有输入。(案例中的是否欠费和是否停机)

(2)动作桩:被测对象可能采取的操作/表现

(3)条件项:案例中成功或失败的所有可能取值的组合

(4)动作项:每一种组合都有一种对应的值的结果

(5)规则:每一列都代表了一种规则,每一列都对应了一条用例。

测试用例的设计步骤:

(1)分析需求,定义条件桩与动作桩

(2)设计优化判定表,得到条件项(全组合)

(3)根据条件项,依次填写动作项

(4)简化判定表,看是否可以合并

(5)抽取用例(每一个规则都代表了一个用例)

案例:支付宝个人账户注册–验证用户名需求

  1. 因果图方法:是对判定表方法的改进
1.考虑所有输入、输出条件的相互制约关系以及组合关系
2.考虑输入条件之间的依赖关系
3.根据分析的关系来转换判定表的规则

条件与结果之间的关系:恒等、非、或、与

条件与条件之间的关系:互斥、包含(至少有一个必须成立)、屏蔽、唯一(有且只能有一个成立)、要求

与判定表的区别:

(1)判定表分析条件桩与动作桩后,全组合获取条件项

(2)因果图分析因和国之后,先考虑条件与条件之间的关系,条件与结果之间的关系,再转换为判定表

案例(和上面的判定表法是一样的)

发表于
2019-12-30 22:11 
saiminhou 
阅读(1018
评论(0
编辑 
收藏 
举报

 

版权声明:本文为saiminhou原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/saiminhou/p/12122002.html

软件测试【1】——黑盒测试用例设计方法(1)等价类、边界值、判定表、因果图 - saiminhou的更多相关文章

  1. 『动善时』JMeter基础 — 52、使用JMeter测试Dubbo接口

    目录 1、Dubbo介绍 2、准备测试Dubbo接口的环境 3、Dubbo Sample界面详解 4、Dubb […]...

  2. PaaS 平台的网络需求 – 生活费

    PaaS 平台的网络需求 在使用 Docker 构建 PaaS 平台的过程中,我们首先遇到的问题是需要选择一个 […]...

  3. Android开机画面大整容 – 海王

    Android开机画面大整容  http://eoe.1sters.com/thread-5973-1-1.h […]...

  4. ios tweak 开发 – 各各他

    ios tweak 开发 安装部分,步骤挺多的,蛮麻烦的 1、先安装 Xcode,在 Mac Store 即可 […]...

  5. 试图搞懂MDK程序下载到flash(五)–使用MDK中的download直接下载到nor flash – 无网不进

    试图搞懂MDK程序下载到flash(五)–使用MDK中的download直接下载到nor flas […]...

  6. Oracle11g的安装卸载及经常使用工具的使用 – jzssuanfa

    Oracle11g的安装卸载及经常使用工具的使用 Oracle11g的安装卸载及经常使用工具的使用 目的: ( […]...

  7. Time.MONTH及Calendar.MONTH 默认的月份为 0-11 – zhougong

    Time.MONTH及Calendar.MONTH 默认的月份为 0-11 Time.MONTH及Calend […]...

  8. Java基础学习笔记(二) – 面向对象基础

    Java基础学习笔记(二) – 面向对象基础 面向对象 一、面向对象概述     面向对象思想就是 […]...

随机推荐

  1. (转)能根据文字生成图片的 GAN,深度学习领域的又一新星

      本文转自:https://mp.weixin.qq.com/s?__biz=MzIwMTgwNjgyOQ= […]...

  2. MySql 字段类型对应 Java 实体类型

    前言 MySQL Connector/J 对于 MySql 数据类型和 Java 数据类型之间的转换是很灵活的 […]...

  3. 全网最详细的Linux命令系列-sed文本处理命令

    Sed简介 SED是一个非交互式文本编辑器,它可对文本文件和标准输入进行编辑,标准输入可以来自键盘输入、文本重 […]...

  4. 不会框架不要紧,我带你自定义框架

    不会框架不要紧,我带你自定义框架 前言:这标题说的有点大了,当一回标题党,之前在学JSP的时候提到了JSTL和 […]...

  5. 递归时间复杂度

    https://www.cnblogs.com/carazk/p/5860334.html...

  6. MySQL 调优/优化的 100 个建议

    MySQL 调优/优化的 100 个建议 提交 我的评论 加载中 已评论 MySQL 调优/优化的 100 个 […]...

  7. 你真的了解Innodb存储引擎?

    前言 前几篇记录了如何查看SQL执行计划、数据库事务相关的知识点 除了这两个,数据库还有两个是非常重要的,必须 […]...

  8. BookStore示例项目—菜单栏UI分析

    部署 参照 ABP示例项目BookStore搭建部署 项目解构 1)、动态脚本代理 启动项目时,默认会调用两个 […]...

展开目录

目录导航