都2023年了,不会还有人不会设计软件测试用例叭?不会吧不会吧

news2024/11/29 20:41:42

一、概念

测试用例的基本概念:

测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素 。

主要步骤:

测试环境——测试步骤——测试数据——预期结果

网易邮箱注册成功测试用例

标题:邮箱注册,邮箱输入项测试:

简单案例:

二、测试用例总体设计方案

基于需求的设计,RBT( Requirements-Based Testing)是基于需求的测试方法,会使测试更加有效,因为 它使测试专注于质量问题产生的根源,即需求。

1、从整体角度设计分析测试用例:基于需求

用户需求——(整理出软件需求)产品设计文档(产品经理)——开发——测试——上线

(1)、验证需求的正确性和合理性

(2)、分析需求、细化需求、从需求中分解出测试项 ,根据测试项找出功能,进行测试用例的编写。

案例:

用户需求:

购买3000块钱以内的华为智能手机 。

假如说:有一个活动秒杀 5999 为1块钱,这样也是发河价格的。

测试用例:

(1)合理

(2)分析:

价格:<=3000;

品牌:华为

手机类型:智能手机

手机基本功能:…

软件需求:

事件流

若用户未收到激活邮件,可在登录界面录入电子邮件及密码后,再次发送激活邮件 。

每次发送的激活邮件,仅在发送邮件后起24小时之内有效,超过24小时后需重新发送激活邮件

测试用例:

1、用户收到邮件,不在此发送激活邮件;

​ 用户收到邮件,再次录入电子邮件及密码,提示:已激活邮件;

​ 用户未收到邮件,再次发送激活邮件;

2、24小时以内,有效

​ 大于等于24小时 ,无效激活邮件

​ 边界值:24小时点击激活,25小时 重新发送邮件

容易忽略:24小时之内已经点击激活邮件,超过24小时又重新激活,将提示“系统已激活:。

测试激活邮寄的基本功能:

  • 邮件能不能打开
  • 邮件的格式,内容够是否正确;
  • 邮件里面的激活链接是否正常;

这些是逻辑来测试用例。

1、等价类 ☆

等价类就是把输入划分成若干个等价类,从每一个等价类中取出一个测试用例,如果这个测试用例能够测试通过,那么我们就说这个测试用例代表的等价类测试通过。(衣柜分类衣服的例子)

通俗来讲,具有某种共同特征的数据集合进行划分!!

使用场景:测试用例无法穷举,我们无法一样测试。

有效等价类:符合程序规格说明的数据集合;

无效等价类:不符合软件需求规格说明的数据集合;

步骤:

1、明确需求。

2、确定有效等价类还是无效等价类

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

案例一:

需求:验证qq账号的合法性

要求:6~8为自然数

案例一:

案例二(电话):

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

要求:

1.区号:空或者是三位数字

2.前缀码:非“O”且非“1”开头的三位数字

3.后缀码:四位数字

2、边界值 ☆

针对输入和输出的边界进行测试用例的设计。

案例:

购买3000元以内的华为只能手机

价格:<=3000, 3001就不行

等价类:

有效等价类:小于3000

无效等价类:大于3000

边界值:2999 3000 3001

2.1 边界值法设计用例步骤

1、明确需求

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

3、确定边界范围值

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

案例一:

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

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

补充:边界范围节点:

1、上点,边界上的点

2、离点,举例边界上的点最近的点(刚好大于,刚好小于)遵循 开内闭外 原则

3、内点,范围内的点。

优化:

边界上的点:开内闭外。

3、判定表 ☆

解决多条件的依赖问题。

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

2、组成:

  • 条件桩:列出问题中的所有条件
  • 动作桩:列出问题中可能采取的操作
  • 条件项:列出条件对应的取值,所有可能条件下的真假值
  • 动作项:列出条件项的、各种取值情况下应该采取的动作结果。

规则:

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

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

3、步骤:

​ 1)、明确需求

​ 2)、画出判定表

  • 列出条件桩和动作桩
  • 填写条件项,对条件进行全组合3)、根据条件项的组合确定动作项
  • 简化、合并相似规则(有相同的动作)

​ 3)、根据规则编写测试用例

4、案例一:

应用场景:

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

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

3、提示:如果碰到项目中多条件组合大于4个相互依赖,可以使用

(正交表和因果图来实现)

4、因果图

当输入很多,并且不同的输入组合对应这不同的输出,这个时候用因果图法来分析不同输入组合和输出之间的对应关系。(相当于逻辑图)

逻辑关系:恒等 与 或 非

因果图法设计测试用例的步骤:

1、分析出所有的输入和输出;

2、找出输出和输出之间的关系;

3、画因果图;

4、画判定图;

5、把判定表转换成测试用例;

案例:淘宝618活动,订单满300,或者有红包,测提交订单后享受优惠。

1、输入和输出

输入:金额<300,金额>300, 金额==300,有红包,无红包,提交订单

输出:享受优惠,不享受优惠

2、输入和输出之间的关系:

订单已提交,金额大于等于300 ,无红包,享受优惠;

订单已提交,金额大于等于300 ,有红包,享受优惠;

订单已提交,金额小于300,有红包,享受优惠;

订单已提交,金额小于300,无红包,无优惠;

订单没有提交,无优惠;

3、画因果图:

4、根据因果图画判定表。

5、场景设计法 ☆

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。该方法可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,是测试

用例更容易理解和执行。

典型的应用是是用业务流把各个孤立的功能点串起来,为测试人员建立整体业务感觉,从而避免陷入功能细节忽视业务流程要点的错误倾向.

案例:

ATM机取款场景

功能点:插卡——输入密码——输入钱数——取款(主要功能,核心流程)

具体功能点:

(1)、插卡:插反,插错卡(饭卡,会员卡,不是本行卡),注销,消磁,冻结,有不良记录的卡

(2)、输入密码:密码错误,密码输入正确,密码三次错误,第一次密码错第二次密码对,前两次密码错第三次密码对

(3)、输入钱数:钱数<=银行卡余额,输入钱数>=银行卡余额,输入的不是整百,ATM机余额不足,超过每日取款限额,超过每次取款最大上限,超过每次取款最大次数。

(4)、取款:确认取款钱数后,ATM机吐出对应钱数;ATM机吐钞规则,操作超时,长时间不吐钱;

(5)、其他:ATM机断网,断电,出现故障;超时,所有的操作如果超时,那么会出现吞卡(安全机制)

每个具体功能点都是可以写测试用例的。

如:1、插卡插反:第二次重新插入正确插入,仍可以正常取钱;卡冻结/注销,无法正常取钱;

​ 2、输入三次密码错误,账户冻结,无法取款;前两次密码错第三次密码对,仍可以正常取钱

测试用例:

6、错误猜测法

根据测试人员的直觉,知识,经验,判断软件的那一块有问题,专门针对性的设计测试用例,适合作为一种补充设计测试用例的方法。

如:1、验证码大小写不区分;

​ 2、空格搜索,把输入的搜索信息前后空格忽略;

7、正交排列

研究多因素多水平的一种方法,根据正交性选出最优的水平组合进行实验,用实验的结果来分析这个测试用例的结果。(选择最优的组合)

因素:输入的变量;

水平:因素的取值;

因素数:变量的个数;

水平数:变量取值的最大个数;

正交表的性质:

1、每一列不同数据出现的次数一样多;

2、任意两列各数据组合出现的次数一样多;

正交表设计测试用例的步骤:

1、找出所有的输入变量(因素),确定因素数;

2、确定变量的取值,确定水平数;

3、确定正交表的行和列;

4、根据正交表的性质去填写正交表

5、把正交表的每一行对应写成一个测试用例;

6、补充你认为重要的但没有体现在正交表中的测试用例;

例子:姓名,邮箱,密码,确认密码,验证码(输入和不输入)——不用正交表要列出2^5=32情况

1、因素:5

2、水平数:2(输入和不输入)

3、行:(水平数-1)*因素数+1=6

​ 列:因素数:5

4、填写正交表

5、测试用例:

(1)、姓名输入,邮箱不输入,密码输入,确认密码输入,验证码不输入;

(2)、姓名输入,邮箱输入,密码不输入,确认密码不输入,验证码输入;

(3)、姓名输入,邮箱输入,密码输入,确认密码不输入,验证码不输入;

(4)、姓名不输入,邮箱不输入,密码不输入,确认密码输入,验证码输入;

(5)、姓名输不不入,邮箱输入,密码输入,确认密码输入,验证码输入;

(6)、姓名不输入,邮箱输入,密码不输入,确认密码不输入,验证码不输入;

三、实际操作中注意的点

3.1测试用例的注意点

作用:方便评审,方便执行

1、用例标题:预期结果(测试点)

2、验证码测试点:为空,正确,错误,过期

3、前置条件和测试步骤,测试步骤是按前置条件后进行的,要么前置条件写的多,要么测试步骤写的多。

合格测试用例标题:

最后

最实用的办法,直接对着用例模板做填空题!

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

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

相关文章

有关YOLOV5在测试时,图片大小被调整的问题

执行detect.py文件&#xff0c;在运行栏中出现以下&#xff1a; detect: weightsyolov5s.pt, sourcedata\images, datadata\coco128.yaml, imgsz[640, 640], conf_thres0.25, iou_thres0.45, max_det1000, device, view_imgFalse, save_txtFalse, save_confFalse, save_cropFa…

JDK 新特性深度分析,但我用Java 8

官方文档链接&#xff1a;https://openjdk.org/projects/jdk/21/ 下载链接&#xff1a;https://www.oracle.com/cn/java/technologies/downloads/#jdk21-windows 1、介绍 JDK21 是2023.09.19发布的正式版 其他版本的含义&#xff1a; Alpha&#xff1a;软件或系统的内部测试版…

SpringBoot源码透彻解析—自动装配

花点时间找到程序入口&#xff1a; 整个自动装配的流程总结如下&#xff1a; bean工厂后置处理器(ConfigurationClassPostProcessor) 扫描spring.factories和spring-autoconfigure-metadata.properties两个文件&#xff0c;将文件中的自动装配类信息抽象成Con…

Kubernetes-网络插件

目录 一、flannel网络插件 二、calico网络插件 1、部署 2、网络策略 &#xff08;1&#xff09;限制pod流量 &#xff08;2&#xff09;限制namespace流量 &#xff08;3&#xff09;同时限制namespace和pod &#xff08;4&#xff09;限制集群外部流量 一、flannel网络…

518抽奖软件,安全稳定,不怕手抖误按键

518抽奖软件简介 518抽奖软件&#xff0c;518我要发&#xff0c;超好用的年会抽奖软件&#xff0c;简约设计风格。 包含文字号码抽奖、照片抽奖两种模式&#xff0c;支持姓名抽奖、号码抽奖、数字抽奖、照片抽奖。(www.518cj.net) 防误按功能 入口&#xff1a; 主界面上点右…

node复制当前目录下的文件夹到另一层目录(包含多层文件夹嵌套)

前段时间在跟进node项目时有个node项目的需求&#xff0c;然后上线流程是把前端build后的文件夹放到后端仓库的静态资源目录下&#xff0c;再把后端代码发布上线。这样做的好处是在前端页面调用接口时&#xff0c;可以直接 /xxx来调用&#xff08;浏览器会自动把域名补全&#…

Spring系统之IOC与AOP

前言 Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 IOC 1.IOC的概念 控制反转(IoCInversion of Control)IoC&#xff0c;用白话来讲&#xff0c;就是由容器控制程序之间的&#xff08;依赖&#xff09;关系&#xff0c;而非传统实现中&#xff0c;由程序代码…

Locust单机多核压测,以及主从节点的数据通信处理

一、背景 这还是2个月前做的一次接口性能测试&#xff0c;关于locust脚本的单机多核运行&#xff0c;以及主从节点之间的数据通信。 先简单交代下背景&#xff0c;在APP上线之前&#xff0c;需要对登录接口进行性能测试。经过评估&#xff0c;我还是优先选择了locust来进行脚…

2023我和云栖有个约会

时间&#xff1a;2023.11.1 地点&#xff1a;云栖小镇 事件&#xff1a;约会 昨天刚在网上看到了有阿姨在云栖大会给自己女儿相亲的照片&#xff0c;今天直接就赶了过去。约会了一整天&#xff0c;虽然很累&#xff0c;但真的很值得。由于是第一次和云栖约会&#xff0c;那就…

“深入理解Nginx的负载均衡与动静分离“

目录 引言一、Nginx简介1. Nginx的基本概念2. Nginx的特点3. Nginx的安装配置 二、Nginx搭载负载均衡三、前端项目打包四、Nginx部署前后端分离项目&#xff0c;同时实现负载均衡和动静分离总结 引言 在现代互联网应用中&#xff0c;高性能和可扩展性是至关重要的。Nginx作为一…

初出茅庐的小李博客之STCW15408AS单片机串口1使用记录

STCW15408AS单片机串口1使用记录 资源介绍&#xff1a; STC15W401AS系列单片机是STC生产的单时钟/机器周期(1T)的单片机&#xff0c;是宽电压/高可靠/低功耗/超强抗干扰的新一代8051单片机&#xff0c;采用STC第九代加密技术&#xff0c;无法解密&#xff0c; 代码完全兼容传…

node使用fs模块(四)—— 文件夹的使用(创建、读取、删除)

文章目录 前言一、文件的创建1.参数2.基本使用 二、文件的读取1.参数2.读取文件的基本使用3.读取文件的递归使用&#xff08;option中添加recursive为true&#xff09; 三、文件的删除1. 参数2. 基本使用&#xff08;删除文件夹&#xff09;3. 递归删除文件夹 前言 创建、读取…

学习时遇到的错误

1. pycharm中使用ssh远程连接的jupyter时&#xff0c;出现***端口已经被占用的情况 办法一&#xff1a;更换端口&#xff0c;将端口更换为其他 办法二&#xff1a;重启远程终端服务器 2. 关于wandb&#xff0c;在pycharm中调用了wandb.init()初始化函数&#xff0c;中途关闭…

MolFormer分子预训练模型

Large-scale chemical language representations capture molecular structure and properties&#xff08;2022&#xff0c;NMI&#xff09; 和原本transformer encoder的不同&#xff1a; 采用linear attention mechanismrotary positional embedding 模型 transformer e…

x3daudio17.dll丢失是什么原因?x3daudio1_7.dll怎么解决?(修复教程分享)

在我多年的电脑使用经历中&#xff0c;我曾经遇到过x3daudio1_7.dll缺失的问题。这个问题让我苦恼了很久&#xff0c;但最终我还是找到了4种有效的修复方法。今天&#xff0c;我想和大家分享一下这些方法&#xff0c;希望对你们有所帮助。 首先&#xff0c;我要讲述一下我遇到…

跟着Nature Communications学作图:纹理柱状图+添加显著性标签!

&#x1f4cb;文章目录 复现图片设置工作路径和加载相关R包读取数据集数据可视化计算均值和标准差 计算均值和标准差方差分析组间t-test 图a可视化过程图b可视化过程合并图ab 跟着「Nature Communications」学作图&#xff0c;今天主要通过复刻NC文章中的一张主图来巩固先前分享…

基础课15——语音标注

语音数据标注是对语音数据进行处理和分析的过程&#xff0c;目的是让人工智能系统能够理解和识别语音中的信息。这个过程包括了对语音信号的预处理、特征提取、标注等步骤。 在语音数据标注中&#xff0c;标注员需要对语音数据进行分类、切分、转写等操作&#xff0c;让人工智…

C++ 多线程之OpenMP并行编程使用详解

C 多线程之OpenMP并行编程使用详解 总结OpenMP使用详解本文转载自&#xff1a;https://blog.csdn.net/AAAA202012/article/details/123665617?spm1001.2014.3001.5506 1.总览 OpenMP(Open Multi-Processing)是一种用于共享内存并行系统的多线程程序设计方案&#xff0c;支持…

软件测试之用例篇(万能公式、具体方法)

目录 1. 概念 2. 万能公式 3.具体设计测试用例的方法 &#xff08;1&#xff09;等价类 &#xff08;2&#xff09;边界值 &#xff08;3&#xff09;判定表(因果图) &#xff08;4&#xff09;场景设计法 &#xff08;5&#xff09;正交法 如何使用 allparis 生成正交…

绕开网站反爬虫原理及实战

1.摘要 在本文中,我首先对网站常用的反爬虫和反自动化技术做了一个梳理, 并对可能能够绕过这些反爬技术的开源库chromedp所使用的技术分拆做一个介绍, 最后利用chromedp库对一个测试网站做了爬虫测试, 并利用chromedp库绕开了爬虫限制,成功通过程序自动获取到信息。在测试过程…