设计测试用例

news2024/11/29 3:46:51

在这里插入图片描述

⭐️前言⭐️

这篇文章主要介绍测试用例相关的知识,一个优秀的测试人员,需要具备设计优秀测试用例的能力。

🍉欢迎点赞 👍 收藏留言评论 📝私信必回哟😁

🍉博主将持续更新学习记录收获,友友们有任何问题可以在评论区留言

🍉博客中涉及源码及博主日常练习代码均已上传GitHub


请添加图片描述

📍内容导读📍

  • 🍅1.测试用例的基本要素
  • 🍅2.设计测试用例的万能公式
    • 2.1 水杯的测试用例
    • 2.2 登录界面的测试用例
  • 🍅3.测试用例具体的设计方法
    • 3.1 等价类
    • 3.2 边界值
    • 3.3 判定表
    • 3.4 正交排列
    • 3.5 场景设计法
    • 3.6 错误猜测法

🍅1.测试用例的基本要素

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

测试用例的出现主要解决了测什么怎么测的问题;测试用例的好坏与产品测试质量具有很大的关联关系。

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

设计测试用例的万能公式,应该从以下六个方面的测试来得出结果:

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

  • 功能测试:对产品的功能设计测试用例(来源是需求文档或者日常生活经验)
  • 性能测试:开发产物:高并发、响应时间等方面的测试;物品:特性的测试。(功能测试没有问题不代表性能好)
  • 界面测试:每个元素的大小、形状、颜色、材质(仅物品有);页面跳转、文字的错别字、遮挡情况等
  • 兼容性测试:软件的不同版本是否兼容、不同浏览器、不同系统、数据的兼容性等方面
  • 易用性测试:产品是否具备简单易上手的属性
  • 安全测试:用户的隐私数据是否加密(注册场景、接口返回值等)、SQL注入问题、越权问题

兼容性测试里面需要注意:
不同的浏览器、不同的版本可能会有非常非常多,不可能所有的都去进行测试,我们应该遵循以下两条规则:
1.大部分用户使用的
2.参考数据管理平台给出的数据选项(数据后台可以检测到大部分用户使用到的浏览器/版本/手机型号)

针对上边的万能公式我们来用下边这两个例子进行练习,通常测试用例的设计都是使用思维导图的方式:

2.1 水杯的测试用例

在这里插入图片描述

2.2 登录界面的测试用例

登录界面效果图:
在这里插入图片描述

在这里插入图片描述

🍅3.测试用例具体的设计方法

3.1 等价类

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

等价类分为有效等价类无效等价类,有效等价类就是针对需求文档的要求是有意义的集合,无效等价类就是针对需求文档的要求是没有意义的集合。

使用等价类法来设计测试用例的步骤如下:
1.确认有效等价类和无效等价类
2.编写测试用例

比如在实现一个登录功能时,密码要求必须是6 ~ 18位,那么针对该功能的有效等价类就是6 ~ 18位,无效等价类就是小于6位或者大于18位。
进一步设计出的测试用例就是:

  1. 6~18位:具体是10位
  2. 小于6位:具体是3位
  3. 大于18位:具体是20位

3.2 边界值

边界值分析法通常是作为对等价类划分法的补充,其测试用例来自等价类的边界。

边界值分为有效边界无效边界

还是使用登录密码的例子,密码要求输入6 ~ 18位,那么有效边界就是6、18,无效边界就是5、19,这样就设计出了4个测试用例。

3.3 判定表

判定表是分析和表达多逻辑条件下执行不同操作的情况的工具。该方法的使用场景较少,适用于输入条件的组合对应不同的结果的场景。

使用判定表设计测试用例的步骤:
1、确认输入条件和输出条件
2、找出输入条件和输出条件之间的关系
3、画判定表
4、根据判定表编写测试用例

案例:双11活动,某购物平台活动规定,当订单使用了红包或者订单金额大于300元,则该订单是优惠订单,否则是不优惠订单。
1、确认输入条件和输出条件(字母、数字作为平替代表)
输入条件:红包(A) 金额大于300 元(B) 订单已提交(C)
输出条件:有优惠(1) 无优惠(2)
2、找出输入条件和输出条件之间的关系
先确定输入条件之间的可能组合关系,最后根据组合给出对应的输出结果。
在这里插入图片描述
3、画判定表
在这里插入图片描述
4、根据判定表编写测试用例
1)有红包并提交订单,则为有优惠订单
2)金额大于300并提交订单,则为有优惠订单
3)有红包,金额大于300并提交订单,则为有优惠订单
4)有红包,金额小于300但不提交订单,则为无优惠订单
5)无红包,金额大于300但不提交订单,则为无优惠订单
6)无红包,金额小于300,提交订单,则为无优惠订单
7)有红包,金额大于300但不提交订单,则为无优惠订单
8)无红包,金额小于300,不提交,则为无优惠订单

3.4 正交排列

正交试验设计法指从大量的试验中挑选出适量的、有代表性的点,依据“正交表”从而合理的设计出测试用例。(该方法用的也比较少)

一个正交表表示为L4(2^3),4代表的是4组试验(4个测试用例),3代表的是因素数(输入条件),2代表的是每个因素对应的水平数(输入条件的可能选项)

正交表有以下两个特性:
1)每一列中,不同的数字出现的次数相等
2)任意两列中数字的排列方式齐全且均衡
在这里插入图片描述

根据正交表设计测试用例的步骤:
1、找出元素和水平
2、生产正交表(需要借助生成正交表的工具:allpairs)
3、根据正交表来编写测试用例
4、补充可能存在遗漏但是非常重要的测试用例

案例:注册页面(预览图如下)
每个元素对应的水平都是:填写、不填写
在这里插入图片描述
1、找出因素和水平
因素:姓名、电子邮箱、密码、确认密码、验证码
水平:填写、不填写
2、使用allparis生成正交表
在这里插入图片描述
(利用allpairs生成的正交跟实际的正交表可能有出入,但是仍然不影响我们使用allpairs生成正交表)
3、根据正交表编写测试用例
4、补充可能存在遗漏但是非常重要的测试用例(如第7条测试用例)
在这里插入图片描述

使用allpairs生成正交表的步骤如下:
1、将水平和因素写入Excel
在这里插入图片描述
2、在allpairs的同级目录创建一个新的txt文件(0110.txt),复制Excel中的因素和水平,粘贴到文本(0110.txt)中,直接保存,不要做其他任何操作。

3、在cmd命令行中使用allpairs工具生成正交表
在这里插入图片描述
4、查看结果
在这里插入图片描述

3.5 场景设计法

现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。使用场景事件流描绘出事件触发时的情景有利于测试设计者设计测试用例,使测试用例更容易理解和执行。

事件流分为基本事件流和备选事件流【即正常情况和非正常情况】

以我们去ATM取钱为例,依据这个场景,描述出事件流:
在这里插入图片描述
依据事件流编写测试用例:
1、基本事件流的用例:
先插卡,输入正确的密码,选择取款功能,取钞,退卡
2、备选事件流:
1)插入卡后,卡被ATM卡住…退卡
2)插入卡后,密码错误…退卡
3)…

3.6 错误猜测法

该方法就是依据测试人员的工作经验和积累,推测出软件可能存在的缺陷,从而针对性地设计测试用例的方法。

这个方法的缺点是难以系统化,并且过度依赖个人能力。


⭐️最后的话⭐️
总结不易,希望uu们不要吝啬你们的👍哟(^U^)ノ~YO!!如有问题,欢迎评论区批评指正😁

请添加图片描述

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

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

相关文章

基于启发式蝙蝠算法、粒子群算法、花轮询算法和布谷鸟搜索算法的换热器PI控制器优化(Matlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 👨‍💻4 Matlab代码 💥1 概述 本文采用蝙蝠算法、粒子群优化、花轮询算法和布谷鸟搜索算法,对管壳式换热器的控制系统进行了建模和计算机仿真。为…

trie树入门

trie树分为普通的trie树和01trie树两者可以实现成树,很大一部分原因是:只有26个字母和01两种状态,一个结点度数不会太大,而且字符串长度和位数不会很大,更容易存储普通trie树维护了一堆字符串集合的前缀,in…

Elastic-Job分布式任务调度(4):Elastic-Job高级

1 事件追踪 Elastic-Job-Lite在配置中提供了JobEventConfiguration,支持数据库方式配置,会在数据库中自动创建JOB_EXECUTION_LOG和JOB_STATUS_TRACE_LOG两张表以及若干索引,来记录作业的相关信息。 1.1 修改Elastic-Job配置类 在ElasticJo…

电商人必读:2022中国电商市场发展洞察报告(人群、品类、品牌、玩法).pdf(附下载链接)...

省时查报告-专业、及时、全面的行研报告库省时查方案-专业、及时、全面的营销策划方案库【免费下载】2022年12月份热门报告盘点罗振宇2023年跨年演讲PPT原稿吴晓波2022年年终秀演讲PPT原稿《底层逻辑》高清配图华为2021数字化转型:从战略到执行.pdf华为项目管理金种…

如何理解操作系统

路灯很多,希望你找到自己的月亮。 作者:阿润菜菜 目录 操作系统是什么 为什么设计操作系统 理解操作系统的作用 如何理解操作系统对软硬件管理? 操作系统为什么要对软硬件资源进行管理呢? 什么是系统调用和库函数 总结 操…

【docker13】Redis面试题

面试题 问题: 1~2亿条数据需要缓存,请问如何设计这个存储案例? 回答: 单机单台不可能的,肯定是分布式存储(那如何用redis实现呢?) 解决1: 哈希取余分区 优点: 简单粗暴…

项目管理系统的类型

“系统”一词有两个不同的定义:一、定义某事如何完成的原则和程序,二、复杂整体的部分。因此,根据所使用的定义,项目管理系统也可以有两种不同的含义。 第一个是指定义如何执行项目的完整过程和原则系统。此定义包括所有项目管理以…

windows10上安装Python3.11.1

1)下载Python3.11.1 Python官网下载地址:https://www.python.org/ package意思是下载压缩安装包,installer是.exe的安装程序。 根据自己电脑需求选择,这里我选择的是64位 2)安装 双击安装包,进行安装。…

VScode编译调试C++环境

首先去官网下载vscodehttps://code.visualstudio.com/ 为了编译C/C,要使用gcc,Windows本身不支持gcc,所以有了MinGW,我用的是dev带的MinGW,也可以自己安装MinGW,或者用VS的编译器(MinGW gcc下载…

喜报!COSCon'22中国开源年会获评 2022 中国最受开发者欢迎的技术活动

2023 年 1 月 5 日,中国技术先锋年度评选2022 中国最受开发者欢迎的技术活动榜单正式发布。作为中国领先的新一代开发者社区,SegmentFault 思否依托社区活动板块(https://segmentfault.com/events)及全站数百万开发者用户行为数据…

浏览器怎么录制网页视频?3种网页视频录制方法

我们每天都会在浏览器上观看大量的视频,尤其是在爱奇艺、腾讯、哔哩哔哩等网页上。有时候就会观看到一些精彩的视频画面,就想要将这些画面给下载。那怎么把网页视频录制下来?今天本文就给大家分享3种有效的网页视频录制方法,有需要…

Linux 环境使用定时任务执行shell脚本

前言:Linux添加定时任务需要依赖crond服务,如果没有该服务,需要先安装:yum -y install crontabs 1、crond服务相关命令介绍 启动crond服务:service crond start 停止crond服务:service crond stop 重启cro…

【NI Multisim 14.0原理图设计基础——放置元器件】

目录 序言 🍉 一、放置元器件 序言 NI Multisim最突出的特点之一就是用户界面友好。它可以使电路设计者方便、快捷地使用虚拟元器件和仪器、仪表进行电路设计和仿真。 首先启动NI Multisim 14.0,打开如图所示的启动界面,完成初始化后&…

第一行代码Androiod第三版 笔记 第九章丰富你的程序,运用手机多媒体

文章目录前言一、通知渠道是什么?二、快速入门1. 书写通知2.通知有了 ,点击也没动静啊- PendingIntent3 点击完之后,通知不消失怎么办4 通过setStyle() 来是实现长文字通知5 还想放张图6 不同通知之间也有等级差异三、 使用相机7 调用相机8 从…

Linux工具学习之【gcc/g++】

✨个人主页: Yohifo 🎉所属专栏: Linux学习之旅 🎊每篇一句: 图片来源 🎃操作环境: CentOS 7.6 阿里云远程服务器 Whatever is worth doing is worth doing well. 任何值得去做的事情&#xff0…

SpringBoot中使用Swagger详解

在Spring Boot中规范的使用Swagger进行接口测试 文章目录Swagger是什么?为什么要用Swagger?准备工作创建项目编写接口验证高级配置文档注释接口过滤自定义响应SwaggerUI的使用遇到的问题:Swagger是什么? Swagger是一套基于OpenAP…

【Kubernetes 企业项目实战】02、基于 Prometheus 和 K8s 构建智能化监控告警系统(上)

目录 一、Prometheus 基本介绍 二、Prometheus 特点 样本 三、Prometheus 组件介绍 四、Prometheus 工作流程 五、Prometheus 和 zabbix 对比分析 六、Prometheus 的几种部署模式 6.1 基本高可用模式 6.2 基本高可用 远程存储 6.3 基本 HA 远程存储 联邦集群方案…

Word文档内容如何添加双删除线

我们有时需要在Word里面添加双删除线,那么怎么添加呢?看看小编是怎么操作的吧。 首先,运行speedoffice并打开Word文件,选中需要添加双删除线的内容; 然后,点击鼠标右键,在右键菜单中选择“高级…

如何搭建云进销存-采购管理系统?

1、简介 1.1、案例简介 本文将介绍,如何搭建云进销存-采购管理。 1.2、应用场景 云进销存-采购管理应用支持多种商品特性管理,灵活适配不同主流行业商品管理要求,并可通过报表追溯查询,实现差异化的品类管理及分析。 2、设置…

【Linux】-- 进程终止进程等待

目录 深入理解fork 进程终止 进程常见退出场景 退出码 总结 进程等待 进程等待必要性 wait与waitpid 阻塞等待 非阻塞等待 总结 深入理解fork 在linux中fork函数时非常重要的函数,它从已存在进程中创建一个新进程。新进程为子进程,而原进程为…