【软件测试三】测试用例篇

news2024/11/18 14:18:34

目录

1.测试用例的基本要素 

 2.测试用例的给我们带来的好处

3.设计测试用例的万能公式

3.1.水杯的测试用例

3.2.微信发送朋友圈的测试用例

4.设计测试用例的方法

基于需求设计的测试用例

1.等价类

2.边界值

3.判定表

4.正交法

1.正交表表达式

2.特点:

3.步骤

4.使用allpairs生成正交表

5.场景设计法

1.确定是什么场景

2.确定主事件流,次事件流

3.将事件流转化为测试用例

6.错误猜测法

5.案例

1.模拟暗网

2.cd linus命令测试

 3.测试一个接口


1.测试用例的基本要素 

测试用例(Test Case)是为了实施测试而向被测试的系统提供的一组集合,
这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素
好的测试用例是一个不熟悉业务的人也能依据用例来很快的进行测试
评价测试用例的标准:对比好坏用例的评价标准

 2.测试用例的给我们带来的好处

3.设计测试用例的万能公式

功能测试,界面测试,性能测试,兼容性测试,易用性测试,安全性测试

以水杯为例:

功能测试:梳理水杯的功能都有什么

  • 界面测试:大小,形状,颜色,材质,外观(整体来看,眼睛能看到的东西都要测试、、、
  • 文字/输入框/图片/下拉框--->大小,颜色,形状,布局,文字是否存在错别字,折叠等)
  • 性能测试:耐热,抗冻,抗摔,百般摧残
  • 兼容性测试:不同版本不同环境(系统,终端,软件,浏览器)
  • 易用性测试:是否简单易上手(用户第一次使用是否可以很快上手)
  • 安全性测试:其本身是否有毒有害,外界影响后是否有毒有害,软件功能(sql注入,xss漏洞,垂直越权,水平越权)

3.1.水杯的测试用例

 

 

3.2.微信发送朋友圈的测试用例

 

4.设计测试用例的方法

基于需求设计的测试用例

基于需求设计测试用例是测试设计和开发测试用例的基础,第一步就要分析测试需求,验证需求是否正 确、完整、无二义性,并且逻辑自洽。在需求正确的基础上细化测试需求,从测试需求提炼出一个个测 试点或者测试项,然后根据每一个测试点进行测试用例的设计
功能测试需求包括以 下,通常包括以下几个方面。
(1)系统各个功能界面的验证
(2)借助业务把功能串起来进行测试
(3)功能的一致性,交互性(多功能互操作)的测试
(4)系统的不同输入,结果输出的业务数据测试。
(5)功能的错误操作,异常操作的测试(属于负面测试)
(6)功能实现用到的算法验证,有时需要用运代码评审
(7)用户操作的易用性,用户体验,往往结合功能测试同时验证

1.等价类

依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题

分区分块--->使用较少的测试用例达到符合的系统测试覆盖(解决了穷举法的缺陷)

  • 有效等价类:对于程序的规格说明书是合理的、有意义的输入数据构成的集合,
  • 无效等价类:根据需求说明书,不满足需求的集合

2.边界值

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

  • 边界值:符合需求的边界上的值
  • 次边界值:不符合需求的边界上的值

3.判定表

因果图画判定表很多余,而且因果图实际在设计测试用例的时候没有多大意义

  • (1)分析所有可能的输入和可能的输出。
  • (2)找出输入与输出之间的对应关系。
  • (3)画判定表。
  • (4)把判定表对应到每一个测试用例。
假设业务单据的处理规则为:订单已提交,订单合计金额大于300元或有红包,则有优惠”
输入条件:“订单已提交,订单合计金额大于300元,有红包
输出条件:有优惠,无优惠

4.正交法

1.正交表表达式

L4(2^3)

  • L:正交表
  • 4:试验次数(测试用例的个数)
  • 3:因素数(输入条件)
  • 2:水平数(输入条件的可选项)

2.特点:

1.每一列中数字出现的次数相同

2.任意两列数字排序方式齐全且均衡

3.步骤

  1. 找出因素数和水平数
  2. 使用allpairs生成正交表
  3. 根据正交表编写测试用例
  4. 补充测试用例

4.使用allpairs生成正交表

1.确认因素数和水平数,将其写入Excel

2.在pairs根目录下创建text文本文件,将Excel表中的数据复制粘贴 

3. 打开cmd,cd到allpairs文件夹路径下,找到allpairs.exe

4.在cmd上执行命令allpairs.exe 源文件>目标文件

 

5.场景设计法

1.确定是什么场景

例如:ATM取款场景

2.确定主事件流,次事件流

 

 

3.将事件流转化为测试用例

6.错误猜测法

错误猜测法是对被测试软件设计的理解,过往的经验,以及直觉,推断出软件可能存在的缺陷,从而针对性的设计测试用例的方法

缺点:难以系统化,过度依赖个人能力

5.案例

1.模拟暗网

 

  修改其中参数即可

第一行表示传输1kb数据所需要的时间

第二行表示每下载1kb数据所需要的时间

2.cd linus命令测试

 3.测试一个接口

  • 接口的请求方法(get, post)
  • 参数全部填写, 参数全部不填写, 参数部分填写
  • 参数类型: 符合接口的参数类型, 不符合接口的参数类型等

 

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

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

相关文章

【OSI体系结构】网络杂谈(14)之OSI体系结构精准理解

涉及知识点 什么是OSI体系结构,OSI体系结构的概念,网络协议三要素,应用层,表示层,会话层,传输层,表示层,数据链路层,物理层,开放系统互连参考模型各层的功能…

CRM系统助力医疗机构数字化营销全链路,让获客和留存更简单

在数字经济背景下,医疗行业面临经营、管理、组织变革升级的迫切需求。伴随云计算、大数据、物联网、5G、人工智能等数字化技术的创新应用,加速推动了国内医疗机构数字化转型地落地。后疫情时代下,如何展望未来、寻找医疗健康行业重回增长轨道…

原生DOM与组件绑定 原生DOM事件和自定义事件

1. 原生DOM可以绑定原生DOM系统事件 2. 组件标签可以绑定系统事件(不起作用,因为属于自定义事件)------ .native (可以把自定义事件变为原生DOM事件) 3. 原生DOM绑定自定义事件 ---无意义:因为没有办法触…

企业部署MES管理系统需要配置专业团队吗

随着数字化转型的推进,越来越多的企业开始考虑部署MES生产管理系统来提高生产效率和管理水平。在部署制造企业MES系统时,是否需要配置专业团队是一个关键问题。本文将探讨企业部署MES管理系统所需的专业团队的重要性,并提供一些建议。 全球制…

微服务进阶篇

文章目录 1、SpringCloud面试快速答法 1.1、Eureka1.2、Nacos面试快速答法 1.3、Ribbon负载小总结面试快速答法 1.4、服务雪崩小总结面试快速答法 1.5、服务监控小总结面试快速答法 2、业务相关2.1、限流Nginx限流网关限流小总结面试快速答法 2.2、分布式事务分布式理论CAP、BA…

WEB漏洞-XXEXML之利用检测绕过全解(39)

#概念 xml:xml被设计成传输和储存数据,XML文档结构包括XML声明、DTD文档类型定义(可选)、文档元素,其焦点是数据的内容。就类似于一种数据的格式,代码类的一些东西; xxe:是xml上面的一个漏洞,…

STM32F407 基本定时器配置输出PWM方波

介绍STM32F407定时器PWM波形输出配置方式。 通过逻辑分析采集波形数据进行可视化显示对比。 【1】定时器PWM功能介绍 STM32F4 的定时器除了 TIM6 和 7。其他的定时器都可以用来产生 PWM 输出。其中高级定时器 TIM1 和 TIM8 可以同时产生多达 7 路的 PWM 输出。而通用定时器也…

Vmware 虚拟机win7不识别usb3.0/3.1解决方案

问题现象: VMware安装的Win7系统,虚拟机设置USB控制器已打开,可以识别USB2.0U盘,不识别USB3.0/3.1U盘( 本人使用的金士顿U3.1)。 尝试方案: 1:检查本机系统Vmware USB 服务是否开启,重启虚拟机…

基于Ant DesignPro Vue + SpringBoot 前后端分离 - 后端微服化 + 接口网关 + Nacos + Sentinel

基于Ant DesignPro Vue SpringBoot 前后端分离 - 后端微服化 接口网关 Nacos Sentinel 通过Ant DesignPro Vue SpringBoot 搭建的后台管理系统后,实现了前后端分离,并实现了登录认证,认证成功后返回该用户相应权限范围内可见的菜单。 后…

小白也能学会!人物百度百科怎么创建?5分钟教会你怎么创建人物百度百科

在当今互联网的时代,越来越多的小伙伴都有了打造个人IP意识,把个人形象展示出来,形成一张网络名片。人物百度百科就是是我们一个不错的选择,它具有体面和象征性。大家都知道在搜索引擎上随便搜索一个明星的名字,都可以…

【Servlet学习五】实现一个简单的数据库版本的留言墙!

目录 一、前期环境搭建 二、具体后端代码实现 🌈1、创建数据库 🌈2、创建message类:定义属性和相应的get和set方法 🌈3、创建JDBC工具类:DBUtil文件,定义一些数据库的基本操作 🌈4、创建m…

【doxygen】doxygen 支持宏判断

文章目录 配置 doxygen代码中判断宏 配置 doxygen 定义自己的宏 HAL_CONFIG_USB 代码中判断宏 if HAL_CONFIG_USB your contents endif需要注意的是 Doxygen不支持直接的 elif 指令。Doxygen只提供了 if 和 endif 指令来实现条件性文档生成。如果您需要多个条件进行判断&am…

VRRP协议是什么?详解它的工作原理

作者:Insist-- 个人主页:insist--个人主页 作者会持续更新网络知识和python基础知识,期待你的关注 前言 本文将讲解VRRP是什么,以及它的工作原理,优点以及基本概念。 目录 一、VRRP协议是什么? 二、VRR…

Kubernetes·陈述式声明式资源管理

陈述式资源管理方法: 1.kubernetes 集群管理集群资源的唯一入口是通过相应的方法调用 apiserver 的接口 2.kubectl 是官方的CLI命令行工具,用于与 apiserver 进行通信,将用户在命令行输入的命令,组织并转化为 apiserver 能识别的信…

《PCL+QT》各版本环境配置问题总结

PCL各版本QT配置问题 一、资源下载1、vs2015 -pcl1.8.1 - qt5.12 -vtk82、 vs2019-pcl 1.11.1-qt 5.12-vtk8.23、 vs2019-pcl1.12.1-qt 6.2.4-vtk9.14 、vs2022-pcl1.13.0-qt 6.2.4-vtk9.2 二、版本1、 vs2015 -pcl1.8.1 - qt5.12 -vtk82、 vs2019-pcl 1.11.1-qt 5.12-vtk8.23、…

【C/C++】解析 类成员函数和this指针

创作不易&#xff0c;本篇文章如果帮助到了你&#xff0c;还请点赞 关注支持一下♡>&#x16966;<)!! 主页专栏有更多知识&#xff0c;如有疑问欢迎大家指正讨论&#xff0c;共同进步&#xff01; &#x1f525;c系列专栏&#xff1a;C/C零基础到精通 &#x1f525; 给大…

RuntimeError: CUDA error: an illegal memory access was encountered

在跑一个Transformer的代码时&#xff0c;出现了这个错误。这个错误信息非常奇怪&#xff0c;通过Debug发现&#xff0c;模型的前向传播是正常的&#xff0c;损失也能计算出来&#xff0c;但是一开始反向传播就出问题了。经过尝试&#xff0c;发现是batch_size过大&#xff0c;…

SpringMvc中文件上传

文章目录 1.导入文件上传所需要的jar包 2. 配置文件解析器 3.写一个前端页面 4.写后台程序 1.导入文件上传所需要的jar包 <dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>1.3.…

UTONMOS:元宇宙究竟是什么?

元宇宙其实是一个很好玩的事&#xff0c;就在前几年&#xff0c;很多人还认为当时元宇宙的概念市场上被叫做伪概念、纯营销概念&#xff0c;很多行业里的朋友们都说这是骗子才提的。 但是经过半年的发酵和发展&#xff0c;现在大家对“元宇宙”的认知就很不同了&#xff0c;因…

C++数据结构笔记(2)线性表顺序存储的底层实现

本章总结单链表的顺序存储方式及其C实现&#xff0c;重点的理论只需要熟背以下3条&#xff1a; 1.线性表是0个或者多个数据元素的有限序列&#xff0c;其中数据元素类型相同 2.线性表可以逐项访问和顺序存储 3.有顺序存储和链式存储两种存储方式。 接下来&#xff0c;通过动…