当前位置: 首页 > news >正文

测试用例优先级划分_如何为测试用例分级?

一、用例分级有哪些好处

首先我们思考如下几个问题,先不要往后看,看看自己的答案是怎样的?

1、在回归测试中有数千个测试用例,没有足够的时间和人力来执行所有用例,该怎么做?

2、修复Block和Critical的缺陷成本非常高,怎么优先提供最大测试覆盖提前发现模块主要功能Bug?

3、某模块功能改动很小,如何根据测试策略筛选用例执行?

二、当前现状&解决方案

用例分级前

1、用例等级定义形同虚设,不统一,没有参考价值

2、各阶段全Case测试时,各模块的用例测试按从前到后测试,没有优先级之分

3、针对专项申请,不管修改点小还是修改点大,涉及的模块基本功能都是全部安排测试

4、针对后期PVT阶段、模块已稳定,回归测试时要么不测,要么全部测试

5、功能用例自动化转换能自动化部分实现全部转换,效率低

用例分级后

1、等级定义统一,按功能重要程度划分等级

2、各阶段全Case测试时,各模块的用例测试先测试P1、P2的用例,然后测试P3、P4、P5部分用例

3、针对专项申请,对小改点小风险小的模块只测试P1或P1、P2,对修改风险大的测试全部用例

4、针对后期PVT阶段、模块已稳定,回归测试时只测试P1、P2部分用例

5、功能用例自动化转换能自动化部分实现优先转换P1、P2重要功能部分,效率高

三、收益&挑战并存

1、方便地基于测试策略来筛选用例,减少回归、专项测试时间和人力

2、提前测试高优先级用例发现模块主要功能Bug,减少后期重要Bug修复风险和人力成本

3、提供功能用例转自动化的依据

四、用例分级

1、如何准确识别出前10%到20%的测试用例

2、如何决定专项、回归测试跑哪几个优先级的用例

3、如何定期清理和更改优先级,确保执行用例的有效性

五、用例各等级占比

六、优先级划分策略

1、初步划分:

1)根据用例的等级描述将用例的优先级分别标注为P2、P3、P4、P5

2)将P2、P3、P4进行细分,划分出重要和不重要

2、划分优先级

1)将P2不重要的用例降级为P3,P3、P4、P5中重要的用例进行升级

2)从P2高优先级的用例中挑选出P1优先级

3、重复,达到优先级占比

3、定期优化

1、根据前几个版本的用例的测试结果优化测试用例的等级

2、模块有新功能或需求变更等,应及时识别增加并分配高等级、同时精简删除

七、执行策略建议

建议

1、优先执行等级高的用例

2、根据测试时间、人力,筛选不同等级的用例执行

3、根据项目不同的阶段,筛选不同等级的用例执行

4、根据风险评估,筛选不同等级的用例执行

5、根据质量目标,筛选不同等级的用例执行

实例

1、冒烟测试:筛选优先级最高的用例执行,如P1

2、常规测试:优先执行等级高的用例,如P1、P2,然后执行P3、P4、P5

3、专项回归测试、改动较小:执行P1、P2

4、PVT、量产阶段、维护阶段:执行P1、P2等级的用例

文章来源:软件测试艺术 版权归原作者所有

上文内容不用于商业目的,如涉及知识产权问题,请权利人联系博为峰小编(021-64471599-8103),我们将立即处理。

相关文章:

  • php 实现二叉树的最大深度_PHP 如何实现用户二叉树排序需求
  • jq设置checked是否选中_jquery判断checkbox是否选中及改变checkbox状态
  • vue 创建图片坐标点_vue项目中使用高德地图(根据坐标定位点)
  • activiti表字段_activiti数据库表结构剖析(五)
  • 跑带宽度多少合适_有多少人知道跑步机跑带宽度和长度多少合适?
  • mobiledevice什么意思_mobile device
  • python迭代对象是什么意思_python之中的迭代与迭代对象是什么?
  • 旧物手工机器人制作图片_科技小发明手工,DIY电池机器人制作图解教程
  • 概率密度变换公式 雅可比矩阵_【转载】雅克比矩阵与雅克比行列式
  • win10蓝牙已配对连接不上_win10系统蓝牙已配对但未连接的解决方法
  • lua协程 unity_Unity ToLua LuaFramework_UGUI学习笔记
  • 创建图表_如何在Confluence中创建Jira报表和图表
  • docker内存阀值_有关Docker的八个令人难以置信的事实
  • bootstrap modal填充数据_layui后台管理—table 数据表格详细讲解
  • go 取出json对象的某个值_用Go语言之前,先看看它的利与弊吧
  • express.js的介绍及使用
  • Fabric架构演变之路
  • HTML5新特性总结
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • vue 配置sass、scss全局变量
  • 从 Android Sample ApiDemos 中学习 android.animation API 的用法
  • 区块链共识机制优缺点对比都是什么
  • 数组的操作
  • 白色的风信子
  • hi-nginx-1.3.4编译安装
  • Nginx实现动静分离
  • 阿里云服务器购买完整流程
  • ​sqlite3 --- SQLite 数据库 DB-API 2.0 接口模块​
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • (4)Elastix图像配准:3D图像
  • (Matlab)使用竞争神经网络实现数据聚类
  • (rabbitmq的高级特性)消息可靠性
  • (二)丶RabbitMQ的六大核心
  • (附源码)springboot家庭财务分析系统 毕业设计641323
  • (一)UDP基本编程步骤
  • (转)德国人的记事本
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .net 8 发布了,试下微软最近强推的MAUI
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .net经典笔试题
  • .one4-V-XXXXXXXX勒索病毒数据怎么处理|数据解密恢复
  • /etc/motd and /etc/issue
  • @31省区市高考时间表来了,祝考试成功
  • @property python知乎_Python3基础之:property
  • @RequestBody与@ModelAttribute
  • [ 数据结构 - C++] AVL树原理及实现
  • [Android]Android P(9) WIFI学习笔记 - 扫描 (1)
  • [C++ 从入门到精通] 12.重载运算符、赋值运算符重载、析构函数
  • [C++]类和对象【下】
  • [CISCN 2019华东南]Web11
  • [Codeforces] probabilities (R1600) Part.1
  • [c语言]小课堂 day2
  • [Gym-102091E] How Many Groups
  • [ios] IOS文件操作的两种方式:NSFileManager操作和流操作【转】