测试基础13:测试用例设计方法-错误推断、因果图判定表

本文主要是介绍测试基础13:测试用例设计方法-错误推断、因果图判定表,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

课程大纲

 1、错误推测法

        靠主观经验和直觉来推测可能容易出现问题的功能或场景,设计相关测试用例进行验证。

图片

2、因果图&判定表

2.1定义

        因果图和判定表是分析和表达多逻辑条件下,执行不同操作的情况的工具。

(因果图和判定表配合使用,熟练后可直接写判定表。)

2.2应用场景

        满足以下几个条件,适合使用因果图&判定表方法进行用例设计:

        ①在界面中有不多的几个控件(一般是2-3个,每个控件取值2-3个)。如:按钮(按/不按),单选按钮(选/不选),复选框(选/不选),选项较少的下拉列表等。

        ②控件之间有组合或限制关系。

        ③不同的输入组合会对应不同的输出结果。

        ④输入条件的排列顺序不影响结果。

        ⑤规格说明(需求文档)以判定表的形式给出,或很容易转换成判定表。

2.3因果图

        因果图是通过图形展示输入项、输出项的逻辑关系,常用符号分为2种:基本符号、约束符号。

        ①基本符号:表达输入与输出之间的关系。

图片

        ②约束符号(限制条件符号):表达输入条件之间或者输出条件之间的限制关系。

图片

        因果图的优点:输入条件之间的关系、输出结果之间的关系、输入与输出的关系,清晰、直观。

        因果图的缺点每个规则(组合场景)需要画一次图,繁琐、效率低。

2.4判定表

        判定表(Decision table)是另一种表达逻辑判断的工具,用来分析和表达多逻辑条件下执行不同操作的情况。

        对测试来说,即用来展示几个控件不同取值的组合,产生的输出结果。

        判定表的组成结构如下:

图片

详解:

图片

        判定表的优点:根据输入条件的组合,勾选对应输出,一列即为一条用例。

        判定表的缺点:单边关系(输入条件之间的关系、输出条件之间的关系)无法体现。(可加备注框进行标注)

2.5、设计步骤

        step1.分析需求,找出所有的输入条件:所有控件,每个控件的所有取值。

        step2.找出所有的输出结果

        step3.找出输入条件、输出结果中的所有组合和限制关系。

        step4.明确每种输入组合对应的输出结果,画因果图,填判定表,形成用例。(熟练后,画因果图可以省略)

举例:

图片

【延伸思考】

        对于控件不多,且每个控件的取值不多的情况,组合出的场景数量不多,使用因果图和判定表进行分析和设计测试用例比较方便。而当组合的控件多、每个控件的取值达到十几个、几十个、上百个时,显然是无法通过因果图和判定表去进行穷举分析的。

        因此,对这种情况,就需要借助另一种方法——正交实验法,进行测试用例的设计。

附:课程完整思维导图

这篇关于测试基础13:测试用例设计方法-错误推断、因果图判定表的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1062009

相关文章

部署Vue项目到服务器后404错误的原因及解决方案

《部署Vue项目到服务器后404错误的原因及解决方案》文章介绍了Vue项目部署步骤以及404错误的解决方案,部署步骤包括构建项目、上传文件、配置Web服务器、重启Nginx和访问域名,404错误通常是... 目录一、vue项目部署步骤二、404错误原因及解决方案错误场景原因分析解决方案一、Vue项目部署步骤

JavaScript中的reduce方法执行过程、使用场景及进阶用法

《JavaScript中的reduce方法执行过程、使用场景及进阶用法》:本文主要介绍JavaScript中的reduce方法执行过程、使用场景及进阶用法的相关资料,reduce是JavaScri... 目录1. 什么是reduce2. reduce语法2.1 语法2.2 参数说明3. reduce执行过程

C#中读取XML文件的四种常用方法

《C#中读取XML文件的四种常用方法》Xml是Internet环境中跨平台的,依赖于内容的技术,是当前处理结构化文档信息的有力工具,下面我们就来看看C#中读取XML文件的方法都有哪些吧... 目录XML简介格式C#读取XML文件方法使用XmlDocument使用XmlTextReader/XmlTextWr

C++初始化数组的几种常见方法(简单易懂)

《C++初始化数组的几种常见方法(简单易懂)》本文介绍了C++中数组的初始化方法,包括一维数组和二维数组的初始化,以及用new动态初始化数组,在C++11及以上版本中,还提供了使用std::array... 目录1、初始化一维数组1.1、使用列表初始化(推荐方式)1.2、初始化部分列表1.3、使用std::

oracle DBMS_SQL.PARSE的使用方法和示例

《oracleDBMS_SQL.PARSE的使用方法和示例》DBMS_SQL是Oracle数据库中的一个强大包,用于动态构建和执行SQL语句,DBMS_SQL.PARSE过程解析SQL语句或PL/S... 目录语法示例注意事项DBMS_SQL 是 oracle 数据库中的一个强大包,它允许动态地构建和执行

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Ubuntu固定虚拟机ip地址的方法教程

《Ubuntu固定虚拟机ip地址的方法教程》本文详细介绍了如何在Ubuntu虚拟机中固定IP地址,包括检查和编辑`/etc/apt/sources.list`文件、更新网络配置文件以及使用Networ... 1、由于虚拟机网络是桥接,所以ip地址会不停地变化,接下来我们就讲述ip如何固定 2、如果apt安

在MySQL执行UPDATE语句时遇到的错误1175的解决方案

《在MySQL执行UPDATE语句时遇到的错误1175的解决方案》MySQL安全更新模式(SafeUpdateMode)限制了UPDATE和DELETE操作,要求使用WHERE子句时必须基于主键或索引... mysql 中遇到的 Error Code: 1175 是由于启用了 安全更新模式(Safe Upd

Go路由注册方法详解

《Go路由注册方法详解》Go语言中,http.NewServeMux()和http.HandleFunc()是两种不同的路由注册方式,前者创建独立的ServeMux实例,适合模块化和分层路由,灵活性高... 目录Go路由注册方法1. 路由注册的方式2. 路由器的独立性3. 灵活性4. 启动服务器的方式5.

在不同系统间迁移Python程序的方法与教程

《在不同系统间迁移Python程序的方法与教程》本文介绍了几种将Windows上编写的Python程序迁移到Linux服务器上的方法,包括使用虚拟环境和依赖冻结、容器化技术(如Docker)、使用An... 目录使用虚拟环境和依赖冻结1. 创建虚拟环境2. 冻结依赖使用容器化技术(如 docker)1. 创