测试用例的设计(2)

news2024/12/30 2:29:29

目录

1.前言

2.正交排列(正交表)

 2.1什么是正交表

2.2正交表的例子

2.3正交表的两个重要性质

3.如何构造一个正交表

3.1下载工具

3.1构造前提

4.场景设计法

5.错误猜测法


1.前言

  我们在前面的文章里讲了测试用例的几种设计方法,分别是等价类发,把测试例子划分成不同的类型,在每个类型中选取一个.这样可以解决软件测试不能穷举的问题.还有边界值法.该方法可以完善等价类划分法,我们把测试用例中的范围划分成.上点(边界上的点),内点(边界内的点),还有离点(如果是开区间,就是边界内离得最近的一个点,如果是闭区间,就是边界外离得最近的一个点). 还有因果图,通过它来画判定表,把测试的条件都全面考虑到来细致的测.

  实际开发过程中,我们需要掌握的设计测试用例的方法远远不止这些.今天我们来讲述一下其它的划分测试用例的方法.

2.正交排列(正交表)

 前面我们介绍了判定表这种设计测试用例的思路,但是如果我们的因素如果很多的话,那么就很不好通过手动的去设计,我们可以借助工具来设计正交表.(后面会提到工具的安装和使用),

 2.1什么是正交表

最简单的正交表(L4(2 3) 其中L 表示正交表,L右下角的数字4 表示有四行,即要做四次实验,括号内的指数3代表了 列 ,即最多允许安排的因素是3个,括号内的2 代表了主要部分只有2种数字,即因素有两种水平1和2,正交表的特点是其安排的实验方式具有均衡搭配特性

2.2正交表的例子

我们先科普两个简单的点.即什么是因素 ,什么是水平. 因素通俗易懂的讲就是输入变量.而水平则是每一个输入变量的取值.比如我们有三个因素,则会有三个变量,水平有0和1  那么我们就可以先做出以下的表格

我们可以得到以下的正交表

这就是一个简单的正交表

2.3正交表的两个重要性质

1.每一列中的数字出现的次数一样多

2.任何两列中各有序树对出现的次数都一样对

我们随便观察一列,比如第一列,发现0和1都是只出现了2次,我们来看看第一列和第三列,发现 00和11都是出现了一次.

3.如何构造一个正交表

3.1下载工具

我们可以在这个链接AllPairs download | SourceForge.net 下载我们需要的工具,allpairs.

下载好以后,我会 举例子告诉大家怎么使用这个.

3.1构造前提

在构造一个正交表的时候,我们需要以下的步骤,  充分理解需求->确定因素->确定水平->画正交表->补充正交表->将正交表转化为测试用例

比如我们在注册一个用户信息的时候,需要以下因素: 姓名,邮箱,确定密码,验证码 必须全部输入,我们才能成功注册. 填写和不填写是两个水平,那么我们就可以根据以上的需求.画出我们的正交表.(在这里我们使用一个工具来画(allpairs)

首先我们把上述分析出来的需求和水平写到表格里.

把表格中的文字复制到txt文件中,并保存到 allpairs这个软件的目录中,

打开命令行 通过 d:和 cd 目录路径 找到 allpairs这个软件的路径

然后使用dir这个命令查看该文件下的所有目录

可以看到我们刚刚保存在这里面的txt文件还在.

然后使用命令 allpairs.exe Test.txt > Test.result.txt(表示把我们的正交表保存到这个新建的文件里)

然后按下enter 

这就构造出来一个正交表了.我们可以根据表里面的值来测试

4.场景设计法

    该方法是通过场景来设计出测试用例出来.比如我们有一个主线,然后这个主线的每一个环节都有可能会出现一系列问题,我们可以把这些问题给提前想出来.然后放到我们的测试用例中.

   比如我们去ATM机取款,我们可以用一个主线来表示.

可以分为取款的路上,插卡,读卡, 输入取款金额.拿到钱 这几步来完成,这是主线,

而其它出现的事件,则是可能会发生的事件,这就是场景假设.我们要充分理解需求,确认主事件流,还有次事件流,将这些事剑流来放到测试用例里面.

5.错误猜测法

错误猜测法是对软件测试的理解,过往经验和个人直觉,推测出软件可能出现的缺陷.从而针对性的设计测试用例的方法.

该方法强调的是对测试软件的需求理解以及设计细节的把握,还有个人经验和直觉.

错误推测法和当前主流的"探索式测试方法"基本思想一致.这类方法在敏捷开发模式下的投入产出比很高,被广泛运用于测试.

缺点是难以系统化.并且过度依赖个人能力.

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

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

相关文章

Druid连接池经常性断链问题

前段时间有应用使用Druid连接池经常的提示断链报错,整个问题排查分析过程很有意思。这里将Druid连接池、数据库层以及负载均衡层的配置分析下,记录整个问题的分析过程,同时梳理下Druid连接池的配置和连接保活及回收机制。 1、问题背景 应用…

【图文详解】Maven Helper插件解决Maven冲突

文章目录 插件问题解决过程 在面试中解决问题的能力和思路是考察的重点,面试官问会问我们有没有解决过maven冲突。以下造了一个maven冲突,手把手教学如何解决Maven冲突。 插件 插件在idea插件中搜索Maven Helper 问题 解决过程 根据上面日志知道是log…

基于SWOT的智能手机企业财务战略研究1.62

摘 要 近些年,网络技术日新月异,智能手机深受消费者喜爱,人们通过网络,手机应用,可以极大地方便人们学习,工作等等。由于国家对电信行业的大力支持,中国消费者群体逐步成为最具潜力的手机购买者…

【Emgu CV教程】9.3、形态学常用操作之开运算

文章目录 一、相关概念1.什么叫开运算3.开运算的函数 二、演示1.原始素材2.代码3.运行结果 一、相关概念 1.什么叫开运算 腐蚀、膨胀已经讲完,这两个是最基础的形态学操作。这次讲的是开运算,它是一个先腐蚀、后膨胀的过程。原始图像先被腐蚀&#xff…

对GIS与游戏引擎(UE4 或 U3D)结合的看法

GIS与游戏引擎结合,这在6年前就已经很多公司在进行探索了,经过这几年的发展,结合当前的政策,从以下几方面说一下我的看法: 1.GIS客户都是特殊单位及领域。2018年后,国内已经对国产化有明确要求了&#xff0…

Spring中使用自带@Autowired注解实现策略模式

场景 SpringBoot中策略模式工厂模式业务实例(接口传参-枚举类查询策略映射关系-执行不同策略)规避大量if-else: SpringBoot中策略模式工厂模式业务实例(接口传参-枚举类查询策略映射关系-执行不同策略)规避大量if-else_springboot编写策略工厂-CSDN博客 设计模式…

BUUCTF-----[SWPU2019]Web1

打开页面,原本以为是二次注入,结果不是,先注册一个账户 在申请发布广告中,发现反射性xss(然而没有什么用) 在广告申请名字中发现注入点 开始注入 通过一系列的测试,发现系统过滤了#,or,空格 orde…

【C++庖丁解牛】vector容器的简易模拟实现(C++实现)(最后附源码)

🍁你好,我是 RO-BERRY 📗 致力于C、C、数据结构、TCP/IP、数据库等等一系列知识 🎄感谢你的陪伴与支持 ,故事既有了开头,就要画上一个完美的句号,让我们一起加油 目录 前言vector容器代码实现内…

xss.haozi.me靶场“0x0B-0x12”通关教程

君衍. 一、0x0B 实体编码绕过二、0x0C script绕过三、0x0D 注释绕过四、0X0E ſ符号绕过五、0x0F 编码解码六、0x10 直接执行七、0x11 闭合绕过八、0x12 闭合绕过 一、0x0B 实体编码绕过 我们首先构造payload进行测试: 这里我们可以看到全部转为了大写&#xff0c…

低压线性恒流LED恒流驱动芯片SM15633EH:用于洗墙灯和线条灯

洗墙灯和线条灯是两种常见的LED照明产品,它们都需要使用LED恒流驱动芯片来确保稳定、可靠的电流供应,从而保证LED的使用寿命和亮度。 对于洗墙灯而言,由于其发出的光线需要覆盖较大的区域,因此需要使用较大功率的LED芯片&#xf…

rust入门(1)创建项目

安装 vscode 安装插件 rust-analyzerNative Debug vscode 配置自动格式化代码 settings.json{"editor.defaultFoldingRangeProvider": null,"[rust]": {"editor.defaultFormatter": "rust-lang.rust-analyzer", // Makes the magi…

mysql5.6---windows和linux安装教程和忘记密码怎么办

一、windows安装 1.完成解压 解压完成之后将其放到你喜欢的地址当中去,这里我默认放在了D盘,这是我的根目录 2.配置环境变量 我的电脑->属性->高级->环境变量->系统变量 选择PATH,在其后面添加: (注意自己的安装地址) D:\mysql-5.6.49…

在域控批量导出用户及其所在路径的信息

在Windows Server的Active Directory环境中,要批量导出用户及其所在OU(组织单位)的信息,可以使用PowerShell命令来实现。以下是一个简单的示例: Get-ADUser -Filter * -Properties CanonicalName | Select-Object Nam…

CCCorelib 点云球形特征(CloudCompare内置算法库)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 这里基于每个点的邻域协方差来获取点云中具有的球形几何特征的点,计算方式如下图所示: 二、实现代码 // CloudCompare #include <CCCoreLib/PointCloudTpl.h> #include <CCCoreLib/

数据库基础理论知识

1.基本概念 数据(Data)&#xff1a;数据库存储的基本对象。数字、字符串、图形、图像、音频、视频等数据库(DB)&#xff1a;在计算机内&#xff0c;永久存储、有组织、可共享的数据集合数据库管理系统(DBMS)&#xff1a;管理数据库的系统软件数据库系统(DBS):DBDBMSDBADBAP 数…

文章解读与仿真程序复现思路——电网技术EI\CSCD\北大核心《考虑碳捕集机组与氢储能系统协调运行的源荷储低碳经济调度》

本专栏栏目提供文章与程序复现思路&#xff0c;具体已有的论文与论文源程序可翻阅本博主免费的专栏栏目《论文与完整程序》 论文与完整源程序_电网论文源程序的博客-CSDN博客https://blog.csdn.net/liang674027206/category_12531414.html 电网论文源程序-CSDN博客电网论文源…

机器人ChatGPT来了,80亿参数、前OpenAI人员经数年打造

严格地说&#xff0c;是“拾取与放置任务”版本的ChatGPT来了。除了自然语言交流&#xff0c;还能像Sora一样生成视频。 有了机器人基础模型RFM-1&#xff0c;使用简单英语就能指导机器人完成拣选工作。 机器人 AI 公司 Covariant CEO Peter Chen ‍坐在一个聊天机器人面前&…

图像分割损失函数

为什么要乘以2&#xff0c;是为了让DICE的值域在0和1之间 优化&#xff1a;两种LOSS相加 Focus loss:

基于YOLOv8/YOLOv7/YOLOv6/YOLOv5的田间杂草检测系统(深度学习模型+UI界面+Python代码+训练数据集)

摘要&#xff1a;开发用于田间杂草识别的系统对提高农业运营效率和提升作物产出至关重要。本篇文章详尽阐述了如何应用深度学习技术开发一个用于田间杂草识别的系统&#xff0c;并附上了完备的代码实现。该系统基于先进的YOLOv8算法&#xff0c;并对比了YOLOv7、YOLOv6、YOLOv5…

提前爆料:绝地求生七周年预告片餐厅改版,七周年主题战术手套

七周年预告片刚刚在官博上线&#xff0c;让我们一起逐帧分析一下都有哪些皮肤吧。 开局就是一个七周年喷漆 然后出生岛手里会拿着七周年的蛋糕&#xff0c;互相丢。 艾伦格的餐厅们进行改版&#xff0c;成为七周年主题 餐厅内有一个七周年的饮料机&#xff0c;不知道是不是和米…