【软件测试02】测试方法

news2024/11/25 12:45:53

测试方法

学习目标:

1、能对穷举场景设计测试点---等价类划分法

2、能对限定边界规则设计测试点---边界值分析法

3、能对多条件依赖关系进行设计测试点---判定表法

4、能对项目业务进行设计测试点


一、等价类划分法

1、说明:在所有的测试数据中,具有某种共同特征的数据集合进行划分

分类:

  • 等价类:满足需求的数据集合

  • 无效等价类:不满足需求的数据集合

2、步骤:

  • 1、明确需求

  • 2、确定有效和无效等价类

  • 3、提取数据编写测试用例

案例:

2-1需求:验证QQ账号的合法性

要求:6~10位自然数

2-2 需求:验证某城市电话号码正确性

要求:

1、区号:空或者三位数字

2、前缀码:非‘0’且非‘1’开头的三位数字

3、后缀码:四位数字

重点:

  1. 正向用例:一条尽可能覆盖多条

  2. 逆向用例:每一条数据,都是一条单独用例。

3、等价类的应用场景:

针对:需要有大量数据测试输入,但是没法穷举测试的地方

  • 输入框

  • 下拉列表

  • 单选复选框

典型代表:页面的输入框类型测试

友情提示:完整的用例应该是等价类和边界值一块写

二、边界值分析法

使用边界值解决边界位数限制问题


1、边界范围节点

选取正好等于、刚好大于、刚好小于边界的值作为测试数据

  • 上点:边界上的点

  • 离点:距离上点最近的点(刚好大于、刚好小于)

  • 内点:范围内的点(区间范围内的数据)

凡是在什么范围内的测试需求,最多7条用例

2、边界值法设计用例步骤

  1. 明确需求

  2. 确定有效和无效等价类

  3. 确定边界范围值

  4. 提取数据编写测试用例

注意:

1、有关范围限制,最多7条用例

2、边界值能解决位数限制问题,但是不能解决类型问题(要结合等价类)

3、边界值法案例

练习1、

需求:通过边界值法验证标题长度的合法性

要求:标题长度大于0,小于等于30个字符

练习2、

需求:通过边界值法验证QQ号码的合法性

要求:6~10位自然数

4、边界值法优化

结论:7个优化为5个点

上点:必选(2)

内点:必选(1)

离点:开内闭外(考虑开闭区间,开区间选择包含的离点,闭区间选择不包含的离点 2)

10<a<=20 ----> (10,20]

开区间:不包含(没有等号)边界上的点,如a<10

闭区间:包含边界上的点(有等号),如a<=10

5、使用场景

  • 在等价类的基础上针对有边界范围的测试数据输入的地方(重点关注边界)

  • 常见词语描述:大小、尺寸、重量、最大、最小、至多、至少等修饰词语

  • 典型代表:有边界范围的输入框类测试

强调:单个输入框,常用的方式 边界+等价类

面试题:最常用的用例设计方法有哪些 等价类和边界值法

三、判定表法


1、判定表法的引用

案例:验证“若用户欠费或者关机,则不允许主被叫”功能的测试

说明:

  • 等价类和边界值分析法主要关注单个输入类条件的测试

  • 并未考虑输入条件之间的各种组合、输入条件与输出条件之间有相互制约关系的测试(依赖)

前提条件:有依赖关系

2、判定表定义及组成部分

定义:是一种以表格形式表达多条件逻辑判断的工具

组成:

  1. 条件桩:列出问题中的所有条件,列出条件的次序无关紧要

  2. 动作桩:列出问题中可能采取的操作,操作的排列顺序没有约束

  3. 条件项:列出条件对应的取值,所有可能情况下的真假值

  4. 动作项:列出条件项的各种取值情况下应该采取的动作结果

条件是否欠费
条件是否关机
操作是否允许主被叫

规则:

  1. 判定表中贯穿条件项和动作项的一列就是规则

  2. 假设有n个条件,每个条件的取值有两个(0,1),全组合有2的n次方种规则

3、判定表法设计用例步骤

  1. 明确需求

  2. 画出判定表

    1、列出条件桩和动作桩

    2、填写条件项,对条件进行全组合

    3、根据条件项的组合确定动作项

    4、简化、合并相似规则

  3. 根据规则编写测试用例

4、案例

1、需求:

(1)如果金额大于500元,又未过期,则发出批准单和提货单

(2)如果金额大于500元,但过期了,则不发出批准单和提货单

(3)如果金额小于等于500元,则不论是否过期都发出批准单和提货单

(4)在过期的情况下不论金额大小还需要发出通知单

2、需求

(1)输入的第一列字符必须是A或B

(2)第二列字符必须是一个数字

(3)如果第一列字符不正确,则给出信息L

(4)如果第二列字符不正确,则给出信息M

(5)如果两列字符输入正确,则修改文件成功

5、使用场景

  • 有多个输入条件,多个输出结果,输入条件之间有组合关系,输入条件和输出结果之间有依赖(制约)关系

  • 判定表一般适用于条件组合数量较少的情况(比如4个条件以内)

如果依赖关系超过4个,就不适合判定表法,可以使用正交法!

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

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

相关文章

Spring更加简单的读取和存储对象

前言&#xff1a;在上篇文章中&#xff0c;小编写了一个Spring的创建和使用的相关博客&#xff1a;Spring的创建和使用-CSDN博客&#xff0c;但是&#xff0c;操作/思路比较麻烦&#xff0c;那么本文主要带领大家走进&#xff1a;Spring更加简单的读取和存储对象&#xff01; 本…

【数据结构】数组和字符串(十):稀疏矩阵的链接存储:十字链表的矩阵操作(加法、乘法、转置)

文章目录 4.2.1 矩阵的数组表示4.2.2 特殊矩阵的压缩存储a. 对角矩阵的压缩存储b~c. 三角、对称矩阵的压缩存储d. 稀疏矩阵的压缩存储——三元组表4.2.3三元组表的转置、加法、乘法、操作4.2.4十字链表0. 十字链表的基本操作1. 矩阵加法2. 矩阵乘法3. 矩阵转置4. 主函数 5. 代码…

linux 系统编程复习07-信号

1 复习目标 了解信号中的基本概念熟练使用信号相关的函数参考文档使用信号集操作相关函数熟练使用信号捕捉函数signal熟练使用信号捕捉函数sigaction熟练掌握使用信号完成子进程的回收 信号介绍 信号的概念 信号是信息的载体&#xff0c;Linux/UNIX 环境下&#xff0c;古老…

【C语言】优化通讯录管理系统

大家好&#xff0c;我是苏貝&#xff0c;本篇博客带大家优化上一篇的通讯录&#xff0c;如果你觉得我写的还不错的话&#xff0c;可以给我一个赞&#x1f44d;吗&#xff0c;感谢❤️ 目录 一. 前言二. 动态通讯录2.1 通讯录结构体2.2 初始化通讯录2.3 增加联系人2.4 销毁通讯…

【需要理解】80 单词搜索

单词搜索 题解1 回溯&#xff08;需要改变起点&#xff09; 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中&#xff0c;返回 true &#xff1b;否则&#xff0c;返回 false 。 单词必须按照字母顺序&#xff0c;通过相邻的单元格内…

数据结构——线性表①(顺序表)

一、线性表定义 线性表是一种数据结构&#xff0c;它是由n个具有相同数据类型的数据元素a1,a2,…,an组成的有限序列。 其中&#xff0c;除第一个元素a1外&#xff0c;每一个元素有且只有一个直接前驱元素&#xff0c;除了最后一个元素an外&#xff0c;每一个元素有且只有一个…

IDEA 如何运行 SpringBoot 项目

步骤一&#xff1a;配置 Maven 第一步&#xff1a;用 IDEA 打开项目&#xff0c;准备配置 maven 环境 &#xff0c;当然如果本地没有提前配置好 maven&#xff0c;就用 IDEA 默认的配置即可 配置 maven 步骤 情况 1&#xff1a;如果本地没有配置过 maven&#xff0c;可以保持如…

【Spring】IOC容器与Bean的常用属性配置

文章目录 1.前言2.IOC容器2.1 BeanFactory 容器2.2 ApplicationContext 容器 3.Bean的常用属性配置4. 总结 1.前言 在之前的文章-IOC的快速入门中讲过Bean这个概念. 本来就来介绍容器与Bean的常用属性配置 在Spring框架中&#xff0c;Bean指的是被Spring加载生成出来的对象。 …

ubuntu 18.04 编译安装flexpart 10.4(2023年) —— 筑梦之路

2023年10月29日 环境说明 操作系统版本&#xff1a;ubuntu 18.04 python版本&#xff1a;3.6.9 gcc版本&#xff1a;7.5.0 编译安装路径&#xff1a;/usr/local cmake: 3.10.2 所需要的源码包我已经打包放到我的资源。 2021年1月份已经写过一篇Ubuntu 编译安装的帖子F…

Android OpenGL ES 2.0入门实践

本文既然是入门实践&#xff0c;就先从简单的2D图形开始&#xff0c;首先&#xff0c;参考两篇官方文档搭建个框架&#xff0c;便于写OpenGL ES相关的代码&#xff1a;构建 OpenGL ES 环境、OpenGL ES 2.0 及更高版本中的投影和相机视图。 先上代码&#xff0c;代码效果如下图…

MQ——进阶

文章目录 消息可靠性生产者消息确认消息持久化消费者确认演示none模式演示auto模式 失败重试机制本地重试失败策略 死信交换机初始死信交换机TTL延迟队列安装DelayExchange插件使用DelayExchange 惰性队列消息堆积问题惰性队列 MQ集群集群分类普通集群镜像模式镜像模式的配置 仲…

私有云:【6】VCenter安装SqlServer

私有云&#xff1a;【6】VCenter安装SqlServer 1、VCenter安装SqlServer1.1、通过模板创建虚拟机1.2、安装sqlserver服务 2、搭建sqlserver群集2.1、安装群集功能2.2、在ad域服务器创建共享文件夹&#xff0c;供集群选举使用 3、创建故障转移群集【只需安装一台即可】3.1、创建…

操作系统 --- 存储器管理

一、简答题 1.存储器管理的基本任务&#xff0c;是为多道程序的并发执行提供良好的存储器环境。请问好的存储器环境”应包含哪几个方面&#xff1f; 答&#xff1a; 2.内存保护是否可以完全由软件实现&#xff1f;为什么&#xff1f; 答&#xff1a;内存保护的主要任务是确保每…

LeetCode热题100——双指针

双指针 1.移动零2.盛最多水的容器3.三数之和 1.移动零 给定一个数组 nums&#xff0c;编写一个函数将所有 0 移动到数组的末尾&#xff0c;同时保持非零元素的相对顺序。 // 题解&#xff1a;使用双指针&#xff0c;其中快指针指向非零元素&#xff0c;慢指针指向首个零元素下…

msvcp120.dll怎么修复,五种方法教你如何修复msvcp120.dll文件

在运行软件时&#xff0c;我们常常会遇到一些错误提示&#xff0c;其中之一就是“由于找不到msvcp120.dll无法继续执行代码”。这个错误通常发生在使用Microsoft Visual C 2013编译的程序运行时。本文将介绍5种修复这个问题的方法&#xff0c;帮助各位解决这个困扰。 方法一、使…

如何使用批量重命名的方法替换重复文件名内容

在文件管理过程中&#xff0c;我们有时会遇到文件名中包含相同部分内容的情况&#xff0c;这不仅会使文件显得混乱&#xff0c;而且还会给文件检索和使用带来不便。为了解决这个问题&#xff0c;我们可以使用云炫文件管理器批量重命名进行批量替换。下面是如何使用这种方法进行…

RT-Thread入门

1、初识RT-Thread RT-Thread&#xff0c;全称是Real Time-Thread&#xff0c;即嵌入式实时多线程操作系统。其基本属性之一是支持多任务&#xff0c;但是允许多任务同时运行&#xff0c;但是并不是意味着处理器在同一时刻真的执行了多个任务。实际上&#xff0c;一个处理器核心…

mac 安装homebrew ,golang

mac 安装homebrew ,golang 安装homebrew安装golang选择 apple arm 版本安装配置环境变量 安装homebrew /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"回车执行指令后&#xff0c;根据提示操作。具体包括以下提示操作&am…

深度学习(4)---生成式对抗网络(GAN)

文章目录 一、原理讲述1.1 概念讲解1.2 生成模型和判别模型 二、训练过程2.1 训练原理2.2 损失函数 三、应用 一、原理讲述 1.1 概念讲解 1. 生成式对抗网络&#xff08;Generative Adversarial Network&#xff0c;GAN&#xff09;是一种深度学习模型&#xff0c;是近年来复杂…

vue vant van-uploader使用compressorjs解决拍照上传的图片被旋转 90 度方法,图片压缩上传

vue vant van-uploader使用compressorjs解决拍照上传的图片被旋转 90 度方法&#xff0c;图片压缩上传_van-uploader 拍照上传服务器后图片翻转-CSDN博客文章浏览阅读3.2k次&#xff0c;点赞4次&#xff0c;收藏6次。van-uploader使用compressorjs解决拍照上传的图片被旋转 90 …