【测试开发】测试用例的设计方法

目录

一. 测试用例的基本要素  

二. 测试用例的设计方法

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

水杯测试用例

 2. 基于需求的设计方法

邮箱注册测试用例 

 3. 等价类方法

有效等价类和无效等价类

 等价类思想设计测试用例步骤

 4. 边界值方法

边界值思想设计测试用例步骤

 5. 判定表方法

判定表思想设计测试用例步骤 

6. 正交表法

正交表思想设计测试用例步骤 

7. 场景设计法 


在熟悉了测试的流程后,就可以开始来设计测试用例了。

一. 测试用例的基本要素  

测试用例可以提高测试效率,节省测试时间;测试用例也是进行自动化测试的前提;

测试用例的基本要素主要包括:测试环境,测试数据,操作步骤,预期结果等。 

应注意:测试用例的基本要素不包括执行结果,因为执行结果是需要执行完测试用例才能知道的,没有测试用例,自然就还没有执行结果。 

二. 测试用例的设计方法

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

可以主要围绕以下几个方面来进行:功能,性能,界面,易用,兼容,安全,网络,中断等;

功能

物体方面:主要描述这个物体可以干什么;

软件方面:主要描述软件实现的功能特性,拿着软件可以实现什么操作;

性能

物体方面:可以描述物体的使用寿命;

软件方面:可以描述软件的响应时间,并发数,CPU占用率等; 

界面

物体方面:可以描述物体的外表,材质,大小,容量等;

软件方面: 软件的界面,字体大小颜色,页面的整体布局;

易用

物体方面:可以从人性化的方面去思考,例如杯子的把柄易于我们放取;

软件方面:操作简单,使用流畅;

兼容

物体方面:考虑物体除了本质的功能外,还有什么其他的功能;

软件方面: 可以考虑软件兼容 操作系统的不同版本,设备的不同型号,浏览器的不同版本。

安全

物体方面:考虑物体的材质是否有毒,会不会对人体健康造成损害;

软件方面:考虑到软件是否有信息泄露,漏洞出现,是否有有毒脚本入侵,以及密码是否有加密保存,加密传输,还有对于权限的控制,sql注入等;

网络

主要考虑软件:是否适用于 2G~5G,弱网,WiFi; 

水杯测试用例

此处根据万能公式对于 水杯 做出一个测试用例: 

 2. 基于需求的设计方法

基于需求设计测试用例是测试设计和开发测试用例的基础,第一步就要分析测试需求, 在分析测试需求时,一般分为功能测试需求和非功能测试需求 验证需求是否正确、完整。在需求正确的基础上细化测试需求,从测试需求提炼出一个个测 试点或者测试项,然后根据每一个测试点进行测试用例的设计
整体过程就是:需求文档 -> 掌握需求 -> 基于需求设计测试用例;
而基于需求的设计方法,是一种头脑风暴式的,只针对需求来分析,对产品进行一个大概的测试用例的设计。还不够全面,因此就需要到后面一些具体的设计测试用例的方法。

邮箱注册测试用例 

此处以 邮箱注册 为例,写一个基于需求的测试用例设计方法:

 3. 等价类方法

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

有效等价类无效等价类

有效等价类:

对于程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验证程序是否实现了规格说明中所规定的功能和性能;简单而言:就是满足用户需求输入的集合;

无效等价类: 

根据需求说明书,不满足用户需求的输入集合;

例如以下这种情况:6~15位的用户名就属于有效等价类,小于6位和大于15位的就属于无效等价类

 等价类思想设计测试用例步骤

1. 充分理解需求;

2. 划分有效等价类和无效等价类;

3. 从有效等价类中抽取一个数据进行设计测试用例,从无效等价类中抽取一个数据进行设计测试用例;

 4. 边界值方法

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

一般会涉及到三个点:

上点:边界上的点;

内点:边界内的点;

离点:边界值附近的一个点(闭区间区间外距离上点最近的一个点,开区间区间内距离上点最近的点) 

边界值思想设计测试用例步骤

1. 充分理解需求;

2. 找边界点;

3. 针对边界点设计测试用例; 

 5. 判定表方法

 判定表是一种表达逻辑判断的工具,可以把判定表对应到每一个测试用例;

 其中的关系包括:与或非,恒等(条件为真,结果一定为真);

判定表思想设计测试用例步骤 

1. 分析所有可能的输入和可能的输出;

2. 找出输入和输出之间的对应关系;

3. 设计判定表;

4. 把判定表对应到每一个测试用例; 

例如:"淘宝618活动中,订单已提交,订单合计金额大于300元或有红包的,就有优惠"

输入:订单已提交,订单金额大于300;有红包 ;输出:优惠,不优惠;

设计判定表: 

6. 正交表法

在使用前面的判定表设计测试用例,如果输入条件比较多,此时来写测试用例就会很容易出现差错。因此正交表就是用尽可能少的用例来去覆盖尽可能多的场景。

名词:

   因素:此处需求的输入变量;

   水平:变量的取值;

性质:

1. 每一列中,各个数字出现的次数一样多;

2. 任何两列中的各有序数对出现的次数都一样多;例如:

 

正交表思想设计测试用例步骤 

1. 充分理解需求;

2. 确认因素和水平;

3. 作出正交表;

4. 将正交表转换为测试用例;

5. (有时候正交表转换的测试用例不一定完整,还需要加以补充);

此处以注册为例进行讲解:姓名,邮箱,密码,确认密码,验证码必须全部输入,才能进行注册。

因素:姓名,邮箱,密码,确认密码,验证码;  水平:填写,不填写;

此处借助 allpairs 画正交表:

1. 先画出表格,将水平和因素填写入表格中,并复制到 txt 文件中:

 2. 将文件放置与 allpair.exe 相同路径下:

3. 进入cmd中,进入该路径中,执行命令:allpairs.exe 文件名 > 生成文件名

 4. 执行完后,就会得到对应的 111_result.txt 文件,文件中就有了正交表:

正交表中的 ~填写 表示这个值可以是填写也可以是不填写。

使用allpairs生成的内容,有时候不一定完整。因此还需要补充一些其他的测试用例,例如上述的正交表中,就没有一种情况是:都不填写的,所以就应该补充进去。此时一个横行就可以是一个测试用例,然后,根据这些测试用例进行测试。

allpairs的安装路径:Allpairs - Satisfice, Inc. 

7. 场景设计法 

相当于是使用一个软件的时候,对应的一个流程。

主要有两个概念:

主事件流:可以理解为用户正常使用的一些场景;

次事件流:可以理解为用户使用时出现的异常场景;

类比于 ATM取款 的场景: 

将每个事件串起来也就形成了一个场景,也就是一个测试用例;

通常情况下,需要把用户经常用到的功能模块串联到一起进行测试;

 

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

120、仿真-51单片机温湿度光照强度C02 LCD1602 报警设计(Proteus仿真+程序+元器件清单等)

方案选择 单片机的选择 方案一:STM32系列单片机控制,该型号单片机为LQFP44封装,内部资源足够用于本次设计。STM32F103系列芯片最高工作频率可达72MHZ,在存储器的01等等待周期仿真时可达到1.25Mip/MHZ(Dhrystone2.1)。内部128k字节…

基于ChatGPT上线《你说我猜》小游戏

摘要 AIGC、GPT、休闲小游戏三者可以怎么结合? AIGC、GPT与小游戏的结合为游戏体验带来了新的可能性。AIGC(Artificial Intelligence Game Content)作为一种人工智能技术,可以自动生成任务、剧情和角色对话等游戏元素&#xff0c…

【嵌入式Qt开发入门】Qt如何网络编程——建立TCP通信服务端(附项目代码)

TCP 简介 TCP 协议(Transmission Control Protocol)全称是传输控制协议是一种面向连接的、可靠的、 基于字节流的传输层通信协议。 TCP 通信必须先建立 TCP 连接,通信端分为客户端和服务端。服务端通过监听某个端口来监听是否有客户端连接到来…

Java正则表达式MatchResult的接口、Pattern类、Matcher类

Java正则表达式MatchResult的接口 java.util.regex.MatchResult接口表示匹配操作的结果。 此接口包含用于确定与正则表达式匹配的结果的查询方法。可以看到匹配边界,组和组边界,但不能通过MatchResult进行修改。 接口声明 以下是java.util.regex.Matc…

Flask结合gunicorn和nginx反向代理的生产环境部署及踩坑记录

个人博客:https://xzajyjs.cn 前言 之前自己写的flask使用gunicorn上线生产环境没有什么问题,但是最近搭建了一个现成的flask项目,当使用python直接运行时不会有问题,而使用gunicorn时则会出现一些问题。 部署过程 运行测试 这…

XUbuntu22.04之解决蓝牙鼠标不停掉线问题(追凶过程)(一百八十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 人生格言: 人生…

JDY-31 蓝牙传输模块的使用、调试和传输

JDY-31 蓝牙基于蓝牙 3.0 SPP 设计,这样可以支持 Windows、Linux、android 数据透传, 工作频段 2.4GHZ,调制方式 GFSK,最大发射功率 8db,最大发射距离 30 米,支持用户通过 AT 命令修改设备名、波特率等指令…

2023年Mac上有哪些优质的工具(一)

Downie 4 专门用来下载视频的,各大视频网站上的视频只要粘贴地址就可以直接下载,并且可以选择清晰度,再也不用受百度云的气了,下载速度非常快,让工作效率大大提高。 Xmind 大家熟知的一款思维导图软件,他…

亚马逊云科技,加速生成式AI的落地

编辑:阿冒 设计:沐由 “展望今天的世界,在机遇之外,更多事后我们看到的是前所未有的巨大挑战。事实证明,惟有通过创新、专注创新,方能挖掘和发现更多的增长机会。” 在2023亚马逊云科技中国峰会的第二天&am…

Mysql 数据库开发及企业级应用

文章目录 1、Mysql 数据库开发及企业级应用1.1、为什么要使用数据库1.1.1、数据库概念(Database)1.1.2、为什么需要数据库 1.2、程序员为什么要学习数据库1.3、数据库的选择1.3.1、主流数据库简介1.3.2、使用 MySQL 的优势1.3.3、版本选择 1.4、Windows …

万字长文 | Hadoop 上云: 存算分离架构设计与迁移实践

一面数据原有的技术架构是在线下机房中使用 CDH 构建的大数据集群。自公司成立以来,每年都保持着高速增长,业务的增长带来了数据量的剧增。 在过去几年中,我们按照每 1 到 2 年的规划扩容硬件,但往往在半年之后就不得不再次扩容。…

构建新型电力系统,需要什么样的数字能源底座?

在迈向“碳中和”的进程中,全球能源产业变革已经进入了关键时期,其中电力系统的价值从未像今天这样重要。 国际能源署数据显示,2022年全球与能源相关的二氧化碳排放量超过368亿吨,创下历史新高。其中,电力领域碳排放占…