做好测试用例的分析 ? 是做好软件测试的必要步骤。

目录

1.测试用例的分析指标

2.可能原因的论证

3.确定原因的解决方案


 

测试用例作为测试人员最重要的输出物之一 ,它的作用不仅仅是能保证需求覆盖 ,提高测试覆盖率等 。通过对执行后的测试用例分析 ,你也可以发现更多在编写上,执行上出现的问题,从而进行修改和完善 。

1.测试用例的分析指标

那么 ,我们该如何做测试用例的分析呢 ?我们可以通过以下几个方面去分析 :

指标1:测试用例发现bug的占比 :是指通过测试用例发现的bug数占总bug数的比率 ,因为除了通过执行测试用例发现bug外 ,还可以通过随机测试或探索式发现bug 。 我们一般是希望这个比值是一个合理的范围,太高或太低都其实都是一个不健康的测试 。那么如果这个比值太高的话 ,可能是以下的问题导致 :

  • 随机发散测试的时间不足 ,花在测试用例执行的时间太长 ,可能的原因是测试轮次安排不合理或者测试时间不够 。

  • 太依赖测试用例发现bug ,测试手段单一 ,或者不愿意发散测试 ,可能原因是团队比较沉闷,缺乏激情 ,只是一味的去执行 。

  • 发散测试或探索测试的效果不好 ,团队不擅长发散测试 ,不能有效的发现深入的bug ,可能原因是团队成员不注重这方面的积累,或者缺少这方面的能力等。

如果这个值太低的话 ,可能是以下的问题导致 :

  • 随机发散的测试投入过多 ,压缩了测试执行时间 ,可能的原因是测试轮次安排不合理或者测试时间不够 。

  • 测试用例设计水平不高 ,存在测试设计遗漏情况 。可能的原因是不太会使用测试方法或者不去使用测试方法 。

  • 对业务理解不深入,不准确导致 ,存在设计无效或错误的情况 。

指标2:测试用例的首次执行通过率 :是指测试用例第一次的执行结果为通过的用例占总用例的占比 ,若此占比值高 ,有可能原因的是开发的版本质量比较高 ,或者是测试用例所使用的测试方法单一或不够深入等 ;若此占比值低 ,说明开发版本质量较低或者测试方法比较有效 。所以我们拿这个指标可以评估产品开发的质量或者测试方法的有效性 。

指标3:测试用例的有效率 :是指执行时有效用例占总用例数的占比 ,若此值太低的话 ,有可能的原因就是测试方法使用不够熟练 ,或者是测试人员对业务理解不够准确或深入 ,亦或者需求变动大导致用例不适用了 。所以通过此指标可以评估测试人员对业务的理解情况或者需求的变更情况 。

指标4:测试用例的执行时间 :一般我们会将测试用例执行安排在第一轮测试中,它的总占比时间不能超过50% ,如果这个时间太长的话 ,有可能的原因就是测试效率执行低下 ,遇到难以执行卡的时间太长 ,缺少对执行时间长的用例的有效解决办法 ,团队评估的测试周期差距大,没有估计到执行过程中遇到的各种问题 。所以通过此指标可以评估测试人员的执行效率 ,难执行用例的解决方案的效果 或者测试周期评估的准确性 。

2.可能原因的论证

虽然我们列举了几个分析的测试用例指标 ,也进行各种情况的分析 ,但是光分析还不够 ,你还要去论证和解决这些分析后所产生的结果 。比如你已经发现测试用例的首次执行通过率这个值很高,分析后得出的可能原因是版本质量高或者是测试方法使用不当导致 ,那么它的具体原因是什么 ? 这个还需要我们去进行论证 ,可行的方法就是结合历史数据进行比对 ,分析出那个才是真正原因 ,比如说导致通过率过高可能是你的测试方法使用不当 ,那么就要分析在以往的版本中是否也是这种情况 ,其他测试人员编写的用例通过率如何 ? 通过这么几个维度的数据比较,基本就能确定出具体的原因 。所以,在这个分析和论证的过程中,你要比较的历史数据和比较的维度就显得很重要 。所以,建议每个版本测试完毕后,尽量要保留重要维度的历史数据 ,以供在后续版本中进行分析。比如以下 :

 

3.确定原因的解决方案

找到了具体原因还不行,我们总的解决它,否则以上工作做的再好也是白费劲 。想解决方案,在后续版本中实践此方案 ,同时监测其效果 。比如我们确定了使用的测试方法效果不太好 ,导致测试用例首次执行通过率很高 。那么你可能想到的方案是 :

  • 找设计用例比较好的同事进行培训 ,然后制定同一标准 ,让大家以后也按照这个标准来设计 ,并加强评审环节的监督 。

  • 买一些测试用例设计的书籍或者视频 ,大家一起去学习 ,然后开会讨论 ,总结出经验 。

  • 复盘以前bug ,通过对好bug的分析 ,然后形成一些方法,最终用到测试用例中 。

通过列举出以上的方案 ,并且在后续工作实践这些方案 ,然后在后续的版本迭代中在此监控用例首次执行通过率这个指标 ,并记录各版本的历史数据 ,通过多个版本历史数据比对最终确定方案是否有效 ,如若方案效果不好 ,可以更换方案再试,直到达到预期的效果。

所以,通过以上的过程我们可以看到 ,有的问题并非是我们想象的那么容易 ,提供了新方法,就能立马见效或者有效 ,是需要不断的重复尝试的一个过程 。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【百度Apollo】本地调试仿真:加速自动驾驶系统开发的利器

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《linux深造日志》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! ⛳️ 推荐 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下…

05 - 什么是路由协议

1 路由协议 路由协议(英语:Routing protocol): 是一种指定数据包转送方式的网上协议。Internet网络的主要节点设备是路由器,路由器通过路由表来转发接收到的数据。 路由协议,根据转发策略进行分类&#xff…

C/C++ - 类的多态机制

目录 多态概念 多态定义 多态的触发机制 虚函数 虚函数表 虚析构函 虚析构函数声明 虚析构函数的作用 纯虚函数 纯虚函数的声明 纯虚函数的作用 抽象类 多态原理 虚函数表 & 虚函数指针 继承机制下的虚函数表 动态绑定 多态概念 狗狗发出的声音为 -> 旺…

Redis -- String 字符串, 计数命令,字符串操作

"学如逆水行舟,不进则退。" 目录 Redis的String字符串 常见命令 set get mget mset setnx setex psetex 计数命令 incr incrby decr decrby incrbyfloat 字符串操作 append getrange setrange strlen 小结 string内部编码 Redis…

web应用课——(第四讲:中期项目——拳皇)

代码AC Git地址:拳皇——AC Git链接

迁移学习实现图片分类任务

导入工具包 import time import osimport numpy as np from tqdm import tqdmimport torch import torchvision import torch.nn as nn import torch.nn.functional as Fimport matplotlib.pyplot as plt %matplotlib inline# 忽略烦人的红色提示 import warnings warnings.fi…

11.Ubuntu

目录 1. 什么是Ubuntu 1.1. 概述 1.2. Ubuntu版本简介 1.2.1. 桌面版 1.2.2. 服务器版 2. 部署系统 2.1. 新建虚拟机 2.2. 安装系统 2.3. 部署后的设置 2.3.1. 设置root密码 2.3.2. 关闭防火墙 2.3.3. 启用允许root进行ssh 2.3.4. 安装所需软件 2.3.5. 制作快照 …

企业图纸数据防泄密方案(图纸防泄密的几个实用方法)

在当今的商业环境中,企业图纸数据的重要性日益凸显。无论是产品设计、研发、生产还是项目管理,图纸都承载着企业的核心知识产权和商业机密。 然而,随着信息技术的迅猛发展,企业图纸数据泄密事件屡屡发生,给企业带来了…

【20240131】USB相机(查看设备列表、打开设备)

USB相机采集 1、v4l2查看设备列表2、查看具体设备信息3、在桌面打开USB相机 1、v4l2查看设备列表 打开终端,输入:v4l2-ctl --list-devices usb设备在Webcam: Webcam栏,分别是video9和video10,下一步:确定哪一个是接入…

存内计算——发展史与近期成果

存内计算的概念早在上个世纪就已经被提出,但当时的人们寄希望于通过优化处理器设计以及工艺制程的升级,来获得性能和能效比的提升,存内计算的研究仅停留在理论阶段。随着大数据时代的到来,存内计算由于其结构特点以及摩尔定律的“…

机器学习 低代码 ML:PyCaret 的使用

✅作者简介:人工智能专业本科在读,喜欢计算机与编程,写博客记录自己的学习历程。 🍎个人主页:小嗷犬的个人主页 🍊个人网站:小嗷犬的技术小站 🥭个人信条:为天地立心&…

大数加法-----蓝桥杯

题目描述 以字符串的形式读入两个数字&#xff0c;编写一个函数计算它们的和&#xff0c;以字符串形式返回。 数据范围: s.length,tlength < 100000&#xff0c;字符串仅由0~9构成要求: 时间复杂度 O(n)。 结构示例1&#xff1a; 结果示例2&#xff1a; 代码展示&#xff…

在中国,大多数做机器视觉工程师的人的出路是什么?

工程师一直号称是靠技术吃饭&#xff0c;越老越吃香。显然我们机器视觉工程师归属于工程师。 可是这种是一种低级趣味的思维力度。 试问现在程序员难道不是越老越吃香吗&#xff1f; 律师难道不是吗&#xff1f; 银行家难道不是吗&#xff1f; 现在整体经济下滑情况&#xff0…

C++ 菱形继承和虚拟菱形继承

菱形继承和虚拟菱形继承 菱形继承1. 概念2. 产生的问题 虚拟菱形继承1.1 使用1.2 原理 菱形继承 1. 概念 菱形继承是多继承的一个特殊情况&#xff0c;多继承是指一个子类类继承了两个或以上的直接父类&#xff0c;而菱形继承问题的产生是因为该子类的父类&#xff0c;继承了…

超好看的前端特效HTML特效、CSS特效、JS特效(第一期)

超好看的前端特效 1. 粒子组成文字动画特效 文件组成&#xff1a; base.css import url(https://fonts.googleapis.com/css?familyAbrilFatface|Raleway:300,400,900);.coidea-header {position: fixed;display: block;width: 96%;width: calc( 100% - 32px );height: 40px;m…

面试题:Feign第一次调用为什么会很慢?

文章目录 前言Ribbon是如何进行负载的RibbonClientConfigurationZoneAwareLoadBalancerRibbon负载均衡策略Ribbon-eager-load&#xff08;饥饿加载&#xff09;模式开启Ribbon饥饿加载总结 前言 首先要了解 Feign 是如何进行远程调用的&#xff0c;这里面包括&#xff0c;注册…

Fiddler修改https请求与响应 bug修复变灰了选不了等 Fiddle对夜神模拟器抓包设置

不要修改别人的东西&#xff0c;不要修改别人的东西&#xff0c;不要修改别人的东西 只用于自己的网站&#xff0c;自己安全调试。 fiddler修改https请求 1、打到要改的请求 2、替换请求内容 3、开启捕获。操作产生请求。 4、fiddler里查看请求或响应数据 &#xff0c;确认成…

ubuntu20配置mysql8

首先更新软件包索引运行 sudo apt update命令。然后运行 sudo apt install mysql-server安装MySQL服务器。 安装完成后&#xff0c;MySQL服务将作为systemd服务自动启动。你可以运行 sudo systemctl status mysql命令验证MySQL服务器是否正在运行。 连接MySQL 当MySQL安装…

操作系统基础:进程同步【下】

&#x1f308;个人主页&#xff1a;godspeed_lucip &#x1f525; 系列专栏&#xff1a;OS从基础到进阶 1 进程同步⛵1.1 吸烟者问题✈️1.1.1 问题描述✈️1.1.2 问题分析1.1.2.1 关系分析&#xff08;确定同步、互斥关系&#xff09;1.1.2.2 整理思路&#xff08;确定PV操作的…

Golang语言异常机制解析:错误策略与优雅处理

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到网站https://www.captainbed.cn/kitie。 前言 作为开发者来说&#xff0c;我们没办法保证程序在运行过程中永远不会出现异常&#xff0c;对于异常…
最新文章