软件测试——测试用例

article/2025/11/9 15:47:29

目录

1.测试用例的基本要素

2.测试用例的设计方法

2.1基于需求的设计方法(Requirements-Based Testing,RBT)

2.2等价类划分法

2.3边界分析法                                  

2.4因果图

2.5正交排列

2.6场景设计法

2.7错误猜测法


1.测试用例的基本要素

  • 测试点表达清晰、无歧义
  • 用例的可操作性强(性能测试 并发)--->采用性能测试工具,模拟虚拟用户操作
  • 一个测试用例对应一个预期结果
  • 可维护性好
  • 对需求覆盖率高
  • 暴露程序Bug的能力强

2.测试用例的设计方法

黑盒测试设计方法:等价类、边界值、因果法、正交设计法、场景法、错误猜测法

2.1基于需求的设计方法(Requirements-Based Testing,RBT)

首先验证需求的合理性和正确性,使测试专注于质量问题产生的根源(需求),重点关注:

  • 验证需求是否正确、完整、无二义性,并且逻辑一致。根据需求提炼功能点
  • 从“黑盒”的角度,设计出充分且必要的测试集,保证设计和代码完全符合需求。

2.2等价类划分法

依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,若通过,则认为所代表的等价类测试通过实现少用例,多覆盖,解决不能穷举测试的问题。
有效等价类:对于程序的规格说明书是合理的、有意义的输入数据构成的集合,利用有效等价类验证程序是否满足功能和性能需求。只考虑输入域的分类
无效等价类:根据需求说明书,不满足需求的集合。   

2.3边界分析法                                  

对输入或输出的边界值进行测试的一种黑盒测试方法。是对等价类划分法的补充,测试用例来自等价类划分法的边界。

  • 上点:边界上的点(正好等于边界值)
  • 离点:距离上点最近的点
  • 内点:范围内的点

如:

闭区间:[20,30],上点:20,30,离点:19、31,

开区间:(20,30),上点:20,30,离点:21、29,

半开半闭:(20,30],上点:20,30,离点:21、31

半开半闭:[20,30),上点:20,30,离点:19、29

对于闭区间:上点是有效数据,离点是无效数据

对于开区间:上点无效,离点有效

不管是开和闭区间,内点都是有效数据

等价类和边界值法一般是一起进行测试用例的设计​​​​​​

2.4因果图

简化的逻辑图,表明程序输入条件(原因)和输出动作(结果)之间的相互关系。适用于分析程序输入条件的各种组合(等、与、或、非),以及输入输出之间的依赖关系。

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

  • (1)分析所有可能的输入和可能的输出。
  • (2)找出输入与输出之间的对应关系。
  • (3)画出因果图。
  • (4)把因果图转换成判定表。若有3个条件,输出有2个取值,所以表的列数为2x2x2=8
  • (5)把判定表对应到每一个测试用例。

例1:

假设业务单据的处理规则为:“淘宝618活动,提单已提交,订单合计金额大于300元或有红包,则进优惠”。

Y为真N为假12345678
输入金额>300YYNNYYNN
有红包YNYNYNYN
订单已提交YYYYNNNN
中间条件YYYNYYYN
输出优惠YYYNNNNN
不优惠NNNYYYYY

得到测试用例:

(1)订单已提交,订单金额大于300元,则优惠。
(2)订单已提交,订单金额小于等于300元,无红包,不优惠
(3)订单已提交,有红包,则优惠。
(4)订单已提交,订单金额大于300元,有红包,则优惠。
(5)订单未提交,不优惠。
(6)订单未提交,不优惠
(7)订单未提交,不优惠。
(8)订单未提交,不优惠。

例2:

根据因果图画判定表:

输入中间结果输出
21.5可乐雪碧红茶m1m20.5可乐雪碧红茶
10000101000
10100111100
10010111010
10001111001
10011111
10111111
01100110100
01010110010
01001110001

2.5正交排列

正交法的目的是为了减少用例数目。基于正交表的、高效率、快速、经济的试验。研究多因素(变量)多水平(变量的取值)的测试用例设计方法,适用于输入数据或输入数据组合量很大的场合。

正交表的构成:

 行 =(水平数-1)*因素数+1; 列 = 因素数

  • 行数(Runs):即试验的次数,用N代表。 
  • 因素数(Factors):正交表中列的个数,用C代表。
  • 水平数(Levels):任何单个因素能够取得的值的最大个数。用T代表。 

正交表的表示形式: L=行数(水平数*因素数)      L=N(TC)

正交表的性质:

  • 每一列中各数字出现的次数都一样多
  • 任何两列所构成的各有序数对出现的次数都一样多  

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

  • 1、有哪些因素(变量)
  • 2、每个因素有哪几个水平(变量的取值)
  • 3、选择一个合适的正交表
  • 4、把变量的值映射到表中
  • 5、把每一行的各因素水平的组合作为一个测试用例
  • 6、加上你认为可疑且没有在表中出现的用例组合

例题:以注册为例

1、因素:姓名、邮箱、密码、确认密码、验证码
2、水平:填写、不填写

列 = 因素 = 5

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

注意正交表内每一行数据不能一样(测试用例不能重复)!!!

案例:字符属性测试程序

窗体中有多个控件(字体、字符样式、颜色、字号),每个控件有多个取值

字体:仿宋,楷体、华文彩云

字符样式:粗体·、斜体、下划线

颜色:红色、绿色、蓝色

字号:20号、30号、40号

得到正交表:

2.6场景设计法

把各个孤立的功能点按照一定的策略组合起来,形成一个应用场景
典型的应用:用业务流把各个孤立的功能点串起来

找出场景中的每一个功能点,根据每一个功能点正常和异常的情况设计测试用例

例1:

当当网购书流程:

登陆——查找书籍——放入购物车——结算(生成订单)——支付

2.7错误猜测法

是经验丰富的测试人员喜欢使用的一种测试方法。有针对性地设计测试用例。梳理出产品以往哪些地方容易出现问题,问题越多的地方,潜在的bug也就越多。

2.8测试用例的粒度和评价

粒度:指测试用例编写的详细程度。

最简单的测试用例:是测试的纲要,仅指出要测试的内容,如探索性测试中的测试设计,仅会指出需要测试产品的哪些要素、需要达到的质量目标、需要使用的测试方法等。

 复杂的测试用例:会指定输入的每项数据,期待的结果及检验的方法, 具体到界面元素的操作步骤,指定测试的方法和工具等。带来效率问题和维护成本问题


http://chatgpt.dhexx.cn/article/t10sD2Dp.shtml

相关文章

软件测试(测试用例)—写用例无压力

软件测试——用例篇 文章目录 软件测试——用例篇一、概念二、测试用例总体设计方案1、等价类 ☆2、边界值 ☆2.1 边界值法设计用例步骤 3、判定表 ☆4、因果图5、场景设计法 ☆6、错误猜测法7、正交排列三、实际操作中注意的点3.1测试用例的注意点 四、缺陷介绍1、缺陷的判定标…

软件测试用例

测试用例 为什么要写测试用例测试用例的基本要素QQ登录的测试用例功能正常时异常时 界面易用性可移植性性能 具体的设计测试用例的方法等价类边界值错误猜测法场景设计法因果图法正交排列 测试用例的有效性 为什么要写测试用例 测试用例是测试执行的依据测试用例可以复用&…

软件测试用例概述

软件测试用例概述 知识点 什么是测试用例如何获取需求的测试点测试用例的模板测试用例的优先级测试用例的设计原则测试用例的维护 简介 软件测试是软件质量管理最有效的方法之一,同时也是耗时最多的一项工作,基于时间因素的考虑,软件测试…

测试用例要如何写

1、测试点与测试用例 测试点不等于测试用例,这是我们首先需要认识到的。 问题1:这些测试点在内容上有重复,存在冗余。 问题2:一些测试点的测试输入不明确,不知道测试时要测试哪些。 问题3:总是在搭相似…

【软件测试】(四)测试用例怎么写

文章目录 测试用例基本要素1. 评价好的测试用例的标准2. 根据需求写测试用例3. 测试用例的设计方法3.1 基于需求进行测试用例的设计3.2 具体的设计用例的方法3.2.1 等价类3.2.2 边界值3.2.3 错误猜测法3.2.4 场景设计法3.2.5 因果图3.2.6 正交设计法 测试用例基本要素 之前文章…

刚面完的字节跳动Python软件测试用例编写(含思路)

测试用例编写是软件测试的基本技能;也有很多人认为测试用例是软件测试的核心;软件测试中最重要的是设计和生成有效的测试用例;测试用例是测试工作的指导,是软件测试的必须遵守的准则。 在这里我们不讨论以上的各种观点,但是综上所述,大家可以看出,测试用例编写这项软技…

怎么在windows文件资源管理器中打开ftp

背景:自己在家上网课,用VPN连接学校实验室内网,原来自己直接在此电脑中输入ftp://192.168.109.100/就可以打开,但是突然有一次用同样的方式输入,却自动把页面跳到了默认的IE浏览器打开,自己不喜欢这种方式&…

ADB文件管理器

VisualLog带了一个双栏Adb文件管理器,同时显示设备的文件夹与本地的文件夹,支持文件的上传,下载等。 点击菜单"视图->插件->Adb文件管理器",打开文件管理器 文件管理器分为三个部分:设备的目录树,设备…

接管理器是Android上最,10 款优秀的 Android 文件管理器

文件管理器是管理文件的软件,帮助用户处理日常工作,管理储存在本地和网络中的文件。所有文件管理器都提供了基本的操作如创建、打开、查看、编辑、移动和删除文件。许多Android文件管理器还提供了额外功能,如网络连接、应用程序管理、存档和压…

mysql对象资源管理器在哪里_文件资源管理器在哪

文件资源管理器在哪? 查看文件资源管理器的方法步骤: 方法一: 1、点“开始”,然后如下图所示的红框里输入“资源管理器”,搜出来之后就点击打开。 2、打开之后就是这样。 方法二: 1、敲击键盘的“WINR”,然…

用命令打开文件服务器资源管理器,Windows10使用命令参数打开文件资源管理器的方法...

在Windows10系统中,大家如果想打开文件资源管理器,一般会在任务栏上直接点击文件资源管理器图标来打开,或者在开始菜单中点击打开文件文件资源管理器。而今天小编要给大家分享的是,通过命令参数来打开文件资源管理器,不同的参数打开方式也不尽相同哦,下面我们一起来看看。…

VSCODE 关闭文件和资源管理器关联

最近使用vscode进行编程,有一个地方很不习惯,在编辑器页面每次切换不同的文件,左侧(右侧)的资源管理器中的项目文件夹,总是跟着一起变,很不习惯,就把这个关联去掉了,分享…

android使用es文件管理器,Android系统文件管理教程-ES文件浏览器用法!

Android系统文件管理教程-ES文件浏览器用法! 看完标题可能已经有人嚷嚷了,“文件管理有什么好说的,无非就是些复制粘贴之类的。”简单来说的确如此,但是对于Android系统,严谨一些的方案商是不会在其中集成文件浏览器软件的,比如HTC吧,旗下Android产品型号繁多,但官方固件…

linux文件管理器thunar,文件管理器:Nautilus,Thunar,PCManFM,Konqueror,Dolphin,Krusader

本文介绍六款Linux文件管理器,它们分别是Nautilus、Thunar、PCManFM、Konqueror、Dolphin、Krusader,可以在Ubuntu/Debian、Fedora等发行版上安装它们。即使可以通过bash或zsh之类的任何其他Shell程序从Linux命令行完全管理所有文件,但大多数用户还是喜欢使用专用的文件管理…

uni-app实现文件管理器(Android)

提示: 1. 仅适用于安卓 2. 若文件较多,打开会比较慢,可以自行优化 功能: 1. 文件列表页(/pages/index/index) - 展示从已选择添加的文件 2. 添加文件页(/pages/directory/directory) - 点击文件列表页右上角 , 进入该页…

mac打开服务器文件管理,6款热门受欢迎的mac文件管理软件~

操作简便,高效的mac文件管理工具推荐给大家,小编总结了几款超火热的软件分享给大家比较,总有一款适合您的,一起来看看吧~ 好用的mac文件管理软件 1、DCommander :双窗格文件资源管理器 将数据传输到服务器时,无缝FTP和SCP连接将使您的生活更轻松。 远程连接:无缝的FTP和…

华为鸿蒙文件管理器通用版,华为文件管理器官方下载_华为文件管理器最新版下载v10.6.2.300 - 数码资源网...

华为手机文件管理器是由华为官方为广大花粉用户打造的一款便捷文件管理器,不管你的手机是不是华为品牌,都可以使用这个软件来对手机中的文件进行管理;华为手机文件管理器安卓版,支持分类浏览并管理文件功能,手机中的视…

电脑文件加密软件哪个最好用:试试文件加密软件排行榜第一的EaseUS LockMyFile吧 | 军事级加密你值得拥有!!!

EaseUS LockMyFile是一款出色且安全可靠的军事级电脑文件加密管理软件,也叫易我文件加密软件,拥有文件隐藏、文件加锁、文件保护、读写监控、安全删除等诸多实用功能,能帮助大家锁定和隐藏闪存驱动器、外部USB 驱动器、内部硬盘驱动器以及局域…

NP管理器和MT哪个强_NP管理器2.7.6多功能文件管理器 媲美MT/功能更强大

東笙资源部落 【特别声明】所有软件皆来源于网上收集整理,仅供学习与交流技术,不得用作其它用途,如有侵犯你的权益,请联系我们,我们将于24小时内进行删除,谢谢你的配合! 软件介绍 NP管理器app是一个和MT管理器一样的系统管理工具, 安卓手机不需要root也可以使用。NP管理…

Qt实现文件管理器

Windows的资源管理器,大家很熟悉吧,可以放回上一级,查找到下一级………Qt中QDir 类可以实现显示文件系统目录的效果。 笔者的机器环境:Windows8.1 //fileview_widget.h#ifndef FILEVIEWWIDGET_H #define FILEVIEWWIDGET_H #i…