【软件测试】设计测试用例的万能公式

文章目录

  • 概念
  • 设计测试用例的万能公式
    • 常规思考+逆向思维+发散性思维
    • 万能公式
      • 水杯测试
      • 弱网测试
        • 如何进行弱网测试
      • 安装卸载测试

概念

什么是测试用例?

测试⽤例(Test Case)是为了实施测试⽽向被测试的系统提供的⼀组集合,这组集合包含:测试环境、操作步骤、测试数据、预期结果等要素。

现在买回来了一个新的电视,需要测试,根据个人的经验:

  • 开机测试
  • 切换频道
  • 调一下分辨率
  • 测试一下网络电视
  • 蓝牙功能
    这些是我们买完电视之后一定会做的测试内容,而这些测试内容并不会写在纸上,以文字的形式展示出来。这里的一条一条表述就是一个测试用例

软件中涉及到的特性太多了,仅仅通过头脑风暴是无法完成一次完整的测试的。编写测试用例,通过编写测试用例我们可以想到要测试哪些内容,通过一次又一次的更新修改,将测试用例写到完成,功能覆盖率高即可


编写测试用例也有讲究(编写测试用例要素),但是这种讲究在很早之前用的比较多,现在用的比较少image.png|511

  • 笔试的时候编写测试用例题,需要按照 Excel表格 的方式来答题(会涉及到测试用例的要素);而笔试的时候回答测试用例题,按照思维导图的方式一一道来即可(不会涉及到测试用例的要素)

设计测试用例的万能公式

案例:
现在有⼀款产品,要求我们对“⻔锁”设计测试⽤例,假如你是测试⼈员,你会怎么设计呢?
image.png

  • 自己设计出来的测试用例整体上来说是合格的,但是说出来的测试用例不够具体,太笼统了,无法作为测试工具的参考依据
  • 工作中,测试用例的设计并不是越多越好,而是能够达到更大的功能覆盖率则是更好的
  • 但是在学习中,测试用例的设计一定是越多越好的

常规思考+逆向思维+发散性思维

设计测试用例的原则二:

  1. 测试用例的编写不仅应当根据有效和预料到的输入情况,而且也应该根据无效和未预料到的输入情况
  2. 检查程序是否“未做其应该做的”仅是成功的一般,测试的另一半是检查程序是否“做了其不应该做的”(是上一条原则的必然结果)
  3. 计划测试工作时不应默许假定不会发现错误

打开思维后,设计测试用例是想到一条说一条,没有正确的引导,说出来的测试用例一定是有限的且数量不容乐观

女朋友说:我想喝东西

  • 饮料
    • 奶茶
    • 果汁
    • 茶饮
  • 矿泉水
    • 康师傅
    • 农夫山泉
    • 怡宝
  • 美食里的
    • 玉米汁
    • 蔬菜汤
    • 西湖牛肉羹

说出家里的电器:电视机、电冰箱、空调… 突然脑袋宕机了,明明家里的电器非常多,但就是怎么都想不起来

  • 厨房里的电器:洗碗机、油烟机、电饭煲、电煮锅…
  • 客厅里的电器:电风扇、按摩椅、空调、灯、电话…
  • 卧室里的电器:电视、台灯、除螨仪、扫地机器人…
  • 卫生间里的电器:热水器、吹风机、刮胡刀、浴霸…

万能公式就是一个引导的作用,帮助大家按照分类来设计测试用例

万能公式

设计测试用例的万能公式:功能测试+界面测试+性能测试+兼容性测试+易用性测试+安全测试

  • 功能测试

    • 从产品功能角度出发,验证功能是否是正常的
  • 界面测试

    • 肉眼可以看到的部分都称为界面,界面所有的元素都需要测试
    • 界面涉及到的内容:元素(大小、颜色、形状、材质)
  • 性能测试

    • 在功能正常的基础上,进行性能测试
    • 通常为在一些极端的情况下,验证功能还是否正常
  • 五菱和法拉利的汽车最基础功能都一样
  • 但他们的性能是完全不一样的
  • 兼容性测试

    • 不同的版本(软件、系统)
    • 浏览器的兼容性
    • 不同的浏览器
  • 易用性

    • 具备简单易上手的属性
  • 安全测试

    • 密码进行加密展示
    • 数据库存储用户隐私数据加密
    • 越权
    • SQL 注入

水杯测试

使用万能公式设计水杯的测试用例

image.png

弱网测试

为了覆盖更多的网络场景

弱网测试的目的就是尽可能保证用户体验,关注的关键点包括:

  • ⻚⾯响应时间是否可以接受,关注包括热启动、冷启动时间、⻚⾯切换、前后台切换、⾸字时间,⾸屏时间等。
  • ⻚⾯呈现是否完成⼀致。
  • 超时⽂案是否符合定义,异常信息是否显⽰正常。
  • 是否有超时重连。
  • 安全⻆度:是否会发⽣ DNS 劫持、登陆 IP 更换频繁、单点登陆异常等。
  • ⼤流量事件⻛险:是否会在弱⽹下进⾏更新 apk 包、下载⽂件等⼤流量动作。
如何进行弱网测试

借助抓包工具来模拟实现弱网测试:抓包工具(Fiddler
image.png


安装卸载测试

针对需要进行部署的软件,除了软件功能外,我们还需要关注软件的能够成功安装和卸载

  • 安装:安装包是否可以安装、卸载之后是否可以继续安装、重复安装…
  • 卸载:安装完成后卸载、安装一半后卸载、卸载一次后继续安装继续卸载、卸载一半停止后是否还可以继续卸载…

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

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

相关文章

MySQL存储过程的详细说明

MySQL存储过程的详细说明 MySQL 存储过程是一种预编译的 SQL 语句集合,可以接受参数并返回结果。存储过程可以提高数据库的性能、可维护性和安全性。本文将详细介绍如何在 MySQL 中创建和使用存储过程,包括多个参数传入、返回输出和事务处理。 1. 存储…

在连通无向图中寻找欧拉回路(Eulerian Circuit)

在连通无向图中寻找欧拉回路(Eulerian Circuit) 问题描述解决方案概述算法步骤伪代码C代码示例如何在迷宫中找出一条路示例:在简单迷宫中应用欧拉回路结论问题描述 给定一个连通无向图 $ G = (V, E) $,我们需要找到一条路径,该路径正向和反向通过 $ E $ 中的每条边恰好一…

修改Android Studio项目配置JDK路径和项目Gradle路径的GUI工具

概述 本工具提供了一个基于Python Tkinter的图形用户界面(GUI),用于帮助用户搜索并更新Android Studio项目中的config.properties文件里的java.home路径,以及workspace.xml文件中的last_opened_file_path路径。该工具旨在简化手动…

ANSYS Maxwell:3PH 感应电机 - 第 1 部分 - 力与热耦合

在此博客中,我们使用 Ansys RMxprt 创建了 3PH 感应电机的 1D 模型,并从设计中自动开发具有所有设置、边界条件和激励的麦克斯韦模型。 ANSYS RMxprt 1D 模型 - 3PH 感应电机设计 请参阅上一篇博客下面的链接,了解如何设置电机设计的 RMxp…

岁月沉淀:梳理多年积累的笔记精华

1 最近,看着自己笔记系统中的各种电子笔记,真是挺多的,积攒了自己20年来工作的各种内容,其中也包括c和c编程的笔记。 自从工作以后,我就养成了随时做笔记的习惯。 很多内容,我只要学过一遍,问…

【linux】网络基础 ---- 数据链路层

用于两个设备(同一种数据链路节点)之间进行传递 数据链路层解决的问题是:直接相连的主机之间,进行数据交付 1. 认识以太网 "以太网" 不是一种具体的网络, 而是一种技术标准: 既包含了数据链路层的内容, 也包含了一些物理层的内容…

递归(二)---力扣22括号生成,力扣78求子集

22. 括号生成https://leetcode.cn/problems/generate-parentheses/ 括号生成 数字 n 代表生成括号的对数,请你设计一个函数,用于能够生成所有可能的并且 有效的 括号组合。 示例 1: 输入:n 3 输出:["((()))&quo…

若依笔记(十):芋道的菜单权限与数据隔离

目录 若依实现 菜单权限 按钮权限 数据隔离 在之前用户权限体系与数据隔离与前后端token鉴权体系中详细地说明了若依是如何实现登录鉴权与登录后菜单/按钮权限控制与数据控制的,本文基于芋道源码+vue3前端(2.2版本)研究它是怎么实现菜单权限控制与数据隔离的; 若依实现…

数据分布之指数分布(sample database classicmodels _No.10)

数据分布之指数分布(sample database classicmodels _No.10) 准备工作,可以去下载 classicmodels 数据库具体如下 点击:classicmodels 也可以去 下面我的博客资源下载 https://download.csdn.net/download/tomxjc/88685970 文章…

C++语言之类与对象1

什么是类 类是一种抽象的数据类型,作为对象的蓝图或模板,它将具有相同属性和行为的对象进行统一抽象封装。其中属性描述对象的特征,如 “汽车” 类中的颜色、品牌等;方法则定义对象可执行的操作,像 “汽车” 类的启动、…

Elasticsearch 和 Kibana 8.16:Kibana 获得上下文和 BBQ 速度并节省开支!

作者:来自 Elastic Platform Product Team Elastic Search AI 平台(Elasticsearch、Kibana 和机器学习)的 8.16 版本包含大量新功能,可提高性能、优化工作流程和简化数据管理。 使用更好的二进制量化 (Better Binary Quantizatio…

Everything介绍

Everything 是一款由 David Carpenter 开发的,适用于 Windows 操作系统的文件搜索工具。以下是它的主要功能和特点: 极快的搜索速度: Everything 通过索引本地存储设备上的文件和文件夹名称,实现快速检索。无论是在拥有少量文件的…

【Golang】——Gin 框架简介与安装

文章目录 1. Gin 框架概述1.1 什么是 Gin 框架?1.2 为什么选择 Gin?1.3 使用场景 2. 安装 Go 与 Gin 框架2.1 安装 Go 语言环境2.2 初始化 Go 项目2.3 安装 Gin 框架 3. 编写第一个 Gin 应用3.1 Gin 最小化示例代码代码解读3.2 运行程序3.3 测试服务 4. …

RGB与YCbCr转换算法

目录 RGB与YCbCr转换算法RGB与YCbCr色域介绍RGB模型YCbCr色域简介YCbCr的应用YUV 和 YCbCr 的区别 色彩转换公式 RGB 转 YCbCr 实现RGB 转 YCbCr 的 Matlab 实现RGB 转 YCbCr 的 FPGA 实现 YCbCr 转 RGB 实现YCbCr 转 RGB 的 Matlab 实现YCbCr 转 RGB 的 FPGA 实现 RGB与YCbCr转…

WebRTC视频 04 - 视频采集类 VideoCaptureDS 中篇

WebRTC视频 01 - 视频采集整体架构 WebRTC视频 02 - 视频采集类 VideoCaptureModule WebRTC视频 03 - 视频采集类 VideoCaptureDS 上篇 WebRTC视频 04 - 视频采集类 VideoCaptureDS 中篇(本文) WebRTC视频 05 - 视频采集类 VideoCaptureDS 下篇 一、前言…

MAC上的Office三件套报53错误解决方案(随笔记)

目录 现象原因解决方式1. 可视化2. 命令行 参考链接 现象 最近Mac Mini M4非常热门,我也种草买了一台丐中丐版本来体验一下。 在安装Office三件套后,遇到了一个53的错误: Run-time error 53:File not found: Library/Application Support/A…

人工智能与SEO优化中的关键词策略解析

内容概要 在当今数字化快速发展的时代,人工智能(AI)与搜索引擎优化(SEO)的结合正变得愈发重要。关键词策略是SEO优化的一项基础工作,它直接影响到网站的可见性和流量。通过运用智能算法,企业能…

一个可自由添加so动态库的框架

有文件描述符的队列原型 #include <iostream> #include <queue> #include <mutex> #include <sys/epoll.h> #include <sys/eventfd.h> #include <thread> #include <unistd.h> #include <vector> #include <optional>t…

【数据库】如何保证数据库迁移过程中数据的一致性?

在数据库迁移过程中&#xff0c;保证数据的一致性是非常重要的&#xff0c;尤其是在涉及到多个表、多个数据库或分布式系统的情况下。以下是一些确保数据一致性的最佳实践和方法&#xff1a; 1. 备份数据 在开始迁移之前&#xff0c;进行全面的数据备份是确保数据一致性的第…

第二十二章 TCP 客户端 服务器通信 - TCP设备的OPEN和USE命令关键字

文章目录 第二十二章 TCP 客户端 服务器通信 - TCP设备的OPEN和USE命令关键字TCP设备的OPEN和USE命令关键字TCP设备的OPEN和USE命令关键字 第二十二章 TCP 客户端 服务器通信 - TCP设备的OPEN和USE命令关键字 TCP设备的OPEN和USE命令关键字 可以使用位置参数(如上所述)或关键…