史上最全的测试用例设计方法

news2024/11/17 10:52:48

目录

前言

等价类划分方法:

边界值分析方法:

错误推测方法

因果图方法

判定表驱动分析方法

总结


前言

今天还是给大家带来一些干货,总结了一下测试用例的设计方法。具体内容太多我总结成了文档,获取方法在文末。这里截取部分给大家展示。

等价类划分方法:

    一.方法简介

1.定义

  是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。

   

2.划分等价类:

  等价类是指某个输入域的子集合。在该子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。

  1)有效等价类

    是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。

  2)无效等价类

    与有效等价类的定义恰巧相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效等价类至少应有一个,也可能有多个设计测试用例时,要同时考虑这两种等价类。因为软件不仅要能接收合理的数据,也要能经受意外的考验,这样的测试才能确保软件具有更高的可靠性。

 

 

边界值分析方法:

一.方法简介

1.定义:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。 

2.与等价划分的区别

  1)边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。

  2)边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。

3.边界值分析方法的考虑:

  长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。

  使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。

4.常见的边界值

  1)对16-bit 的整数而言 32767 和 -32768 是边界

  2)屏幕上光标在最左上、最右下位置

  3)报表的第一行和最后一行

  4)数组元素的第一个和最后一个

                    

 

错误推测方法

一.    方法简介

1.         定义:基于经验和直觉推测程序中所有可能存在的各种错误, 从而有针对性的设计测试用例的方法。

2.         错误推测方法的基本思想:

列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据他们选择测试用例。

1)        例如, 输入数据和输出数据为0的情况;输入表格为空格或输入表格只有一行。 这些都是容易发生错误的情况。可选择这些情况下的例子作为测试用例。

2)        例如,前面例子中成绩报告的程序,采用错误推测法还可补充设计一些测试用例:

I.          程序是否把空格作为回答

II.       在回答记录中混有标准答案记录

III.     除了标题记录外,还有一些的记录最后一个字符即不是2也不是3

IV.     有两个学生的学号相同

V.        试题数是负数。

3)    再如,测试一个对线性表(比如数组)进行排序的程序,可推测列出以下几项需要特别测试的情况:

I.          输入的线性表为空表;

II.       表中只含有一个元素;

III.     输入表中所有元素已排好序;

IV.     输入表已按逆序排好;

V.        输入表中部分或全部元素相同。

二.    实战演习

    暂无

                  

 

因果图方法

一.    方法简介

1.定义:是一种利用图解法分析输入的各种组合情况,从而设计测试用例的方法,它适合于检查程序输入条件的各种组合情况。

2.因果图法产生的背景:

等价类划分法和边界值分析方法都是着重考虑输入条件,但没有考虑输入条件的各种组合、输入条件之间的相互制约关系。这样虽然各种输入条件可能出错的情况已经测试到了,但多个输入条件组合起来可能出错的情况却被忽视了。

如果在测试时必须考虑输入条件的各种组合,则可能的组合数目将是天文数字,因此必须考虑采用一种适合于描述多种条件的组合、相应产生多个动作的形式来进行测试用例的设计,这就需要利用因果图(逻辑模型)。

3.因果图介绍

1) 4种符号分别表示了规格说明中向4种因果关系。

2) 因果图中使用了简单的逻辑符号,以直线联接左右结点。左结点表示输入状态(或称原因),右结点表示输出状态(或称结果)。

判定表驱动分析方法

一、方法介绍

1.定义:判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。

2.判定表的优点

能够将复杂的问题按照各种可能的情况全部列举出来,简明并避免遗漏。因此,利用判定表能够设计出完整的测试用例集合。

在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。判定表很适合于处理这类问题。

3.“阅读指南”判定表

       

 

4.  判定表通常由四个部分组成如下图所示。

             

1)条件桩(Condition Stub):列出了问题得所有条件。通常认为列出的条件的次序无关紧要。

2)动作桩(Action Stub):列出了问题规定可能采取的操作。这些操作的排列顺序没有约束。

总结

因为文档有50多页,这里也展示不完。感兴趣的还是可以加我下方名片免费领取,还有测试生涯学习过程中需要用到的各种资料及模板。等你来拿。

                  

                                                       

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/192531.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Swagger2Swagger3

一、什么是Swagger swagger是当下比较流行的实时接口文文档生成工具。接口文档是当前前后端分离项目中必不可少的工具,在前后端开发之前,后端要先出接口文档,前端根据接口文档来进行项目的开发,双方开发结束后在进行联调测试。 所…

Python程序设计之 —— 简易学生信息管理系统

大家好,我是 Enovo飞鱼,今天分享一个 Python程序设计之 —— 简易学生信息管理系统 ,小白或者正在学习Python的小伙伴推荐阅读,加油💪。 目录 前言 Python 简介 Python 特点 一、项目来源及背景 二、功能设计 …

PTA L1-023 输出GPLT(详解)

前言:本期是关于输出GPLT的详解,内容包括四大模块:题目,代码实现,大致思路,代码解读,今天你c了吗? 题目: 给定一个长度不超过10000的、仅由英文字母构成的字符串。请将字…

概论_第7章_参数估计__区间估计

先看知识结构图 一 置信区间 定义 定义: 设σ\sigmaσ 为总体的未知参数, θ^1θ^1(x1,x2,...,xn),θ^2θ^2(x1,x2,...,xn)\hat \theta_1 \hat\theta_1(x_1,x_2, ..., x_n), \hat \theta_2 \hat\theta_2(x_1,x_2, ..., x_n)θ^1​θ^1​(x1​,x2​,...,x…

YB菜菜的机器学习自学之路(七)——简单了解keras框架

YB菜菜的机器学习自学之路(七)——简单了解keras框架前提说明1. 机器学习框架-keras1.1 keras框架的特点1.2 keras框架实现一个神经元的建立的过程2. 举例说明2.1 一个神经元 和输入特征为1的案例2.2 多神经元 和单输入特征为1的案例2.3 多输入&#xff…

第11-15章

第11章 枚举和注解 11.1举例 要求创建季节(Season) 对象,请设计并完成。 但是,季节的值是有限的几个值(4个季节),不可以再多。 就可以用枚举来解决 枚举(enumeration,简写enum),是一组常量的集…

【自学Python】Python字符串对齐教程

Python字符串左对齐 大纲 Python字符串左对齐教程 Python 字符串的左对齐,即在我们需要设定 字符串 为固定的长度时,如果字符串的长度不够,则我们可以指定使用特定的字符在字符串的右边进行填充,从而达到左对齐的目的。 在 Pyt…

请求域名requests.(url = 地址)报错

报错:raise MissingSchema(requests.exceptions.MissingSchema: Invalid URL titles: No scheme supplied. Perhaps you meant http://titles?报错分析:response requests.get(urlurl,headersheaders) # print(response) response.encoding"utf-…

Docker逃逸二三事

Docker逃逸在渗透测试中面向的场景大概是这样,渗透拿到shell后,发现主机是docker环境,要进一步渗透,就必须逃逸到“直接宿主机”。甚至还有物理机运行虚拟机,虚拟机运行Docker容器的情况。那就还要虚拟机逃逸了。所以本…

【LeetCode】2325. 解密消息

给你字符串 key 和 message ,分别表示一个加密密钥和一段加密消息。解密 message 的步骤如下: 使用 key 中 26 个英文小写字母第一次出现的顺序作为替换表中的字母 顺序 。将替换表与普通英文字母表对齐,形成对照表。按照对照表 替换 messag…

C语言课设作业《通讯录》全程记录 ps:动态版本

写在前面: 通讯录算是前面对学过知识的一个综合运用,涉及到的知识点有 :枚举类型,结构体、结构体指针、动态内存分配(malloc,calloc,realloc,free)、typedef关键字、多文件编程等以上内容,设计思想不是太难&#xff0c…

Java多线程环境下使用的集合类

Java标准库中大部分集合类都是线程不安全的, 多线程环境下使用同一个集合类对象, 很可能会出问题; 只有少部分是线程安全的, 比如: Vector, Stack, HashTable这些, 关键方法都会带有synchronized, 但一般是不推荐使用这几个类的. 一. 多线程环境下使用ArrayList ArrayList在多…

浅析设计模式4——模板方法模式

我们在进行软件开发时要想实现可维护、可扩展,就需要尽量复用代码,并且降低代码的耦合度。设计模式就是一种可以提高代码可复用性、可维护性、可扩展性以及可读性的解决方案。大家熟知的23种设计模式,可以分为创建型模式、结构型模式和行为型…

OAuth2简介

目录一、 什么是OAuth2二、OAuth2中的角色三、认证流程四、生活中的Oauth2思维五、令牌的特点六、OAuth2授权方式1、授权码2、隐藏方式3、密码方式4、凭证方式一、 什么是OAuth2 OAuth2.0是目前使用非常广泛的授权机制,用于授权第三方应用获取用户的数据。 举例说明…

使用Vuex的个人理解

一、逻辑原理 要使用 Vuex 进行集中管理数据(状态),按照 Vuex 分模块的设 计思想,先在 src 下创建 store 文件夹,然后创建一个根级别的 index.js,作为组装模块并导出 store 地方(store 对象是 …

xss.haozi.me通关教程

10.xss.haozi.me通关教程 0x00 首先整体浏览网站 分别是xss注入点&#xff0c;注入后的HTML代码以及网页源码 构造常规payload&#xff1a; <script>alert(1)</script> 成功通关 0x01 看到注入点是在标签中, 所以用上一题的方法是不会被解析的, 故需要去构造…

MySQL_索引

索引概述 简介 索引&#xff08;index&#xff09;是帮助MySQL高效获取数据的数据结构&#xff08;有序&#xff09;。在数据之外&#xff0c;数据库系统还维护着满足特定查找算法的数据结构&#xff0c;这些数据结构以某种方式引用&#xff08;指向&#xff09;数据&#xff…

OKR之剑·实战篇04:OKR执行过程优化的那些关键事

作者&#xff1a;vivo 互联网平台产品研发团队 本文是《OKR 之剑》系列之实战第 4 篇——OKR执行过程不是一成不变的&#xff0c;团队和个人在执行中不断优化执行的具体行动&#xff0c;保障OKR的高效执行。 前言 “言治骨角者&#xff0c;既切之而复磋之&#xff1b;治玉石者…

vue axios post 请求415、400、500、404报错时

vue axios post 请求415 415错误的解释&#xff0c;服务器无法处理请求附带的媒体格式。 解决方式&#xff1a; 后端参数使用了RequestBody注解进行绑定&#xff0c;用了这个注解进行数据绑定&#xff0c;只能接受数据类型为 Content-Type类型为application/json 1.后台修改&am…

notepad++ 中安装NppExec插件

一、何为NppExec简单的说&#xff0c;这个插件可以让用户在NPP中直接运行一些命令和程序&#xff0c;而不用启动这些命令和程序对应的实际工具或编译器。1. NppExec是...NppExec是介于Notepad和外部工具/编译器之间的一个中间件。它允许用户在NPP中直接运行这些工具/编译器。Np…