测试管理:问题驱动的测试过程改进

过程改进

在开始正文以前咱们首先来作一次思惟推导。咱们来尝试回答下面的问题:单元测试

反复称重可否帮你减肥?学习

这个答案显然是:测试

测试工做自己并不能直接产出质量,就如使用体重计称重并不能让人减肥同样。测试能够被看作信息收集和评估过程,但反复评估一件事物,并不能直接改善这件事物。优化

软件测试能够经过数据的收集,缺陷的汇报,用于促进产品质量的改进,质量风险的规避,然而质量最终的改进还要来自于研发过程自己。ui

实际上咱们认为过程质量决定产品质量。那么改进项目的过程质量,才是推进产品质量提高的根本办法。编码

在软件行业内,过程改进是许多企业,特别是大型企业很是关注的,咱们耳熟能详的CMMi软件成熟度模型,就旨在帮助企业提高自身的组织和过程成熟度。spa

测试过程改进

CMMI成熟度模型是关注质量的,实际上咱们谈过程改进,但愿达到的目标应该是成本,效率和质量的三方收益。设计

除了CMMi这种着眼于研发过程全局改进的模型,专一于测试过程的改进模型也有许多的应用场景。3d

经常使用的测试改进模型包括:blog

  • TMMi
  • TPI-Next
  • CTP
  • STEP

之因此在过程改进中,咱们倾向于使用模型,其实是秉承着“借鉴”的思想。直接使用业界先驱们成功经验的总结,与本身的项目进行比对和匹配。

以上这些模型中,有一些模型多是比较重量型的,相似CMMi,会和企业成熟度认证结合起来,须要外部助推力来帮助达成。

不过也有一些是以小团队甚至我的为出发点也是能够应用的,下面咱们就介绍其中的一种:TPI-Next。

TPI-Next测试改进模型

TPI模型将测试改进方向划分为三个区域:

  • 人员
  • 管理
  • 技术

在此基础之上,继续将他们划分为16个域,并用“受控级”、“高效级”和“优化级”定义其成熟度。

 

 

 

 

 

 

 

 

 

经过将自身项目特性与TPI-Next16个域的三级成熟度标准进行对比,咱们能够很容易获得自身项目测试的改进方向。

问题驱动过程改进

除了使用模型来帮助咱们进行过程改进,其实针对特定问题而改进特定过程是更经常使用的作法。使用这种方式的改进过程,可能会缺少系统性和结构性,可是倒是最贴近现实,可以最有效带来直观收益的。

固然这种问题驱动式的改进,也一样能够参照过程模型和改进模型,以便于找到改进方向。咱们来看几个例子:

1. 产品总体质量问题

在测试活动中,咱们经常会赶上一些窘局,好比某系统的测试,爆出大量(远超预期)缺陷。

咱们先来论断一下,测试报出大量缺陷到底是不是一个问题?有的人可能会说,这不是问题,测试报出缺陷,这不是天经地义的吗。

实际上咱们简单来讲,咱们对项目缺陷的预期数量实际是存在边界的(CMMi3级标准,测试密度不该超过2.39%),测试的理想状态应该是在边界以内揭示问题。

缺陷数量超出边际值会带来显而易见的风险:

  • 各方工做量增多
  • 项目周期被拉长
  • 缺陷揭示越多,隐藏缺陷也越多(冰山效应)

那么经过过程改进,咱们如何解决这一问题呢?

咱们能够从TPI模型中找出几个关键域,用于改进这个问题:

 

 

 

  • 保证测试更早的介入,更早期的发现问题,而不是使问题堆积到执行阶段。不少状况下,超量缺陷的现象所隐射的问题是研发方向的误差,这些误差颇有可能来自与编码的前序阶段,好比需求和设计。测试更早的介入这些阶段能够缓解相似风险。

 

 

 

  • 这个问题也应从测试组织方面思考。好比项目的测试过程是否具有足够的层次性?若是项目只具有系统测试层级,那么延申测试的层级,如单元测试、系统测试是应该被考虑引入以缓解项目缺陷压力。
  • 另外一方面,在组织测试的过程当中,咱们是否考虑到了前序阶段的支持,有无相应的方法和过程进行保证?测试准入标准和冒烟测试是否被用于衡量产品的可测性?

2. 测试时间压力

测试团队常常会面临时间压力,测试时间的争夺是测试团队夹在产品质量和市场压力之间的反复博弈过程。

如何改进这一现象呢?咱们一样尝试找出几个改进的关键域:

 

 

 

  • 测试时间的保证很大程度要取决于干系人对于测试的认知和重视,因此咱们提取的第一个关键域就与之相关。测试团队须要与干系人(好比项目经理)达成测试目标和范围的一致,而且基于这个范围投入相应的成本。成熟的测试团队有必要经过沟通、培训、宣讲、协商等方式取得这一成果。

 

 

 

  • 经过更合理的测试组织,提高测试工做效率也是解决时间压力的重要思路。

 

 

 

  • 另外一个关键域是估计与计划。任务估计与计划不仅仅是后续工做实行的指导,也是对预期任务时间取得各方一致的有效手段。

以上是两个问题驱动的过程改进的例子,咱们能够触类旁通,经过对于相应问题的分析,对应标准的解决办法来逐步实现测试过程的改进。

过程改进流程

最后,过程改进实际上是一个很是大的课题,从事过程改进的人员一般具有很是高的团队地位(想要改变什么事情一般都没有那么容易)。

过程改进也必须遵循IDEAL模型:

  • Initiating 启动
  • Diagnosing 诊断
  • Establishing 制定计划
  • Acting 实施
  • Learning 学习(经验总结)

 

 

 

最重要的是,取得利益干系人的支持,是过程改进得以推进的必备条件。

相关文章
相关标签/搜索