如何做好测试用例设计

 1、测试用例设计

  1.1、确定测试范围

  1、必须有完整的需求文档

  2、需求已经组织评审和澄清

  3、必须有完整的功能列表

  1.2、用例设计原则

  1、遵循“边界值”全覆盖原则

  2、遵循”等价类划分场景“全覆盖原则

  3、遵循”测试用例路径唯一“原则

  当出现多个路径时,需要新建用例去覆盖。一条用例仅覆盖一个测试点。降低漏测风险。

  4、遵循“单条用例覆盖最小化”原则

  假如要测试一个功能A,它有三个子功能点A1,A2和A3,下面两种方法来设计测试用例:

  方法1:用一个测试用例覆盖三个子功能-TestA1A2A3

  方法2:用三个单独的用例分别来覆盖三个子功能-TestA1,TestA2,TestA3

  方法2则遵循了“单条用例覆盖最小化”原则,好处,当用例执行失败时,降低复现/定位复杂度

  5、遵循“测试用例与测试用例之间最低耦合度”原则

  (1)严谨使用上一条测试用例的结果,做为下一条测试用例的输入。

  (2)每一条测试用例,应该都是完整独立的。

  这样做的好处便于测试用例拉取、复用、可维护、减少后续投入成本。

  1.3、用例设计维度

  1、功能

  (1)正向(正常)场景。

  (2)逆向(异常)场景。

  2、非功能

  (1)性能

  性能测试,首先需要有具体的、明确的性能指标需求。

  性能关注指标:CPU、Memory、IO、网络传输速率等。

  a.单品(模块)性能,比如SDK、算法、单独性能要求。

  b.整体性能,系统集成后的性能要求。

  c.网络传输性能。

  (2)可靠(稳定)性

  a.时间维度。

  b.负载稳定性。

  (3)健壮性

  a.看门狗。

  b.异常掉电。

  c.反复重启。

  (4)易用性

  a.安装易用性。

  b.运维易用性。

  c.功能操作易用性。

  (5)客户体验

  比如视频播放效果、操作是否顺手、开机时间等等。

  (6)安全性

  a.数据存储安全。

  b.网络传输安全。

  2、测试用例编写

  2.1、测试用例编写前提

  1、测试范围已经确定。

  2、测试点已经梳理完成。

  3、用例转换路径:业务需求-功能需求-测试需求-测试点-测试用例。

  2.2、用例标题

  概述测试用例的主要内容,明确用例测试意图。

  1、语言简洁,阐明本条用例是干什么。

  2、一句完整的话。

  3、遵循“条件/动作"规则。

  2.3、用例级别分布

  1、Lve1:基本(~10%)

  系统基本功能用例,可用于版本提交时的冒烟测试,可作为版本是否转测试通过和业务验收的依据。

  划分依据:该用例执行的失败会导致多处重要功能无法运行的。

  例如:开关机、升级等。

  2、Lve2:重要(~20%)

  系统中的重要功能用例。

  划分依据:主要包括一些功能交互相关、各种应用场景、客户使用频率较高的正常功能测试用例。

  例如:设备上报、录像回放效果、预览等功能。

  3、Lve3:一般(~60%)

  系统的一般功能。

  划分依据:一般功能用例,包括异常路径的测试用例;使用频率低于2级用例。

  例如:表单输入边界值、特殊字符的校验等。

  4、Lve4:生僻(~10%)

  该级别用例一般比较少。主要是一些使用频率非常少的功能等。如果用例执行不通过,不会对系统和业务造成太大的伤害的测试用例。

  划分依据:该用例对应较生僻的预置条件和数据设置。

  例如:日志记录错误等。

  2.4、预置条件

  1、执行测试用例关键必备条件。

  2、让用例的执行者更加明确系统当前状态。

  3、预置条件不能阻塞测试用例的执行。

  2.5、操作步骤

  1、需要明确“测试关键输入”数据。

  2、操作路径唯一,不唯一则多条用例覆盖(降低耦合)。

  3、以“面向过程”的形式编写。

  (1)过程描述准确、无歧义。

  (2)上下文必须衔接一致。

  好处:降低执行成本、降低后续维护成本。

  2.6、预期结果

  1、每一步操作都有对应的预期结果。

  2、预期结果一定是客观的、可判定的。

  (1)即测试执行结果的正确性是可判定的,每一个测试用例都应有相应的期望结果。

  (2)期望结果禁止使用正确,正常,错误之类的含糊主观的字眼。

  3、预期结果一定是符合需求的。

  4、预期结果一定是确定的。

  即对同样的测试用例,系统的执行结果应当是相同的、确定的。

  3、测试用例评审

  3.1、评审前

  1、让评审对象提前熟悉测试用例。

  2、反串讲需求。

  3、阐明最终测试范围。

  3.2、评审中

  1、测试

  (1)测试用例讲解。

  (2)再一次对需求做深入理解。

  2、开发

  (1)站在开发编码角度,检查测试用例是否有遗漏。

  (2)站在代码实现的角度,提供模块内部关联逻辑建议。

  3、产品经理

  (1)检查测试用例场景是否符合业务需求。

  (2)站在客户角度给测试用例提供建议。

  3.3、评审后

  1、发送和归档评审纪要。

  2、根据评审建议更新测试用例。

感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:

这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!有需要的小伙伴可以点击下方小卡片领取 

 

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

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

相关文章

精益管理3个阶段,如何实现高效企业管理?

在现今竞争激烈的市场环境下,企业需要不断提高经营效率和降低成本来保持竞争力。其中,精益管理是一种不错的管理方式,在各大企业得到广泛的运用。今天我们来了解一下精益管理的3个阶段,以及如何使用精益管理工具来实现高效企业管理…

高项备考葵花宝典-十大知识领域五大过程组-知识点综合归纳-考试技巧

不要怕,高项是比较难的一个考试。 项目管理总体一览口诀: 项目执行(指导与管理项目工作)数据(工作绩效数据)请收集,项目控制有依据,范围要认(检查),也要核(偏差分析),进度、成本、 采购要审查(绩效审查)&am…

【mujoco】Ubuntu20.04配置mujoco210

【mujoco】Ubuntu20.04配置mujoco210 文章目录 【mujoco】Ubuntu20.04配置mujoco2101. 安装mujoco2102. 安装mujoco-py3.使用render时报错Reference 本文简要介绍一下如何在ubuntu20.04系统中配置mujoco210,用于强化学习。 1. 安装mujoco210 在官方资源里找到http…

【Python】逆向与爬虫的故事

目录 一、前言 二、爬虫 1、什么是爬虫? 2、Python 爬虫的主要工具 3、爬虫的基本流程 4、实例代码 三、逆向 1、什么是逆向? 2、Python 逆向的主要工具 3、逆向的基本流程 4、实例代码 四、总结 一、前言 随着互联网技术的发展&#xff0c…

Pikachu漏洞练习平台之CSRF(跨站请求伪造)

本质:挟制用户在当前已登录的Web应用程序上执行非本意的操作(由客户端发起) 耐心看完皮卡丘靶场的这个例子你就明白什么是CSRF了 CSRF(get) 使用提示里给的用户和密码进行登录(这里以lili为例) 登录成功后显示用户…

STM32F407: CMSIS-DSP库的移植(基于库文件)

目录 1. 源码下载 2. DSP库源码简介 3.基于库的移植(DSP库的使用) 3.1 实验1 3.2 实验2 4. 使用V6版本的编译器进行编译 上一篇:STM32F407-Discovery的硬件FPU-CSDN博客 1. 源码下载 Github地址:GitHub - ARM-software/CMSIS_5: CMSIS Version 5…

Uniapp导出的iOS应用上架详解

目录 Uniapp导出的iOS应用上架详解 摘要 引言 苹果审核标准 苹果调试 注意事项和建议 总结 摘要 本文将探讨Uniapp导出的iOS应用能否成功上架的问题。我们将从苹果审核标准、性能影响、调试流程等多个方面进行深入分析,以及向开发者提供相关注意事项和建议。…

概率论和数理统计(四)方差分析与回归分析

前言 实际场景中,也需要研究两个变量的关系.检验也可能出现两个以上的总体. 方差分析 假设检验中,若需检验 H 0 : μ 1 μ 2 , H 1 : μ 1 ̸ μ 2 H_0:μ_1μ_2,H_1:μ_1 \notμ_2 H0​:μ1​μ2​,H1​:μ1​μ2​&#x…

UPLAOD-LABS2

less7 任务 拿到一个shell服务器 提示 禁止上传所有可以解析的后缀 发现所有可以解析的后缀都被禁了 查看一下源代码 $is_upload false; $msg null; if (isset($_POST[submit])) {if (file_exists($UPLOAD_ADDR)) {$deny_ext array(".php",".php5&quo…

LVS负载均衡

LVS 概述 LVS是Linux Virtual Server的缩写,是一种基于Linux内核实现的高可用性、高性能的负载均衡技术。它可以将来自客户端的请求分发到多台服务器上,实现多台服务器的负载均衡,提高整个系统的性能和可用性。 LVS技术主要包括以下几个组件…

(一)QML加载离线地图+标记坐标点

1、实现效果 加载离线地图瓦片、鼠标拖拽、滚轮缩放在地图上固定坐标位置标注地名 (一)QML加载离线地图标记坐标点:MiniMap全屏 2、实现方法 2.1、使用工具下载离线地图 不废话,直接搬别人的砖,曰:他山之…

Linux系统软件安装方式

Linux系统软件安装方式 1. 绿色安装2. yum安装3. rpm安装3.1 rpm常用命令 4. 源码安装4.1 安装依赖包4.2 执行configure脚本4.3 编译、安装4.4 安装4.5 操作nginx4.6 创建服务器 1. 绿色安装 Compressed Archive压缩文档包,如Java软件的压缩文档包,只需…