建立高效质量评估模型与测试覆盖度全解析

前言

笔者所在的公司是一家创业型公司,项目发布标准基本是项目时间时间到了+缺陷修复率达到某个值+case执行完成就准备发布了,每次发布线上都是提心吊胆,总当心哪里没有测到,哪种场景没有想到,心里没底,为啥会有这种当心呢?究其原因就是指标过于单一、缺少分析。那该如何改善这种情况呢?我们一起往下看。

质量评估模型

优秀的产品质量评估模型特质

在笔者读过的测试书籍中是这样写的:

1、多维度:能覆盖质量评估的各个维度,能帮助评估者全面分析和考虑

2、定量+定性:指标和分析相结合,能够有效避免在只有指标的情况下,被"绕"过去,变得形同虚设(为了绩效)。

3、过程+结果:不仅评估测试的结果,还的对过程进行分析和评估

如何建立产品质量评估模型

可以从三个方面来建立:

1、测试覆盖度评估:对测试范围及测试的深度与广度进行分析和评估。可以从需求覆盖度评估路径覆盖两个纬度进行分析和评估,这就是定量指标

2、测试过程评估:对测试过程和测试投入进行分析和评估。可以从测试用例分析测试方法分析 以及测试投入分析三个纬度进行分析评估,既包含了定量指标,又包含了定性分析

3、缺陷分析:对测试结果进行分析与评估。可以从缺陷密度分析缺陷修复情况分析缺陷趋势分析缺陷年龄分析 以及缺陷出发因素分析5个纬度对测试结果进行分析评估,既包含了定量指标,又包含了定性分析

测试覆盖度评估

上面提到,我们可以从需求覆盖度评估路径覆盖两个纬度来分析,那怎么理解这两个纬度呢?

需求覆盖度

需求覆盖度是"已经测试验证的产品需求数"和"产品需求规格总数"的比值。

需求覆盖度当然 得达到100%,保证没有漏测需求,如果未达到100%,就需要分析出现了什么问题。那如何来统计需求覆盖度呢?常见的两种方式:Excel手动统计和借助三方工具自动统计。

Excel手动统计:

将待测需求点整理到Excel表格中,测试过程中边测试边记录需求点验证情况。看demo:

需求编号 需求点 是否验证 测试结果 测试人
001 验证码登录 是/否 通过/失败/阻塞 QA

自动统计

使用第三方工具,比如TAPD、云效等,将需求点拆分写在这些工具中,编写case时将case与需求点进行关联,这样需求对应的case执行通过,就可以代表这个需求被验证通过了。

路径覆盖度

路径覆盖度是"已经测试到的语句的数量"和"程序中可执行语句的总数量"的比值。

如何进行路径覆盖度统计呢?这里就需要用到路径分析法。路径分析法有以下几种方法:

1、语句覆盖:覆盖系统中所有判定和过程的最小路径集合

2、分支覆盖:覆盖系统中每个判定的所有分支所需的最小路径数

3、全覆盖:100%的覆盖系统所有可能的路径的集合

4、最小线性无关覆盖:保证流程图中每个路径片段能够被至少执行一次的最少路径组合

从定义上可以看出,使用不同的方法得到结果是不同的。

首先,确定路径覆盖策略。不同的功能点使用的路径分析法也会有所不同。可以将最小线性无关覆盖作为基本的路径覆盖方式,然后根据需求点的优先级、重要程度,在此基础上增加或减少一些路径。我们可以做个表格记录,像这样

功能 路径覆盖策略
需求点1 最小线性无关覆盖

然后,使用路径分析法设计测试用例

最后,跟踪测试用例执行情况。

最后

本片内容主要阐述了质量评估模型如何建立,以及测试覆盖度的评估如何进行,我觉得需求覆盖度还是比较容易统计的,唯一的难点可能是需求文档更新不及时,需求变更比较频繁,路径覆盖度的话可能比较难一些,需要能看懂代码才能更全面的涉及路径相关用例。测试过程评估和缺陷分析我们放到之后的文章。

相关推荐
0和1的舞者18 小时前
接口自动化(四):logging 日志配置 + Allure 测试报告从安装到使用
测试开发·自动化·接口·接口自动化·测试·知识
0和1的舞者2 天前
接口自动化测试详解(二):requests 请求封装与 Pytest 框架全实战
开发语言·自动化测试·python·测试开发·接口·测试
大千AI助手3 天前
Web 接口性能测试最佳实践:从“压一压”到“压明白”
python·api·性能测试·测试·性能·压测·大千ai助手
weixin_413063215 天前
测试 focus stacking
opencv·测试·focus stacking
_OP_CHEN6 天前
【测试理论与实践】(四)测试用例篇(上):从概念到万能思路,解锁测试设计核心密码
运维·测试开发·测试用例·bug·压力测试·测试·网络测试
请为小H留灯8 天前
Windows 系统启用 Telnet 客户端:图文详细教程
网络·windows·测试·telnet
Apifox8 天前
Apifox 12 月更新| AI 生成用例同步生成测试数据、接口文档完整性检测、设计 SSE 流式接口、从 Git 仓库导入数据
前端·后端·测试
_OP_CHEN8 天前
【测试理论与实践】(三)测试BUG篇:从 BUG 本质到实战博弈,带你吃透软件测试的核心逻辑
运维·测试开发·产品运营·bug·压力测试·测试
以己之10 天前
初识测试(详细篇)
单元测试·压力测试·测试
零基础的修炼11 天前
[测开项目]问卷系统测试---测试用例
测试