测试工程师,本质上就是产品的质量检查员。我们把开发做好的产品拿过来进行检测,从而发现问题,进而解决问题。作为测试,我们应该是比产品更懂技术,比开发更懂产品。测试人员,对于产品的业务逻辑,可能会比产品同学还要更为明白。这样来说,测试对于产品质量的把控尤为重要。
在测试中,从底层的白盒测试,再到UI层的黑盒测试;从相关的接口测试,再到产品的性能测试。从不同的角度来对产品进行测试,检查产品质量。
质量度量的介绍
测试工作中,我们一般从两个方面来进行质量度量:产品质量和测试质量
从产品质量角度出发,我们常常遇到下面的问题:
- 现在线上的版本质量怎么样?
- 当前产品的版本跟以往版本相比,质量有变化吗?变化在哪?
- 在我们QA做了很多的测试工作之后,产品质量上提升了多少?
- 当前提测的版本如何,什么情况下能够达到上线的标准?
从测试质量角度出发,我们同样也会遇到类似的问题:
1. 项目测试负责人,制定的测试计划全面吗?
2. 测试设计准确吗?
3. 测试人员,对于测试的执行靠谱吗?
意义:
对于上述这些问题的探究,我们能够对于测试工作进行全面思索,更加完善自己的测试工作。
也能从中间找出自己的测试目标,对测试工作的重点进行合理安排。
同时,一些考量标准的制定和实施,能够量化出每个产品的质量。
最后对于测试工作中的总结,能够沉淀出自己团队的一些质量保障体系。
核心度量指标
下面给出一些核心度量指标供参考:
- 产品质量
- 服务端
- 系统的可用性(X个9,这里的X代表数字3~5)
- 响应时间
- 错误率
- QPS:每秒查询率,用来衡量服务器的性能
- 发布回滚率
- 漏测率
- 其他等
- 客户端
- crash率
- 客户端的启动时间
- 页面的错误率
- 安装包的大小
- 页面的加载时间
- 其他等
- 服务端
- 测试质量
- bug趋势
- bug分析
- 测试的覆盖率
- 自动化覆盖率
- 漏测率
- 其他等
研发过程中的产品质量度量
研发流程和对应的测试类型
测试环境:
线上:
研发过程中的测试质量度量
一是,使用sonar平台,进行扫描静态代码。sonar有自己的原生规则,也有不同的插件,同时也可以根据具体的需求进行二次开发。目前是应用比较广泛的通过量化的方式度量代码质量变化的平台。
具体可参考这篇博客关于sonar的介绍:https://www.cnblogs.com/topplay/p/3945013.html
二是,千行代码bug率。将bug和需求平台相关联,将Git和代码平台相绑定。这样能够得到分子(bug数)和分母(代码量),相除就能得到。第一次使用这个量化数据可能没有什么参考意义。但是多个项目的bug率,就能会有比较明显的比较。
千行代码bug率的粒度,可以设置,可以根据审核纬度的设定来设置。
质量保证体系
通过测试工作的总结,形成自己团队的质量保障体系:
- 质量文化
- 质量流程
- 质量度量
建立适合自己团队业务的质量度量体系:
- 发展阶段
- 业务形态
以上内容主要是来自美团测试经理钮博彦分享的文章,加上了自己的理解和总结,写了这样一篇博客。