软件测试——用例篇(3)

news2025/5/11 13:58:34

目录

一、设计测试用例的具体方法

1.1等价类

1.1.1等价类概念介绍

1.1.2等价类分类

1.2边界值

1.2.1边界值分析法

1.2.2边界值分类

 1.3正交法

1.3.1正交表

1.3.2正交法设计测试用例步骤

1.4判定表法

1.4.1判定表

1.4.2判定表方法设计测试用例

1.5 场景法

1.6错误猜测法


一、设计测试用例的具体方法

1.1等价类

1.1.1等价类概念介绍

等价类方法的出现是为了解决穷举法不能解决的问题

例如:姓名必填,6-15位字符类型

通过穷举发测试、6、7、8...14、15位测试是否通过,位数范围越大,那么测试会越麻烦

因此依据需求划分成若干个等价类,从等价类中选一个测试用例,这个测试用例通过,代表所有的等价类测试通过

1.1.2等价类分类

有效等价类:合理的、有意义的输入数据构成的集合

无效等价类:不满足需求的集合

 等价类只考虑输入域的分类,没有考虑输入的组合,一般需要其他设计方法和补充

1.2边界值

1.2.1边界值分析法

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

边界值分析法是对输入或输出的边界值进行黑盒测试的方法

1.2.2边界值分类

边界值包括:边界值和次边界值

长度范围为1-11时:边界值1、11、12、0

参赛项目1-3项:0、1、3、4

 1.3正交法

正交法设计测试用例是针对部分填写的情况

假如:

有两个选项,那么可以设计出,都填写、都不填写、填写A、填写B四个测试用例

如果有三个选项,则可以设计出8个测试用例

如果有五个则可以设计出32个测试用例

正交法的目的是为了减少用例数目,用尽量少的用例覆盖输入的两两组合,找到最好的用例组合

1.3.1正交表

正交表L_{4}(2^{3})

含义如下:

L代表正交表;

L下的数字4表示4行(即要做4次试验);

括号内的指数3表示3列(最多允许安排的因素是3);

底数2表示因素有两种水平(例如,填写和不填写)

正交表的构成:因素数、水平数、行数

因素:影响条件

水平:因素对应的可选项

正交表性质:

每一列中,不同数字出现的次数相等

任意两列中数字的排列方式齐全且均衡

1.3.2正交法设计测试用例步骤

借助allpairs实现正交表的设计

例如:姓名、电子邮箱、密码、确认密码、验证码  的部分填写 

第一步:找出因素和水平

因素:姓名、电子邮箱、密码、确认密码、验证码

水平:填写和不填写

第二步:将因素和水平写入excel中

 

第三步:将表格中的内容复制在文本文件里(文本文件要创建在allparis.exe 同级目录下)

第四步:使用allparis.exe文件生成正交表 

 

test.txt文件就是生成的正交表文件 

第五步:根据生成的正交表文件编写测试用例

1) 姓名填写、电子邮箱填写、密码填写、确认密码填写、验证码填写

 2)姓名填写、电子邮箱不填写、密码不填写、确认密码不填写、验证码不填写

 3)姓名不填写、电子邮箱填写、密码不填写、确认密码填写、验证码不填写

 4)姓名不填写、电子邮箱不填写、密码填写、确认密码不填写、验证码填写

 5)姓名不/填写、电子邮箱填写、密码填写、确认密码不填写、验证码不填写

 6)姓名不/填写、电子邮箱不填写、密码不填写、确认密码填写、验证码填写

~号的意思填不填写都可以

 还要补上重要的测试用例

 7)姓名不填写、电子邮箱不填写、密码不填写、确认密码不填写、验证码不填写

1.4判定表法

1.4.1判定表

通过具体方法将测试用例设计的更加完整和规范 

给定一个场景:

用户输入的账号中包含admin字符或者通过内部链接进入注册页面,提交注册按钮成为管理员身份;反之无管理员身份

上面这个场景,不同的操作会对应不同的结果,而判定表是一种表达逻辑判断的工具

1.4.2判定表方法设计测试用例

第一步:确认输入条件和输出条件

在上面这个场景中

输入条件: 账号包含admin字符(a)、内部注册链接(b)、点击注册按钮(c)

输出条件:是管理员(1)、不是管理员(2)

第二步:找出输入条件和输出条件之间的关系

输入条件acabbcabcabc-
对应结果12122212

第三步:画判定表

12345678
输入条件账号包含adminYYNYNNYN
内部注册链接NYYNYNYN
点击注册按钮YNYNNYYN
输入条件管理员YNYNNNYN
不是管理员NYNYYYNY

第四步:根据判定表编写测试用例

1)账号包含admin、非内部注册链接、点击注册按钮、为管理员身份

2)账号包含admin、内部注册链接、不点击注册按钮、非管理员身份

3)账号不包含admin、内部注册链接、点击注册按钮、为管理员身份

4)账号包含admin、非内部注册链接、不点击注册按钮、非管理员身份

5)账号不包含admin、内部注册链接、不点击注册按钮、非管理员身份

6)账号不包含admin、非内部注册链接、点击注册按钮、非管理员身份

7)账号包含admin、内部注册链接、点击注册按钮、为管理员身份

8)账号不包含admin、非内部注册链接、不点击注册按钮、非管理员身份

1.5 场景法

软件几乎都是用事件触发来控制流程,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成了事件流

场景主要包括:正常的用例场景、备选的用例场景、异常的用例场景、假定推测的场景

1.6错误猜测法

对测试软件的需求理解以及设计实现的细节把握

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

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

相关文章

在 Win11 下安装 Wireshark 的详细步骤

目录 一、了解 Wireshark1. 作用和功能2. 使用步骤 二、下载安装包三、运行安装包四、使用 Wireshark1. 抓包2. 窗口介绍3. 过滤器(显示 / 捕获过滤器)4. 保存过滤后的报文1)显示过滤器表达式(了解)2)过滤表…

AI编程: 使用Trae1小时做成的音视频工具,提取音频并识别文本

背景 在上个月,有网页咨询我怎么才能获取视频中的音频并识别成文本,我当时给他的回答是去问一下AI,让AI来给你答案。 他觉得我在敷衍他,大骂了我一顿,大家觉得我的回答对吗? 小编心里委屈,我…

RTC实时时钟DS1337S/PT7C4337WEX国产替代FRTC1337S

NYFEA徕飞公司的FRTC1337S串行实时时钟是一种低功耗时钟/日历,被设计成可以无缝替代市场上流行的DS1337S和PT7C4337WEX(SOP8)两种型号, 具有两个可编程的时钟闹钟和一个可编程方波输出。 地址和数据通过2线双向总线串行传输。时钟/日历提供秒、分钟、小时、天、日期…

Vue3.5 企业级管理系统实战(十七):角色管理

本篇主要探讨角色管理功能,其中菜单权限这里先不实现,后续在菜单管理中再进行实现。接口部分依然是使用 Apifox mock 的。 1 角色 api 在 src/api/role.ts 中添加角色相关 api,代码如下: //src/api/role.ts import service fro…

QTableWidget实现多级表头、表头冻结效果

最终效果: 实现思路:如果只用一个表格的话写起来比较麻烦,可以考虑使用两个QTableWidget组合,把复杂的表头一个用QTableWidget显示,其他内容用另一个QTableWidget。 #include "mainwindow.h" #include &qu…

A2A大模型协议及Java示例

A2A大模型协议概述 1. 协议作用 A2A协议旨在解决以下问题: 数据交换:不同应用程序之间的数据格式可能不一致,A2A协议通过定义统一的接口和数据格式解决这一问题。模型调用:提供标准化的接口,使得外部应用可以轻松调…

CMake 入门实践

CMake 入门实践 第一章 概念与基础项目1.1 CMake 基础认知1.2 最小 CMake 项目1.3 构建流程验证 第二章 多文件项目管理2.1 项目结构2.2 源码示例2.3 CMake 配置 第三章 库文件管理实战3.1 项目结构3.2 核心配置3.3 接口设计 第四章 构建类型与编译优化4.1 构建类型配置4.2 构建…

异地多活单元化架构下的微服务体系

治理服务间的跨IDC调用,而数据库层面还是要跨IDC 服务注册中心拆开、 金融要求,距离太远,异地备库,如果延迟没读到数据就可能有资损,IDC3平时不能用,IDC1挂了还是有数据同步问题,IDC3日常维护…

HarmonyOS NEXT——DevEco Studio的使用(还没写完)

一、IDE环境的搭建 Windows环境 运行环境要求 为保证DevEco Studio正常运行,建议电脑配置满足如下要求: 操作系统:Windows10 64位、Windows11 64位 内存:16GB及以上 硬盘:100GB及以上 分辨率:1280*8…

Windows系统Jenkins企业级实战

目标 在Windows操作系统上使用Jenkins完成代码的自动拉取、编译、打包、发布工作。 实施 1.安装Java开发工具包(JDK) Jenkins是基于Java的应用程序,因此需要先安装JDK。可以从Oracle官网或OpenJDK下载适合的JDK版本。推荐java17版本&#x…

C# 方法(ref局部变量和ref返回)

>本章内容: 方法的结构 方法体内部的代码执行 局部变量 局部常量 控制流 方法调用 返回值 返回语句和void方法 局部函数 参数 值参数 引用参数 引用类型作为值参数和引用参数 输出参数 参数数组 参数类型总结 方法重载 命名参数 可选参数 栈帧 递归 ref局部变量和ref返回 …

滑动窗口,438找出字符串中所有字母的异位词

1.题目 2.解析 这道题我们用滑动窗口来实现,加上哈希表和vector容器的使用来实现这道题目,每次滑动之后我们都对其和答案进行比较,如果全部相等我们返回left,不相等继续滑动即可。 本质就是我们把p中相同数量的字母框起来&#…

「国产嵌入式仿真平台:高精度虚实融合如何终结Proteus时代?」——从教学实验到低空经济,揭秘新一代AI赋能的产业级教学工具

引言:从Proteus到国产平台的范式革新 在高校嵌入式实验教学中,仿真工具的选择直接影响学生的工程能力培养与创新思维发展。长期以来,Proteus作为经典工具占据主导地位,但其设计理念已难以满足现代复杂系统教学与国产化技术需求。…

《Python星球日记》 第52天:反向传播与优化器

名人说:路漫漫其修远兮,吾将上下而求索。—— 屈原《离骚》 创作者:Code_流苏(CSDN)(一个喜欢古诗词和编程的Coder😊) 目录 一、引言二、反向传播算法原理简述1. 什么是反向传播?2. 从数学角度…

Java常用类概述

Java常用类概述 一、字符串三剑客1. String(不可变字符串)2. StringBuilder(可变,线程不安全)3. StringBuffer(可变,线程安全) 二、日期时间类(重点掌握新版API&#xff…

C++STL——priority_queue

优先队列 前言优先队列仿函数头文件 前言 本篇主要讲解优先队列及其底层实现。 优先队列 优先队列的本质就是个堆,其与queue一样,都是容器适配器,不过优先队列是默认为vector实现的。priority_queue的接口优先队列默认为大根堆。 仿函数 …

深入解析WPF中的3D图形编程:材质与光照

引言 在Windows Presentation Foundation (WPF) 中创建三维(3D)图形是一项既有趣又具有挑战性的任务。为了帮助开发者更好地理解如何使用WPF进行3D图形的渲染,本文将深入探讨GeometryModel3D类及其相关的材质和光源设置。 1、GeometryModel3D类简介 GeometryMode…

SolidWork-2023 鼠標工程

地址 https://github.com/MartinxMax/SW2023-Project/tree/main/mouse 鼠標

vscode预览模式(点击文件时默认覆盖当前标签,标签名称显示为斜体,可通过双击该标签取消)覆盖标签、新窗打开

文章目录 VS Code 预览模式如何取消预览模式(即“固定”标签页)?预览模式有什么用? VS Code 预览模式 在 VS Code 中,当你单击文件浏览器(例如,资源管理器侧边栏)中的某个文件时&am…

记录踩过的坑-金蝶云苍穹平台-轻分析和轻报表(慢慢更新)

未发现AppIdName(qing rpt)服务或访问服务网络异常 前提是有许可和权限。 去console(云基础平台控制台),点击服务管理,编辑mservice-更新升级-环境变量,在appIds里增加qing_rpt 查看数据库 如果是采用公共数据源连接…