测试用例的设计(2)

目录

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.错误猜测法

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

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

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

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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

第九节:揭开交互的秘密:如何制作原型图

交互设计与用户体验(上) 一、交互、原型的概念及关系 1、什么是交互? 交互(interaction)是指用户与产品之间的互动,即用户输入(input),产品对应给出反馈(Feedback)或输出(Output)的过程。简单可以理解为【交流和互动】。我们把任何两个系统之间的交互都可以看做【对…

P4513 小白逛公园 习题笔记(线段树维护区间最大连续子段和)

传送门https://www.luogu.com.cn/problem/P4513本文参考了董晓老师的博客 这道题着实想了很长时间(新手),只能想到一个O(mn)的dp普通写法,那么遇上区间修改问题改怎么操作呢。答案很明显,线段树…

JVM垃圾收集算法

标记清除算法 1先把垃圾对象标记出来 2然后再进行挨个清除 缺点: 1.清除后的内存空间是不连续的碎片, 2.效率也不高(相对于复制算法,复制算法是一次性清除,标记清除是挨个清除) 复制算法(适…

图论(蓝桥杯 C++ 题目 代码 注解)

目录 迪杰斯特拉模板(用来求一个点出发到其它点的最短距离): 克鲁斯卡尔模板(用来求最小生成树): 题目一(蓝桥王国): 题目二(随机数据下的最短路径&#…

基于EasyCVR视频技术的流媒体视频融合与汇聚管理系统建设方案

流媒体视频融合与汇聚管理系统可以实现对各类模块化服务进行统一管理和配置等操作,可实现对应用服务的整合、管理及共享,以标准接口的方式,业务平台及其他第三方业务平台可以方便地调用各类数据,具有开放性和可扩展性。在流媒体视…

前后端链条产生的跨域问题

环境: vitevue3 .net 6 vsstudio2022C# asp .net core webapi 看别的up说这个第一条报错是因为:后端没有允许跨域导致的 解决办法: 1.在后端添加允许跨域 Program.cs //添加跨域策略builder.Services.AddCors(options >{options.AddPolicy(…

生成式人工智能服务安全基本要求实务解析

本文尝试明晰《基本要求》的出台背景与实践定位,梳理《基本要求》所涉的各类安全要求,以便为相关企业遵循执行《基本要求》提供抓手。 引言 自2022年初以来,我国陆续发布算法推荐、深度合成与生成式人工智能服务相关的规范文件,…

ARM学习(25)链接装载高阶认识

ARM学习(25)链接装载高阶认识 1、例子引出 笔者先引入几个编译链接的例子来介绍一下: 声明无效:declared implicitly?,属于编译错误还是链接错误? 编译阶段的错误,属于编译错误&am…

【C++教程从0到1入门编程】第八篇:STL中string类的模拟实现

一、 string类的模拟实现 下面是一个列子 #include <iostream> namespace y {class string{public: //string() //无参构造函数// :_str(nullptr)//{}//string(char* str) //有参构造函数// :_str(str)//{}string():_str(new char[1]){_str[0] \0;}string(c…

【数据分享】2008-2022年全国范围逐年NO2栅格数据(免费获取)

空气质量数据是在我们日常研究中经常使用的数据&#xff01;之前我们给大家分享了2000-2022年全国范围逐年的PM2.5栅格数据、2013-2022年全国范围逐年SO2栅格数据、2013-2022年全国范围逐年CO栅格数据和2000-2022年全国范围逐年PM10栅格数据&#xff08;可查看之前的文章获悉详…

力扣--深度优先算法/回溯算法47.全排列 Ⅱ

思路分析&#xff1a; 使用DFS算法进行全排列&#xff0c;递归地尝试每个可能的排列方式。使用 path 向量保存当前正在生成的排列&#xff0c;当其大小达到输入数组的大小时&#xff0c;将其加入结果集。使用 numvisited 向量标记每个数字是否已经被访问过&#xff0c;以确保每…

科技助力床垫升级,康姿百德实体店品质有保障

在现代社会的快节奏生活中&#xff0c;高质量的睡眠已成为许多人追求的目标。睡眠质量不仅影响着我们的日常生活和工作效率&#xff0c;而且直接关系到身体健康。康姿百德床垫&#xff0c;作为市场上的优选产品&#xff0c;致力于为消费者提供舒适、健康的睡眠体验&#xff0c;…

ArcGIS学习(十七)基于GIS平台的水文分析

ArcGIS学习(十七)基于GIS平台的水文分析 本任务我们来学习”如何结合ArcGIS做水文分析?” 首先要说明的是,这个任务的水文分析是以ArcGIS工具视角来讲的。而水文分析也是“水文学”这个更大的概念下的一个分析方法。 水文学中研究最多的是水文循环,水文循环是一个物理过程…

Ansible介绍以及功能

ansible功能 批量执行远程命令,可以对远程的多台主机同时进行命令的执行 批量安装和配置软件服务&#xff0c;可以对远程的多台主机进行自动化的方式配置和管理各种服务 编排高级的企业级复杂的IT架构任务, Ansible的Playbook和role可以轻松实现大型的IT复杂架构 提供自动化…

鸿蒙Harmony应用开发—ArkTS声明式开发(基础手势:Stepper)

步骤导航器组件&#xff0c;适用于引导用户按照步骤完成任务的导航场景。 说明&#xff1a; 该组件从API Version 8开始支持。后续版本如有新增内容&#xff0c;则采用上角标单独标记该内容的起始版本。 子组件 仅能包含子组件StepperItem。 接口 Stepper(value?: { index?…

基于ARMA-GARCH模型探究股价的日历效应和节假日效应【思路+代码】

目录 1. 模型定义1.1 ARMA-GARCH模型1.2 引入节假日效应的虚拟变量的新模型1.3 引入日历效应的虚拟变量的新模型 2. 实证部分2.1 准备工作2.2 引入节假日效应虚拟变量的模型建立和结果分析2.3 引入节假日效应和日历效应的虚拟变量的模型建立和结果分析 3. 结语 本文介绍了ARMA-…

5.Java并发编程—JUC线程池架构

JUC线程池架构 在Java开发中&#xff0c;线程的创建和销毁对系统性能有一定的开销&#xff0c;需要JVM和操作系统的配合完成大量的工作。 JVM对线程的创建和销毁&#xff1a; 线程的创建需要JVM分配内存、初始化线程栈和线程上下文等资源&#xff0c;这些操作会带来一定的时间和…

YOLOv9改进 添加新型卷积注意力框架SegNext_Attention

一、SegNext论文 论文地址:2209.08575.pdf (arxiv.org) 二、 SegNext_Attention注意力框架结构 在SegNext_Attention中,注意力机制被引入到编码器和解码器之间的连接中,帮助模型更好地利用全局上下文信息。具体而言,注意力机制通过学习像素级的注意力权重,使得模型可以对…

基于log4cpp封装日志类

一、log4cpp的使用 1. 下载log4cpp log4cpp官方下载地址 2. 安装log4cpp 第一步&#xff1a;解压 tar zxvf log4cpp-1.1.4.tar.gz 第二步&#xff1a;进入log4cpp文件夹并执行 ./configure tips&#xff1a;如果是ARM架构的CPU可能会失败&#xff0c;如下面这种情况&a…

力扣热题100_矩阵_54_螺旋矩阵

文章目录 题目链接解题思路解题代码 题目链接 54. 螺旋矩阵 给你一个 m 行 n 列的矩阵 matrix &#xff0c;请按照 顺时针螺旋顺序 &#xff0c;返回矩阵中的所有元素。 示例 1&#xff1a; 输入&#xff1a;matrix [[1,2,3],[4,5,6],[7,8,9]] 输出&#xff1a;[1,2,3,6,9…