测试如何做好项目风险控制?

测试如何做好项目风险控制?

测试员在项目中的作用只是测试吗?

我们就只是按部就班的进行需求分析、用例编写/评审、提测验证、Bug回归验证吗?

为了能够交付高质量的产品,测试人员更重要的是做好项目风险把控。

“项目风险管理”听上去像是项目经理或scrum master的活儿,但基于“一旦产品出了问题,第一想到的就是QA没把控好质量”的惨痛现状,做好项目风险的把控是当今测试人员不可或缺的技能与素质。

风险的来源

根据“人机料法环”分析方法,项目风险主要来源,见下图:

测试如何做好项目风险控制?

即若考虑风险,你可以根据以上所列出的方面进行考虑(但不限于此)。

那测试人员具体该如何控制风险,我将根据项目流程阶段进行阐述。

阶段划分为:

需求分析 -> 测试方案制定 -> 用例设计 -> 提测验证 -> 上线回归 - 总结 

无论是采用的是何种开发模型,瀑布、V型、原型,还是敏捷运作,拿放大镜细分后都离不开以上几个阶段,只是每个阶段的开始时间不同,阶段有时会有重叠部分。

需求分析阶段:发挥主动性

为什么从需求分析阶段我们就要开始风险控制呢?这时候有测试的工作吗?

从需求雏形浮现起,全员就必须参与进来,特别是敏捷团队,一定要有这样的意识“整体团队运作”、“每个人都必须为最终产品负责”。

必须有关注整体项目的意识,每个阶段的输出都是下个阶段的输入,风险只会越滚越大,不会消失。所以在需求阶段就开始把控风险十分重要。

我们需要考虑以下:

  • 1、了解客户要什么?当前方案能解决客户痛点吗?
  • 2、影响到哪些现有的功能?
  • 3、考虑“人机料法环”风险来源图中的风险点,在此项目中是否存在此风险?如何解决?
  • 4、根据经验,挖掘风险。如“对于类似这样的方案,以前有出现过xx问题;这个方案中需要先确认会不会有相同风险存在?”
  • 5、关注开发和产品的讨论,如哪一部分比较难实现?如何实现?(其中做出的变动和难点就是测试的时候必须重点关注的部分;不能因为这些暂时和你没有关系就不去关注,后期会带来麻烦)需求颗粒度合理吗?
  • 6、评估工作量,时间是否足够?(包括所有角色:Dev/ SDET/ QA等)
  • 7、剩余需求待确认点的明确时间。
  • 8、开发的提测时间。
  • 9、求评审结束后,要求项目经理及时更新需求,任何改动都及时更新。尽量将所有需求都变成“显性”需求,白纸黑字写上。

关于第6、7点, 是测试人员在没事找事做吗?是在准备甩锅吗?当然不是!!!

测试人员必须有关注整体项目的意识。如果你不关注项目进度,什么时候提测,你什么时候开始测试,在测试过程中你就会遇到测试的内容和最初的需求不一致,增加新的内容从而增加工作量,或是产品和开发一起来压缩测试时间的情况,到时你想不加班都难。

需求一旦明确了由你来负责的时候,就要时刻按排期来关注项目的情况。中间变更需求的时候,要评估是否影响项目进度,如果影响了需要重新进行排期。如果开发提测时晚了,是否会影响上线时间,如果可能会影响,马上就要给相关的人员发预警邮件,通知大家详细的情况。

测试方案制定阶段:方案方面

测试方案选择必须全面,即便你是一个功能测试人员,可能不会编写自动化测试脚本,不会性能测试、安全测试,但是你必须能根据需求想到要实施哪方面的测试(性能、安全、接口、功能、集成、单元、容错等等)

我们需要考虑以下:

  • 测试需要哪些方面,重要程度排序
  • 我们有哪些工作,不同工作风险定级,工具优先级排序
  • 具体工作量计算
  • 多少需要手工,多少可以自动化
  • 人员足够吗?根据人员特性进行最优安排
  • 需要什么环境、工具?都已经ready了吗?

用例设计阶段:不遗漏

测试用例是每个测试人员工作过程中必须要完成的工作,不管你是采用什么编写和管理方式。

在此阶段的,我们需要考虑以下:

  • 测试用例必须写清楚:用例名、步骤、预期结果、优先级
  • 透过需求,从用户的角度来写用例才对(你是第一个用户)
  • 用例校验点(即AC)和用例必须有审核,并通过审核(每个角色,至少有一人参与:PM/ Dev/ SDET/ QA)

提测验证阶段:注重质量、进度与风险预警

在此阶段的最低要求,我们需要考虑以下:

  • 实现的与预期的一样吗?
  • 是否有需求变更
  • Bug描述清晰、准确分级
  • 关注测试进度与bug趋势,有风险要预警这个团队,必要时需及时调整方案
  • 二八法则,有bug群聚现象吗

上线回归段:做好善后

我们需要考虑以下:

  • 及时进行线上回归
  • 不能影响到的原有的功能
  • 多分支合并风险
  • 高响应处理回归bug

项目总结阶段:汲取教训、输出行动方案

在整个项目流程中都要做好记录:出现什么问题?怎么解决的?到这个阶段时进行分析与总结。

我们要做好以下总结:

  • 本次工作评估准确吗?风险评估、工作量评估
  • Bug分析。Bug数、不同级别的bug数、常出现在什么地方?
  • 项目中的难点与瓶颈,及解决方案
  • 一些常见问题的排查及解决方案
  • 产品的哪块功能容易出现问题,或是开发怎么实现相应的功能可能出现问题?产品的功能模块之间是如何工作的,修改部分功能后可能会对其他模块产生影响?等等。
  • 类似本次的项目,有什么工具能够辅助测试,提高质量与效率?

做好以上总结,列出可行的行动方案。那么再下一次接到相应的需求后就能快速的评估测试范围,选择测试方案,规划测试时间等。

如果你有实打实地做好以上每个点,将能有效地从测试角度管理好项目风险,交付一个更具高质量的产品。

源自公众号  有温度的testing



留言