7种《软件测试用例设计方法》解读及工作场景解析

news2024/12/23 13:47:23

1、等价类划分法

等价类划分法是一种将输入、输出、内部值等划分为若干个等价类的黑盒测试设计技术。在这种方法中,我们假设同一等价类的数据会被程序以相同的方式处理。

例如:一个允许输入年龄的程序,允许的年龄范围是1到100。在这种情况下,我们可以将输入数据划分为三个等价类:小于1的值、1到100之间的值、大于100的值。我们只需从每个等价类中选择一个值进行测试即可。

等价类划分法适用于输入或输出有明确范围或条件限制的情况。

案例模板:

一、项目背景

项目名称:在线学习平台新功能开发
项目描述:在现有的在线学习平台上新增了一个“学习计划”功能,用户可以根据自己的需求和时间安排制定学习计划,系统会根据计划提醒用户学习进度。

二、测试目标

测试目标是确保新增的学习计划功能能够正常工作,满足以下要求:
  1. 用户可以制定学习计划;
  2. 学习计划的时间范围和任务设置可以正确保存;
  3. 系统能够正确提醒用户学习进度;
  4. 学习计划的修改、删除等操作稳定、无明显问题。

449be6985fd8b93e174546a6d2aa07aa.jpeg

总结

通过等价类划分法,我们可以设计出全面、清晰明了的测试用例,对学习计划功能进行全方位的测试,并检测出可能存在的问题。在测试过程中,我们应该尽量覆盖各个等价类,并且在需要的情况下,还可以使用其他的测试用例设计方法,如边界值分析法、因果图等,以达到更优的测试效果。

2、边界值分析法

边界值分析法是一种以输入或输出的边界值为重点的测试设计技术。统计数据显示,错误往往集中在输入或输出的边界。

例如:如果一个程序只接受1到100的输入,那么边界值就是1和100,以及它们附近的值,如0、2、99和101。

边界值分析法适用于输入或输出有明确范围的情况。

158f493829dc6db9259042a2e9635028.jpeg

3、错误推断法

错误推断法是一种基于测试人员经验和对应用程序的理解,预测可能出现错误的地方并设计相应测试用例的方法。

例如:如果一个网页表单允许用户输入电子邮件地址,测试人员可以推断出可能的错误,如输入无效的电子邮件格式、留空等,并据此设计测试用例。

错误推断法适用于所有情况,因为它依赖于测试人员的经验和对被测系统的理解。


4、因果图法

因果图法是一种将输入和输出的因果关系表示为因果图,然后从图中导出测试用例的方法。这种方法有助于系统化地识别输入和输出的所有可能组合。

例如:对于一个登录系统,输入可能包括用户名和密码,输出可能包括登录成功、用户名错误、密码错误等。我们可以将这些因果关系表示为因果图,然后从图中导出测试用例。

因果图法适用于输入和输出的因果关系较复杂的情况。


5、状态转换法

状态转换法是一种基于系统状态和状态之间转换的测试设计方法。在这种方法中,我们将系统看作是一种状态机,并设计测试用例以覆盖所有可能的状态和状态转换。

例如:对于一个在线购物系统,可能的状态包括浏览商品、添加商品到购物车、结账等,我们可以设计测试用例以覆盖这些状态及其转换。

状态转换法适用于系统有明确状态和状态转换的情况。


6、判定表驱动法

判定表驱动法是一种通过制作条件和动作的对照表来设计测试用例的方法。条件通常对应输入或系统状态,动作通常对应系统的输出或行为。判定表有助于测试人员全面考虑条件和动作的所有可能组合。

例如:假设我们有一个决定是否给予贷款的系统。条件可能包括申请人的信用评分、收入和债务水平,动作可能是批准贷款或拒绝贷款。我们可以创建一个判定表,列出这些条件和动作的所有可能组合,然后根据这些组合设计测试用例。

判定表驱动法适用于系统行为由一组条件决定,且条件和行为的组合较复杂的情况。

7、正交表实验法

正交表实验法是一种设计测试用例的方法,它能够有效地覆盖多因素和多水平的测试场景。正交表实验法利用了统计学中的正交表设计,使得在尽可能少的测试用例中,覆盖所有可能的参数组合。

例如:假设我们有一个需要测试的系统,该系统有3个参数,每个参数有3个可能的值。使用正交表,我们可以在只有9个而不是27个测试用例的情况下,覆盖所有可能的参数组合。

正交表实验法适用于参数多、参数值多、参数间存在相互影响的复杂系统的测试。

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

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

相关文章

Vue Test Utils前端单元测试

含义 单元测试(unit testing),是指对软件中的最小可测试单元进行检查和验证。在提供了经过测试的单元的情况下,系统集成过程将会大大地简化。流行框架 Mocha (https://mochajs.cn/)、Jest (https://www.jestjs.cn/) Mocha Chai…

asp.net web api 后端服务器在调试时跨域问题的解决方案

跨域在发布时,在iis设置中 https://www.cnblogs.com/babietongtianta/p/6488985.html 在开发调试时,program.cs中添加 和各种方法,都不可以。 后来在iisexpress中设置,解决了。 在右下角iisexpress 右键 双击打开applicationho…

PCL学习十:Segmentation-分割

参考引用 Point Cloud Library黑马机器人 | PCL-3D点云 PCL点云库学习笔记(文章链接汇总) 1. 引言 点云分割是根据空间、几何和纹理等特征对点云进行划分,使得同一划分区域内的点云拥有相似的特征。点云的有效分割往往是许多应用的前提&#…

【OAI】部署5GSA独立组网网络切片例程及例程解析

文章目录 摘要引言关键技术介绍5G核心网核心网网元功能 网络切片OAIDocker官方例程详解整体介绍具体详解网络切片架构部署概览与说明1-41.预先准备5.部署OAI 5G核心网6.获取基站仿真docker镜像7.部署基站仿真8.通信测试9.分析结果10. 使用多切片的UE11. 解除部署11.1解除RAN部署…

面了一个4年经验的测试员,一问三不知还反过来怼我?

金三银四期间,我们公司也开始大量招人了,我这次是公司招聘的面试官之一,主要负责一些技术上的考核,这段时间还真让我碰到了不少奇葩求职者 昨天公司的HR小席刚跟我吐槽:这几个星期没有哪天不加班的!各种招…

(8)Qt---数据库

目录 1. Qt数据库简介 2. 连接与关闭 3. 建表 4. 增删改 5. 查询 6.银行管理系统程序代码(包含增删改查) 1. Qt数据库简介 Qt只是作为媒介去操作数据库,本身不具备数据库的功能,因此除了Qt以外,还需要在计算机中安装对应的数据库软件&#xf…

Windows 11 支持安卓应用

更改系统国家 打开windows自带的搜索,找到更改国家或地区。把地区改成美国。 开启电脑VT 不同电脑开启方式不一样,请搜索:xxx进入BIOS和xxx开启VT打开你电脑的VT。 安装子系统 电脑打开Microsoft Store直接搜是搜不到的, 点…

C/C++的内存管理

C/C的内存管理 1.C/C的内存分布2.C语言的动态内存管理方式:malloc/calloc/realloc/free3. C内存管理方式3.1. new/delete操作内置类型3.2.new和delete操作自定义类型 4.operator new与operator delete函数4.1 operator new与operator delete函数 5.new和delete的实现…

一次查找分子级Bug的经历,过程太酸爽了

“Debugging is like trying to find a needle in a haystack, except the needle is also made of hay.” Debug调试就像是在大片的干草堆中找针一样,只不过针也是由干草制成的。 在软件开发的世界里,偶尔会出现一些非常隐蔽的 Bug,这时候工…

数据结构之“树”——二叉树、红黑树、B树、B+树、B*树

这篇文章主要简单总结下二叉树、红黑树、B树、B树、B*树的基本结构和原理。 一、二叉树 二叉树就是度不超过2的树(每个结点最多有两个子结点)。 二叉树是有序树(二叉排序树),若将其左右子树颠倒,则成为另一棵不同的二叉树。 二叉…

MYSQL跨服务器访问数据库 :FEDERATED存储引擎

当想从不同服务器的数据库获取数据时,我们会想到oracle的DBLink;sqlserver的链接访问(傻瓜式操作,按照步骤配置即可),那么mysql有没有跨服务器访问的功能呢?答案自然是有的。 博主这就分享给大家…

语音识别-置信度

1.CONFIDENCE ESTIMATION FOR ATTENTION-BASED SEQUENCE-TO-SEQUENCE MODELS FOR SPEECH RECOGNITION : https://arxiv.org/pdf/2010.11428.pdf 1.引言 1).置信度的目的: 在半监督学习和主动学习中,选择较高置信度的数据来进一步提高ASR性能…

JVM学习04:类加载与字节码技术

JVM学习04:类加载与字节码技术 1、类文件结构 一个简单的 HelloWorld.java: //HelloWorld示例 public class HelloWorld {public static void main(String[] args) {System.out.println("hello world");} }执行javac -parameters -d . Hello…

生物识别技术是否会对安全产生挑战?

生物识别技术通过人体独特的生物特征来识别个人身份,包括指纹、虹膜、面部识别、声纹识别等技术。这些技术可以在安全领域得到广泛应用,例如入境控制、安全认证、金融交易等方面。但是,生物识别技术也可能带来安全挑战,具体如下: 数据泄露:生物识别技术需要收集个人生物特…

老杨说运维 | 如何成为卓有成效的管理者(关于AIOps的几点思考)

1966年,管理学领域被誉为“大师中的大师”的彼得德鲁克出版了日后被无数次再版的经典作品——《卓有成效的管理者》。 在书中他提到:管理者的使命就是“卓有成效”,但是卓有成效并非天分赋予,而是可以通过后天学习和实践获取的能力…

python 反编译

步骤1: (前置)下载pyinstxtractor.py ①将pyinstxtractor.py文件移动到想要解包的文件目录下 ②并在当前目录下输入cmd打开终端,执行>python pyinstxtractor.py 待反编译.exe eg:E:\my_decode>python pyinstxtractor.py …

单向散列函数——获取消息的 “指纹”

目录 什么是单向散列函数散列算法的特征散列算法的用途散列算法的分类密码学哈希和非密码学哈希不安全的密码学哈希算法主流的密码学哈希算法 SHA256散列算法(SHA2算法)SHA256算法过程SM3散列算法 应该使用哪种单向散列函数呢 什么是单向散列函数 单向散…

【920信号与系统笔记】第二章 连续时间系统的时域分析

连续时间系统的时域分析 2.1引言综述n阶线性系统1.数学模型2.解法古典解法近代时域法(卷积法、算子法) 叠加积分法1.本质2. 待解决问题 2.2系统方程的算子表示法算子及其运算规则1.微分算子和积分算子2.运算规则3.电容和电感的伏安特性 转移算子1.定义2.…

20230508MTCNN1

多目标检测思路 单目标检测:图片 输入到 模型,模型输出 4个值 为什么模型只能检测单个目标? 因为模型 固定输出4个值,表示 一个目标 如何实现多目标检测?思路:一个一个地数 模型要能够 认识目标&#xff…

LiangGaRy-学习笔记-Day12

1、作业回顾 1.1、判断磁盘利用率 要求: 判断磁盘的使用率,如果超过了90%就警告 [rootNode1 sh]# vim disk_check.sh #!/bin/bash #Author By LiangGaRy #2023年5月9日 #Usage:检测硬盘的使用率 ########################################### #定义一…