『测试基础』| 如何理解测试用例管理和缺陷管理?

news2025/6/15 6:14:04

『测试管理攻略』| 如何理解测试用例管理和缺陷管理?

  • 1 测试用例定义
  • 2 测试用例设计原则
  • 3 测试用例的评审
  • 4 测试如何维护?
  • 5 用例的作用
  • 6 用例管理工具
  • 7 缺陷关注的重点
  • 8 缺陷分析
  • 9 缺陷管理工具

1 测试用例定义

  • 测试用例(TestCase)为测试对象编制一种测试输入、执行条件和预期结果;
  • 用例可以体现测试方案、方法、技术和策略;
  • 用例的内容一般包含:
# 测试对象名称
# 测试项
# 测试目标
# 测试环境
# 测试输入
# 测试步骤
# 预期结果
# 测试脚本等
  • 平常我们最简化的测试用例至少应该包含测试输入和预期结果。

2 测试用例设计原则

  • 测试用例应覆盖三类事件:
# 1、基本事件:根据需求需要实现所有功能的测试用例,覆盖率达到100%;
# 2、备选事件:程序执行中的备选情况;
# 3、异常事件:程序执行出错处理的路径。
  • 使用等价类划分法实现基本测试用例,将无限测试变成有限测试;
  • 使用边界值发现程序可能出现错误的边界问题或临界条件;
  • 使用错误推断法追加一些测试用例,这个和一些经验有关;
  • 对照程序逻辑,检查已设计测试用例的逻辑覆盖程度;
  • 关于有输入条件的测试用例,在开始时应选择决策表驱动法和因果图法;
  • 对于参数配置类软件,应采用正交实验法设计用例;
  • 对于业务流程清晰的系统,可采用场景法设计用例。

3 测试用例的评审

评审的要点,可以分以下内容:

  • 是否覆盖了测试需求的所有功能点?
  • 是否覆盖了所有非功能性测试需求?
  • 测试用例编号是否和测试需求对应?
  • 测试设计是否包含了正面和反面的测试用例?
  • 是否明确了测试特性、步骤、执行条件、预期结果等内容?
  • 是否包含了测试数据、测试数据的生成办法?
  • 是否具备可操作性?
  • 优先级安排是否合理?
  • 是否删除了冗余的测试用例?
  • 用例设计的是否简洁?是否复用性强?

4 测试如何维护?

一般情况下我们需要对测试用例进行维护更新,更新的点有:

  • 废弃的用例如何处理?
  • 因需求的变更,用例的标识和需求的标识是否对应?
  • 经过多次迭代测试,用例的优先级执行是否需要更改?
  • 用例的设计场景是否需要完善?
  • 用例的执行人员是否设置合理?
  • 用例的版本更新等。

另外,为什么需要更新维护呢?原因有下:

  • 测试过程中发现用例设计不全,需要进行补充完善;
  • 软件交付后反馈了软件问题,而这些问题恰巧在测试时并没有发现,需要对这些缺陷补充相关的用例;
  • 软件的更新,导致需求有所变动,需要更新用例等。

5 用例的作用

  • 发现和跟踪软件缺陷;
  • 更准确的反应软件的某一个特性;
  • 反应软件的性能和质量;
  • 明确故障责任等。

6 用例管理工具

  • 用例管理的工具有很多,比如
1、PingCode;2、TestRail;
3、TestLink;4、Jira;
5、PractiTest;6、PractiTest;
7、Zephyr Enterprise;8、MeterSphere;
9、Bugzilla、10、ZenTao
  • 我们这里来举个例子,比如禅道(以下为举例,仅供参考,具体的工具使用还是需要根据团队和项目的规模和工作模式来选择):
    在这里插入图片描述
    用例的创建基本包含了很多常用的字段:
    在这里插入图片描述
  • 用例执行,一般要说明这个用例执行的情况,比如失败还是通过等等:
    在这里插入图片描述
  • 大部分平台也可以对用例进行关联bug、关联需求、关联项目等等,有的是针对项目设计用例,有的是直接用例库中进行设计,需要的时候可以进行关联操作等。

7 缺陷关注的重点

  • 以下是列出了缺陷需要关注的一些部分重点字段,当然不止这些:
关键字段说明
缺陷状态比如已提交、待修改、已确认、已修改、重复、待评审、关闭等等
缺陷标题简单明了说明缺陷
严重程度一般为致命、严重、一般、提示、建议;有的也分A、B、C、D等
紧急程度从1到4,最高为1级
缺陷类型功能缺陷、界面设计缺陷、安全性、接口、性能、数据等缺陷
提交人缺陷的提交人员,便于缺陷复现、跟踪和管理
所属项目或模块明确缺陷的所属
解决人一般为对应的开发人员
解决时间比如项目经理指定的开发人员解决缺陷的时间
关闭时间最终被关闭的时间等

8 缺陷分析

我们需要对缺陷进行统计分析,比如以下:

  • 缺陷的主要分布模块;
  • 缺陷产生的原因;
  • 根据已知的缺陷,分析可能产生的缺陷模块;
  • 根据缺陷的产生,分析软件的质量情况;
  • 根据提交缺陷,分析测试人员的技术提升点;
  • 根据缺陷修改的程度,分析对应解决人的缺陷解决质量情况等。

9 缺陷管理工具

  • 之前提到的用例管理工具同样适用缺陷管理:
1、PingCode;2、TestRail;
3、TestLink;4、Jira;
5、PractiTest;6、PractiTest;
7、Zephyr Enterprise;8、MeterSphere;
9、Bugzilla、10、ZenTao
  • 我们看个工具吧,比如TAPD
    在这里插入图片描述
  • 缺陷的创建:
    在这里插入图片描述
  • 一个简单的缺陷流程:
    在这里插入图片描述

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

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

相关文章

[山东大学操作系统课程设计]实验三

0.写在前面(重点) 由于一些突发事件,导致目前大家手里或多或少都有了完整版的答案了。甚至很多学长学姐们写的代码远比我写的要好很多。 但是这个系列我觉得还是稍微坚持下去一点,或许某些地方可以帮到未来的同学们。 还是那句话,有需要可…

百度智能云文字识别使用问题解决合集

1.创建试用程序时需要16位的签名MD5 解决方法:使用Java8 201版本及以下的jdk创建签名 下载地址:http://www.codebaoku.com/jdk/jdk-oracle-jdk1-8.html#jdk8u201 生成签名代码:keytool -genkeypair -v -keystore D:\key.jks -storetype PKC…

rdf-file:SM2加解密

一:SM2简介 SM2是中国密码学算法标准中的一种非对称加密算法(包括公钥和私钥)。SM2主要用于数字签名、密钥交换和加密解密等密码学。 生成秘钥:用于生成一对公钥和私钥。公钥:用于加密数据和验证数字签名。私钥&…

YOLOv8改进 | 2023 | 给YOLOv8换个RT-DETR的检测头(重塑目标检测前沿技术)

一、本文介绍 本文给大家带来是用最新的RT-DETR模型的检测头去替换YOLOv8中的检测头。RT-DETR号称是打败YOLO的检测模型,其作为一种基于Transformer的检测方法,相较于传统的基于卷积的检测方法,提供了更为全面和深入的特征理解,将…

Safe and Practical GPU Computation in TrustZone论文阅读笔记

Safe and Practical GPU Computation in TrustZone 背景知识: youtube GR视频讲解链接:ASPLOS’22 - Session 2A - GPUReplay: A 50-KB GPU Stack for Client ML - YouTube GPU软件栈: 概念:"GPU软件栈"指的是与GPU硬件…

【代码】基于改进差分进化算法的微电网调度研究matlab

程序名称:基于改进差分进化算法的微电网调度研究 实现平台:matlab 代码简介:了进一步提升差分进化算法的优化性能,结合粒子群(PSO)算法的进化机制,提出一种混合多重随机变异粒子差分进化算法(DE-PSO)。所提算法不仅使用粒子群差分变异策略和…

⭐ Unity 里让 Shader 动画在 Scene 面板被持续刷新

写 Unity Shader的时候,只有播放状态下的 Game 面板能看到Shader 顺畅的动态效果,不方便。 想要带有动态效果的 Shader 在 Scene 面板持续更新动画,只需要打开一个开关就能让 Scene 持续刷新动画了。 感谢大家的观看,您的点赞和关…

nrm安装以及常用命令

做为开发者,我们经常会使用到淘宝镜像去安装一些包。基本上设置的都是cnpm这种。但是这一长串其实很难记住。这时,我们可以用nrm进行镜像的切换更为方便。 npm install -g cnpm --registryhttps://registry.npm.taobao.org 安装方法 npm install nrm …

代码随想录算法训练营第38天| 509. 斐波那契数 70. 爬楼梯 746. 使用最小花费爬楼梯

JAVA代码编写 动态规划(Dynamic Programming) 一个问题可以划分为多个子问题,且子问题之间有关联,就可以使用动态规划。 动态规划问题步骤: 确定dp数组(dp table)以及下标的含义确定递推公式…

Linux操作系统 2.Linux基础命令

Linux基础命令,掌握这一套清晰的讲解就够啦! 本篇博客给大家带来的是Linux的基础命令和vi编辑器 感谢大家收看~ 一、Linux目录结构 Linux的目录结构是一个树形结构,Linux只有一个根目录 / 所有文件都存在/下面 Linux路径的描述方式 Linux系…

通过查看ThreadLocal的源码进行简单理解

目录 为什么要使用ThreadLocal? 简单案例 ThreadLocal源码分析 断点跟踪 为什么要使用ThreadLocal 在多线程下,如果同时修改公共变量可能会存在线程安全问题,JDK虽然提供了同步锁与Lock等方法给公共访问资源加锁,但在高并发…

OpenCV-Python:计算机视觉框架

1.背景 俗话说“工欲善其事必先利其器”,想要学好计算机视觉,需要借助于相关的计算机视觉库,这样在进行学习的时候可以达到事半功倍的效果。 2.早期计算机视觉框架概述 Matlab的最早历史可以追溯到1970年,开始是作为数据处理工…

YUVRGB

一、直观感受 根据上面的图片,不难看出: RGB的每个分量,是对当前颜色的一个亮度值Y分量对呈现出清晰的图像有着很大的贡献Cb、Cr分量的内容不太容易识别清楚YUV将亮度信息(Y)与色度信息(UV)分离…

最多不一定最好,只有适合的才是最好的!电脑的内存多大才是合理的

RAM,或称随机存取存储器,是最好的笔记本电脑和最好的电脑最重要的组成部分之一。硬盘驱动器(HDD)或固态驱动器(SSD)存储可以被视为电脑的长期内存,内存是其短期内存。内存可以跟踪后台运行的应用…

P6 链表 插入数据节点 尾插法指定节点插入

目录 前言 ​编辑 01 链表指定节点后插入数据(根据节点号插入) 测试代码 02 链表指定节点后插入数据(根据节点的数据插入) 尾插法的代码 前言 …

for循环定义域问题

记录一个偶然发现的问题&#xff0c;代码如下 int main(int argc, char *argv[], char *envp[]){for(int i 1; i < 10; i);printf("%d",i); return 0; } 可以看到for循环后加了一个分号&#xff0c;按理说应该报变量i未定义的错误&#xff0c;但此时在编译器中…

RCE绕过

1.[SCTF 2021]rceme 总结下获取disabled_funciton的方式 1.phpinfo() 2.var_dump(ini_get(“disable_functions”)); 3.var_dump(get_cfg_var(“disable_functions”)); 其他的 var_dump(get_cfg_var(“open_basedir”)); var_dump(ini_get_all()); <?php if(isset($_POS…

使用coco数据集进行语义分割(1):数据预处理,制作ground truth

如何coco数据集进行目标检测的介绍已经有很多了&#xff0c;但是关于语义分割几乎没有。本文旨在说明如何处理 stuff_train2017.json stuff_val2017.json panoptic_train2017.json panoptic_val2017.json&#xff0c;将上面那些json中的dict转化为图片的label mask&am…

C++入门篇第十篇----继承

前言&#xff1a; 本篇我们将开始讲解C的继承&#xff0c;我想要说的是&#xff0c;C的主体基本就是围绕类和对象展开的&#xff0c;继承也是以类和对象为主体&#xff0c;可以说&#xff0c;C相较于C优化的地方就在于它对于结构体的使用方法的高度扩展和适用于更多实际的场景…

ffmpeg 任意文件读取漏洞/SSRF漏洞 (CVE-2016-1897/CVE-2016-1898)

漏洞描述 影响范围 FFmpeg 2.8.x < 2.8.5FFmpeg 2.7.x < 2.7.5FFmpeg 2.6.x < 2.6.7FFmpeg 2.5.x < 2.5.10 漏洞环境及利用 搭建docker环境 访问8080端口看到上传界面 由于vulhub并没有讲述该漏洞如何复现&#xff0c;我们需要进入环境查看源码 <?php if(!…