【测试】测试用例篇

目 录

  • 一. 设计测试用例的万能公式(六个)
  • 二.设计测试用例的具体方法
    • 1.等价类
    • 2.边界值
    • 3.因果图(判定表)
    • 4.场景设计法
    • 5.正交法
    • 6.错误猜测法

一. 设计测试用例的万能公式(六个)

设计测试用例的万能公式

测试用例的意义是帮助测试人员了解:测什么,怎么测

功能测试+性能测试+界面测试+兼容性测试+易用性测试+安全测试

  • 功能测试:对产品的功能设计测试用例(来源是需求文档/日常生活经验)

  • 性能测试:功能测试没有问题不代表性能好

  • 界面测试:每个元素的大小、颜色、材质、形状;页面跳转、文字的错别字、遮挡等都需要进行测试

  • 兼容性测试:软件的不同版本是否兼容、不同浏览器、不同的系统版本、数据兼容性等等

  • 易用性测试:产品是否具备简单易上手的属性

  • 安全测试:用户的隐私数据是否加密(注册场景、接口返回值等等)

兼容性测试里需要注意:不同的浏览器,不同的版本,可能会有非常非常的多,难道所有的版本和浏览器我们都需要测试吗?我们选型的标准是什么?
 
不是所有的版本和浏览器都要进行测试,这是无法实现的

  1. 大部分用户使用的
  2. 在工作中是有数据后台可以检测到大部分用户使用到的浏览器/版本/手机型号.…(后台可以将这些数据进行检测和管理起来。参考数据管理平台给出的数据选型)

二.设计测试用例的具体方法

  • 基于需求的设计方法
  • 等价类
  • 边界值
  • 因果图
  • 正交排列
  • 场景设计法
  • 错误猜测法

1.等价类

当需要测试的数据较少的时候可以使用穷举法,但是当数据较多的时候,就行不通了,以此引入了 分区/分块 的概念。

依据需求将输入(特殊情况下会考虑输出)划分为若干个等价类,从等价类中选出一个测试用例,如果这个测试用例测试通过,则认为所代表的等价类测试通过,这样就可以用较少的测试用例达到尽量多的功能覆盖,解决了不能穷举测试的问题。

等价类分为 有效等价类无效等价类

  • 有效等价类:针对需求文档的要求是有意义的集合
  • 无效等价类:针对需求文档的要求没有意义的集合

步骤:

  1. 确认有效等价类和无效等价类
  2. 编写测试用例(写测试数据)

2.边界值

边界值非常容易产生问题

例如密码范围要求是 6~18 位数字,此时有效边界就是 6 和 18,无效边界就是 5 和 19。


3.因果图(判定表)

使用场景:输入条件的组合对应不同的结果(使用情况较少)

判定表设计测试用例的步骤:

  1. 确认输入条件和输出条件
  2. 找出输入条件和输出条件之间的关系(先找输入条件之间的可能的所有组合情况,根据组合给出对应的输出结果)
  3. 画判定表
  4. 根据判定表编写测试用例

案例:当订单使用了红包或者订单金额大于300元,则该订单是优惠订单,否则是不优惠的订单

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

判定表法和因果图法其实步骤都差不多,只不过因果图法里多了一步叫做 “画因果图” (非常难,且没有一个明确且具体的画法)


4.场景设计法

一个思路引导的作用

基本事件流和备选事件流:

在这里插入图片描述

编写测试用例:

  1. 基本事件流的用例:先插卡,输入正确的密码,选择取款功能…退卡
  2. 备选事件流:1) 插入卡之后,卡被ATM卡住…退卡。2) 插入卡之后,输入密码错误…退卡

5.正交法

用的比较少 基本不可见

正交试验设计法指从大量的试验中挑选出适量的、有代表性的点,依据 “正交表” 从而合理的设计出测试用例。

正交表的表示L4(2^3),4 代表的是 4 组试验(测试用例),3 代表的是因素数(输入条件),2 代表的每个因素数对应的水平数(输入条件的可能性)。

在这里插入图片描述

正交表的特性:

  1. 每一列中,不同的数字出现的次数相等
  2. 任意两列中数字的排列方式齐全而且均衡。(每个组合出现的次数都相同)
    在这里插入图片描述

根据正交表设计测试用例的步骤:

  1. 找出因素和水平
  2. 生成正交表
  3. 根据正交表来编写测试用例(需要借助生成正交表的工具: allparis)
  4. 补充可能存在遗漏但是非常重要的测试用例

如何使用 allparis 生成正交表

  1. 将水平和因素写入Excel
    在这里插入图片描述

  2. allparis 同级目录创建一个新的 txt 文件(a.txt),复制 Excel 中的因素和水平,粘贴到a.txt文本中。直接保存,不要做其他任何操作。

在这里插入图片描述

  1. 使用allparis工具生成正交表(cmd)

在这里插入图片描述

在这里插入图片描述

注意:保存正交表结果的文件不需要提前生成,可以是不存在的txt文件

6.错误猜测法

依赖测试人员的工作经验和积累

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

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

相关文章

linux 网络服务小实验

实验图和要求: 1)网关服务器:ens36:12.0.0.254/24,ens33:192.168.44.254/24;Server1:192.168.44.20/24;PC1和Server2:自动获取IP;交换机无需配置。…

GEE:最小距离(minimumDistance)回归教程(样本点、特征添加、训练、精度、参数优化)

作者:CSDN @ _养乐多_ 对于分类问题,这个输出通常是一个类别标签 ,而对于回归问题,输出通常是一个连续的数值。回归可以应用于多种场景,包括预测土壤PH值、土壤有机碳、土壤水分、碳密度、生物量、气温、海冰厚度、不透水面积百分比、植被覆盖度等。 本文将介绍在Google…

GB/28181 2022 上联检测项

序号 检测项目 技术要求 1平台注册 (上联) 受测平台注册到视频监控联网测试软 件,并在注册到期前进行刷新注册,注册 应携带协议版本标识 宜支持注册重定向功能 2平台注销 ( 上联 ) 受测平台从视频监控联网测试软件注 销 3平台校时 (上联) 受测平台从视频监控联网测试软…

频繁跳槽 可能问题出在你的性格上

谈到跳槽,小伙伴们会想到什么呢?换工作?涨薪?你有没有想过,目前的工作不合适,除了公司的原因,也有可能是自己性格的原因呢? 频繁跳槽有哪些优势和劣势呢?针对这些疑问&…

2024年【A特种设备相关管理(电梯)】找解析及A特种设备相关管理(电梯)模拟考试

题库来源:安全生产模拟考试一点通公众号小程序 A特种设备相关管理(电梯)找解析是安全生产模拟考试一点通生成的,A特种设备相关管理(电梯)证模拟考试题库是根据A特种设备相关管理(电梯&#xff…

【STM32 CubeMX】I2C层次结构、I2C协议

文章目录 前言一、I2C的结构层次1.1 怎样在两个设备之间传输数据1.2 I2C如何传输数据1.3 硬件框图1.4 软件层次 二、IIC协议2.1 硬件连接2.2 I2C 总线的概念2.3 传输数据类比2.3 I2C信号2.4 I2C数据的含义 总结 前言 在STM32 CubeMX环境中,I2C(Inter-In…

开年炸裂-Sora/Gemini

最新人工智能消息 谷歌的新 Gemini 模型 支持多达 1M的Token,可以分析长达一小时的视频 1M Token可能意味着分析700,000 个单词、 30,000 行代码或11 小时的音频、总结、改写和引用内容。 Comment:google公司有夸大的传统,所以真实效果需要上…

零基础学c++(第一节)

c啊&#xff0c;说白了就是为NOI做准备也就是信息学竞赛。 最基础必用模版&#xff1a; #include <bits/stdc.h> using namespace std; int main(){} 头文件 &#xff1a; #include <bits/stdc.h> 这是头文件&#xff0c;c中有许多头文件&#xff0c; 意思就是…

剪辑思维大学习(Day6) - 视频剪辑万能结构?

目录 一、写在前面 二、思路总结 1.五种音画表现形式 1&#xff09;.音乐表现力画面 2&#xff09;.音乐日常实拍 3&#xff09;.独白旁白有表现力的画面 4&#xff09;.文字画面音乐 5&#xff09;.画面音效 2.十种剪辑结构 一、写在前面 正在学习Pr剪辑&#xff0c…

鸿蒙语言ArkTS(更好的生产力与性能)

ArkTS是鸿蒙生态的应用开发语言 ArkTS提供了声明式UI范式、状态管理支持等相应的能力&#xff0c;让开发者可以以更简洁、更自然的方式开发应用。 同时&#xff0c;它在保持TypeScript&#xff08;简称TS&#xff09;基本语法风格的基础上&#xff0c;进一步通过规范强化静态检…

qt-C++笔记之打印所有发生的事件

qt-C笔记之打印所有发生的事件 code review! 文章目录 qt-C笔记之打印所有发生的事件1.ChatGPT问答使用 QApplication 的 notify 方法使用 QObject 的 event 方法 2.使用 QObject 的 event 方法3.使用 QApplication 的 notify 方法 1.ChatGPT问答 在Qt C中&#xff0c;若要打…

老兵(11)

百度文心一格&#xff0c;大约是一年前上线并免费向用户开放的。其实也不是免费&#xff0c;而是“电量”比较好获得&#xff0c;白送的就16/每天&#xff0c;如果只是好奇玩玩的话也算够吧。 当时就很开心&#xff0c;因为一直想着把一些文案图像化&#xff0c;做成漫画的形式…

从被“大V”忽悠到自主开发投资分析系统:我在基金投资中的跌宕起伏与转变

从被“大V”忽悠到自主开发投资分析系统&#xff1a;我在基金投资中的跌宕起伏与转变 回顾我初次涉足基金投资的经历&#xff0c;那是一段由盲目跟从、亏损惨重到痛定思痛、自我提升的曲折历程。起初&#xff0c;我深受某些财经“大V”的影响&#xff0c;他们凭借看似精准的市…

算法刷题:复写零

复写零 .习题链接题目描述算法原理初始值步骤1步骤2我的答案: . 习题链接 复写零 题目描述 给你一个长度固定的整数数组 arr &#xff0c;请你将该数组中出现的每个零都复写一遍&#xff0c;并将其余的元素向右平移。 注意&#xff1a;请不要在超过该数组长度的位置写入元素…

[uniapp页面路由跳转]详细讲解uniapp中使用标签和的api完成页面跳转使用方法 代码注释

目录 一、标签跳转--- 把跳转的信息写在标签当中1. a标签2. navigator标签 二、API跳转[编程式]-----通过方法 js方式跳转1. uni.navigateTo2. uni.redirectTo3. uni.switchTab4. uni.reLaunch5. uni.navigateBack 总结 Uniapp是一款基于Vue.js的跨平台开发框架&#xff0c;允许…

LEETCODE 164. 破解闯关密码

class Solution { public:string crackPassword(vector<int>& password) {vector<string> password_str;for(int i0;i<password.size();i){password_str.push_back(to_string(password[i]));}//希尔排序int gappassword.size()/2;while(gap>0){for(int i…

c++中的模板(5) -- 类模板与继承

目录 1. 父类是类模板&#xff0c;子类不是类模板。 代码分析: 总结: 2. 父类是普通类&#xff0c;子类是类模板。 代码分析: 3. 父类和子类都是类模板 前面我们说到的类模板是在一个类中&#xff0c;分类内实现&#xff0c;类外实现和分文件写几种情况。继承是类…

Eclipse Version: 2023-03 (4.27.0) JDK19 Tomcat10.2

Eclipse Version: 2023-03 (4.27.0) JDK19 Tomcat10.2

【数据统计】A股累计分红率排行榜

这里的分红率是指上市以来累计现金分红/累计净利润(年度)。上市以来指的是从上市日的上一年的12月31日的财报开始计算。 例如&#xff0c;以贵州茅台为例&#xff0c;截至2024年2月16日&#xff0c;其2023年的年报还没有发布&#xff0c;最近的年报是2022年&#xff0c;咱们从…

C语言学习day15:数组强化训练

题目一&#xff1a; 称体重&#xff1a;分别给10个值&#xff0c;来获得最大值 思路&#xff1a; 定义数组&#xff0c;给数组内赋10个值第一个下标的值与第二个下标的值进行比较定义max&#xff0c;将比较得来的较大的值赋值给max一直比较直到比较到最后一个下标&#xff0…