【测试】测试用例篇

目 录

  • 一. 设计测试用例的万能公式(六个)
  • 二.设计测试用例的具体方法
    • 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…

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

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

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公司有夸大的传统,所以真实效果需要上…

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

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

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

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

老兵(11)

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

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

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

算法刷题:复写零

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

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…

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

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

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

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

Redis篇----第三篇

系列文章目录 文章目录 系列文章目录前言一、缓存雪崩**二、缓存穿透三、缓存预热四、缓存更新五、缓存降级 前言 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站&#xff0c;这篇文章男女…

【plt.scatter绘制散点图】:从入门到精通,只需一篇文章!【Matplotlib】

【plt.scatter绘制散点图】&#xff1a;从入门到精通&#xff0c;只需一篇文章&#xff01;【Matplotlib】&#xff01;&#x1f680; 利用Matplotlib进行数据可视化示例 &#x1f335;文章目录&#x1f335; 一、plt.scatter入门&#xff1a;轻松迈出第一步 &#x1f463;二、…

后端学习:Maven模型与Springboot框架

Maven 初识Maven Maven:是Apache旗下的一个开源项目&#xff0c;是一款用于管理和构建java项目的工具。 Maven的作用1.依赖管理2.统一项目结构3.项目构建依赖管理&#xff1a;方便快捷的管理项目依赖的资源(jar包)&#xff0c;避免版本冲突问题   当使用maven进行项目依赖…

太炸了!Sora深夜发布!网友:我要失业了

2022年末&#xff0c;OpenAI聊天机器人ChatGPT的面世无疑成为了引领人工智能浪潮的标志性事件&#xff0c;宣告了新一轮科技革命的到来。无论是聊天娱乐、教育学习&#xff0c;还是工作生产、医疗健康等领域&#xff0c;人工智能正以前所未有的速度渗透到我们生活的方方面面。 …

[NSSRound#16 Basic]Web

1.RCE但是没有完全RCE 显示md5强比较&#xff0c;然后md5_3随便传 md5_1M%C9h%FF%0E%E3%5C%20%95r%D4w%7Br%15%87%D3o%A7%B2%1B%DCV%B7J%3D%C0x%3E%7B%95%18%AF%BF%A2%00%A8%28K%F3n%8EKU%B3_Bu%93%D8Igm%A0%D1U%5D%83%60%FB_%07%FE%A2&md5_2M%C9h%FF%0E%E3%5C%20%95r%D4w…

【FPGA开发】HDMI通信协议解析及FPGA实现

本篇文章包含的内容 一、HDMI简介1.1 HDMI引脚解析1.2 HDMI工作原理1.3 DVI编码1.4 TMDS编码 二、并串转换、单端差分转换原语2.1 原语简介2.2 原语&#xff1a;IO端口组件2.3 IOB 输入输出缓冲区2.4 并转串原语OSERDESE2 笔者在这里使用的开发板是正点原子的达芬奇开发板&…