【测试】测试用例篇

news2024/11/25 0:46:28

目 录

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

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

相关文章

智慧公厕适合的场合

智慧公厕是以现代科技手段为基础,融合智能化、信息化和人性化设计的公共厕所,旨在提供更舒适、更便捷的如厕体验。智慧公厕适用于各种场合,包括城市公共厕所、旅游景区公共厕所、美丽乡村公共厕所、机场公共厕所、高铁和火车站公共厕所、高速…

el-upload组件的简单使用

最近公司的一个二期项目,开始要求复刻原有一期的功能页面。原先一期又不打算继续维护了,源码都没有。页面基本都涉及到了文件上传,以前很少使用到这个组件,公司有现成的表单设计器,文件上传都在组件里面拖动上传。在这…

w28DVWA-csrf实例

DVWA-csrf实例 low级别 修改密码&#xff1a;修改的密码通过get请求&#xff0c;暴露在url上。 写一个简单的html文件&#xff0c;里面伪装修改密码的文字&#xff0c;代码如下&#xff1a; <html><body><a href"http://dvwa:7001/vulnerabilities/csr…

浅谈语义分割、图像分类与目标检测中的TP、TN、FP、FN

语义分割 TP&#xff1a;正确地预测出了正类&#xff0c;即原本是正类&#xff0c;识别的也是正类 TN&#xff1a;正确地预测出了负类&#xff0c;即原本是负类&#xff0c;识别的也是负类 FP&#xff1a;错误地预测为了正类&#xff0c;即原本是负类&#xff0c;识别的是正类…

archLinux安装记录

archLinux安装记录 基于wsl的arch 启用wsl 首先&#xff0c;按Win S搜索启用或关闭Windows功能&#xff08;Turn Windows features on or off&#xff09;,打开虚拟机平台和WSL&#xff0c;并重启Windows。 重启后&#xff0c;进入Windows设置&#xff0c;检查更新。 更新完…

Lua内存管理策略

传统的内存管理策略主要分为两种&#xff1a;引用计数&#xff0c;和垃圾回收。相比后者每一段时间执行一次回收周期&#xff0c;前者是对于每一个变量都维护被引用数的策略。对于Lua这种轻量化语言而言&#xff0c;占据大内存的开销是极力避免的&#xff0c;而前者的方式显然是…

自动化测试-RIDE编写自动化脚本

自动化脚本软件测试的必修内容&#xff0c;是自动化测试的核心&#xff0c;脚本的逻辑严谨性、可维护性非常重要&#xff0c;优秀的自动化脚本需要能兼顾用例的正确有效性和自动化测试的效率&#xff0c;本篇文章将介绍如何用RIDE写自动化脚本。我们将深入探讨RIDE的具体用法&a…

websocket数据帧格式

客户端、服务端数据的交换&#xff0c;离不开数据帧格式的定义。因此&#xff0c;在实际讲解数据交换之前&#xff0c;我们先来看下WebSocket的数据帧格式。 WebSocket客户端、服务端通信的最小单位是帧&#xff08;frame&#xff09;&#xff0c;由1个或多个帧组成一条完整的消…

【Node.js】path 模块进行路径处理

Node.js 执行 JS 代码时&#xff0c;代码中的路径都是以终端所在文件夹出发查找相对路径&#xff0c;而不是以我们认为的从代码本身出发&#xff0c;会遇到问题&#xff0c;所以在 Node.js 要执行的代码中&#xff0c;访问其他文件&#xff0c;建议使用绝对路径 实例&#xff1…

比特币 P2PKH、P2SH

标准脚本P2PKH、P2SH 区块链重要基础知识7-1——标准脚本P2PKH、P2SH-CSDN博客 比特币中P2SH(pay-to-script-hash)多重签名的锁定脚本和解锁脚本 https://www.cnblogs.com/itlgl/p/10419325.html

如何设置HTML页面文字格式?

如何设置HTML页面文字格式&#xff1f; HTML 里的文本元素真的好有趣&#xff0c;它们能让文字呈现出不同的样式和含义。我决定深入探索一下&#xff0c;看看这些元素到底有哪些魔法。 HTML 文本格式化初探 在 HTML 里&#xff0c;想要改变文本的样式&#xff0c;就得靠那些…

【机器学习笔记】 9 集成学习

集成学习方法概述 Bagging 从训练集中进行子抽样组成每个基模型所需要的子训练集&#xff0c;对所有基模型预测的结果进行综合产生最终的预测结果&#xff1a; 假设一个班级每个人的成绩都不太好&#xff0c;每个人单独做的考卷分数都不高&#xff0c;但每个人都把自己会做的…

JDK8新增的时间

设计更合理&#xff0c;功能更丰富&#xff0c;使用更方便&#xff0c;都是不可变的对象&#xff0c;修改后会返回新的事件对象不会丢失最开始的时间&#xff0c;线程安全&#xff0c;能精确到毫秒、纳秒。 这三个类都有一个静态方法now()&#xff1a;获取系统当前时间对应的该…

爬虫-华为云空间备忘录导出到docx-selenium控制浏览器行为-python数据处理

背景适用情况介绍 老的荣耀手机属于华为云系统&#xff0c;家里人换了新荣耀手机属于荣耀云系统无法通过云空间将备忘录转移到新手机&#xff0c;不想让他们一个一个搞&#xff0c;于是整了一晚上想办法爬取下来。从网页抓取下来&#xff0c;然后存到docx文档中&#xff08;包…

不花一分钱,在 Mac 上跑 Windows(M1/M2 版)

这是在 MacOS M1 上体验最新 Windows11 的效果&#xff1a; VMware Fusion&#xff0c;可以运行 Windows、Linux 系统&#xff0c;个人使用 licence 免费 安装流程见 &#x1f449; https://zhuanlan.zhihu.com/p/452412091 从申请 Fusion licence 到下载镜像&#xff0c;再到…

phpstrom创建thinkphp项目

安装php和composer 参考 安装phpstrom 创建项目 查看thinkphp版本 https://packagist.org/packages/topthink/think 打开所在项目编辑配置 即可调试运行

软件工程师,超过35岁怎么办

概述 随着科技行业的飞速发展&#xff0c;软件开发工程师的职业道路充满了各种机遇和挑战。对于已经在这个行业摸爬滚打了十多年的软件开发工程师来说&#xff0c;当他们步入35岁这个年纪时&#xff0c;可能会感到一些迷茫和焦虑。许多人担忧&#xff0c;在以创新、活力、快速迭…

MongoDB从入门到实战之.NET Core使用MongoDB开发ToDoList系统(2)-Swagger框架集成

Swagger是什么&#xff1f; Swagger是一个规范且完整API文档管理框架&#xff0c;可以用于生成、描述和调用可视化的RESTful风格的 Web 服务。Swagger 的目标是对 REST API 定义一个标准且和语言无关的接口&#xff0c;可以让人和计算机拥有无须访问源码、文档或网络流量监测就…

MySQL篇之覆盖索引

一、定义 覆盖索引是指查询使用了索引&#xff0c;并且需要返回的列&#xff0c;在该索引中已经全部能够找到。 二、例子 1. id为主键&#xff0c;默认是主键索引。 2. name字段为普通索引。 select * from tb_user where id 1 覆盖索引 select id&#xff0c;na…

Codeforces Round 486 (Div. 3)

目录 A. Diverse Team B. Substrings Sort C. Equal Sums D. Points and Powers of Two E. Divisibility by 25 F. Rain and Umbrellas A. Diverse Team 找出不重复的同时存下下标即可&#xff0c;依次遍历map判断重复最后判断数量即可 void solve(){cin>>n>>…