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

ops/2024/11/24 0:14:14/

文章目录

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

概念

什么是测试用例

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

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

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

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


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

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

设计测试用例的万能公式

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

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

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

设计测试用例的原则二:

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

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

女朋友说:我想喝东西

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

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

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

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

万能公式

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

  • 功能测试

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

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

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

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

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

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

水杯测试

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

image.png

弱网测试

为了覆盖更多的网络场景

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

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

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


安装卸载测试

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

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

http://www.ppmy.cn/ops/136176.html

相关文章

Qt 开发笔记

上层控件遮挡底部控件 setAttribute(Qt::WA_TranslucentBackground); // 设置控件透明设置控件透明 存在一些事件会被过滤 setAttribute(Qt::WA_NoSystemBackground); // 使事件生效WA_OpaquePaintEvent //未验证树结构 子节点设置缩进宽度 treewidget 设置子节点缩进 setInde…

Semaphore 信号量

文章目录 基本概念工作原理Semaphore 与 ReentrantLockSemaphore常用场景1. 限制并发线程数(最常见场景)2. 公平模式的信号量(保证按顺序访问资源)3. 限制数据库连接数(模拟数据库连接池)4. 限制 API 请求次…

使用uniapp开发微信小程序使用uni_modules导致主包文件过大,无法发布的解决方法

在使用uniapp开发微信小程序时候,过多的引入uni_modules的组件库,会导致主包文件过大,导致无法上传微信小程序,主包要求大小不超过1.5MB.分包大小每个不能超过2M。 解决方法:分包。 1.对每个除了主页面navbar的页面进…

医药企业的终端市场营销策略

近年来,随着医药行业的快速发展,终端市场逐渐成为企业竞争的关键领域。在政策趋严、市场环境变化以及数字化转型的大背景下,医药企业如何在终端市场中立于不败之地?本文结合我们在医药数字化领域的经验,为大家剖析终端…

CPU详细介绍

CPU(中央处理器,Central Processing Unit)是计算机系统的核心部件之一,被称为计算机的“大脑”。它负责执行计算机程序中的各种指令,并管理和协调计算机系统的各个硬件组件。以下是对 CPU 的详细介绍,包括其…

前端图像处理(一)

目录 一、上传 1.1、图片转base64 二、图片样式 2.1、图片边框【border-image】 三、Canvas 3.1、把canvas图片上传到服务器 3.2、在canvas中绘制和拖动矩形 3.3、图片(同色区域)点击变色 一、上传 1.1、图片转base64 传统上传: 客户端选择图片&#xf…

Spark RDD Checkpoint 常用于需要高容错性或深度依赖链优化的场景,特别是在机器学习和大数据处理过程中。

Spark RDD Checkpoint 常用于需要高容错性或深度依赖链优化的场景,特别是在机器学习和大数据处理过程中。下面详细分析其适用场景、原因和典型应用示例。 1. 常用场景 1.1 复杂计算链优化 场景: RDD 的依赖链非常复杂(深度很长&#xff09…

开源客户关系管理平台EspoCRM

简介 什么是 EspoCRM ? EspoCRM 是一个开源的客户关系管理(CRM)平台,旨在帮助组织建立和维护良好的客户关系。它提供了多种工具,用于存储、组织和管理潜在客户、联系人、销售机会、营销活动和支持案例等业务信息&…