【测试理论学习】质量保障&&质量体系建设

一、质量保障

  先引用一段 百度百科 上对软件质量保障的解释:软件质量保障是建立一套有计划,系统的方法,来向管理层保证拟定出的标准、步骤、实践和方法能够正确地被项目所采用。软件质量保证的目的是使软件过程对于管理人员来说是可见的。它通过对软件产品和活动进行评审和审计来验证软件是合乎标准的。软件质量保障人员在项目开始时就一起参与建立计划、标准和过程。这些将使软件项目满足机构方针的要求。

  从我个人对软件质量保障的理解来说,软件质量保障不能只从测试(QA)的角度来看待问题,需要把自己抽离出来从更高的角度(公司/老板)来看待问题,无论哪一个环节出了问题,都是质量问题。可能是产品在设计之初时就存在缺陷,可能是开发在编码之前就存在设计上的缺陷,也可能是QA在测试时存在漏测的情况。需要关注整个过程当中的所有环节存在的问题和风险。对于软件质量保障的思考,我们可以从测试前、测试中、测试后三个阶段来进行,重点应该关注如下五个方面:

  • 效率问题
  • 代码问题
  • 流程问题
  • 沟通问题
  • 机制问题

  对于软件的质量保障,更多的是一些思考,考虑要从哪些阶段、哪些方面和大概的方面去保障,而它的延申就是质量体系的建设。

二、质量体系建设

  对于不同公司、不同团队甚至不同业务,质量体系的建设不是千篇一律的,每一个公司/团队/业务都有其自身的特点,我们需要根据这些特点来建设质量体系。但是通常我们可以将它划分为三个阶段:

测前

1、差异性分析

  • 业务特点:对各自负责业务的差异性分析,各自业务测试时的难点、痛点;
  • 团队人员组成特点
  • 开发水平如何
  • 整个团队的技术栈,包括测试和开发
  • 产品部署使用方式,比如说:阿里云

  差异性分析主要是为后面的测试方法和手段做准备的,比如说:开发人员的水平不行,那我们测试时可能就要考虑使用 白盒测试 + 接口测试,因为单单只根据需求和接口文档来做接口测试,很多情况测试不到。如果开发水平足够高,那么可以考虑不用做白盒测试,直接做接口测试。另外,做白盒测试时,可以根据修改的方法上游被哪些地方调用,下游调用了哪些方法从而确定测试的范围,而不是盲目的拍脑袋来决定测试范围。

2、基本测试手段/方法

  • 接口测试 + 白盒测试
  • 性能测试 + 稳定性测试
  • 业务功能测试 + 自动化测试

3、流程及机制

  • 测试流程的建立
  • 问题发现机制
  • 风险暴露机制
  • 线上问题跟进
  • 故障处理
  • 信息同步
  • 奖惩机制
  • 新人培养计划

4、基本保障手段

  • Mock 服务
  • 数据构造
  • 线下告警平台
  • 线下压测平台

测中

  • 测试
  • 联调
  • 预发

测后

  • 上线
  • 线上日常 监控 + 报警
  • 业务的 宏观监控 + 个体监控
  • 数据库的 binlog-sync
  • 稳定性建设:保障系统在全年的不可用时间在什么范围之内

  以上,测前、测中,测后三个阶段,大家可以从这些大的方面去考虑,再根据自己公司和团队的特点进行细化和实践,最终得出适合自己公司和团队的质量体系。

  另外,大家可能会问,在经验不足够多的情况下,我们如何知道哪些细节点是我们需要去关注的呢,这里有个简单的方法:如果大家每天都做大量的重复工作,那么这里就是一个问题点。如果没有大量重复的工作,但是工作都非常耗时,那么这里也是一个问题点。当我们遇到这些问题点的时候,是不是就要进行反思,有没有什么办法去解决这些问题?慢慢的培养自己的质量意识、全局思维,这样日积月累,就会对产品质量有一个深刻的认识。

posted @ 2020-04-16 21:25  gtea  阅读(1151)  评论(0编辑  收藏  举报