确定功能测试优先级的一种方法

在传统的软件开发模式下,一个软件开发到了后期,经常会出现测试资源不充分,测试时间不足,不可能完成所有功能的测试,那么哪些功能先测哪些功能后测,如何取舍?

下面这个简单的方法可以帮助你确定功能测试的优先级。

首先,测试人员建立一个通用的功能模块测试的风险列表,然后使用这个潜在的风险列表来评估其对每个功能模块产生影响的可能性,再将功能模块相关的风险的可能性相加得到每个功能模块的风险级别,最后按照每个功能模块风险级别排序测试优先级。

示例如下:

某软件产品主要测试4个功能模块,分别以功能模块1~功能模块4表示。测试人员使用如下的潜在风险的列表:

  • 功能模块将会被用户频繁使用。

  • 功能模块提供的功能非常复杂。

  • 功能模块经常被修改或者升级。

  • 功能要求具有很高的实用性。

  • 功能要求保持一定的性能级别。

  • 功能的实现采用了新的开发工具和语言。

  • 功能模块具有众多接口。

  • 功能模块由经验欠缺的开发人员所开发。

  • 功能模块开发缺乏相关用户的充分介入。

  • 功能模块的开发由庞大的开发团队实施。

  • 完全是新的功能。

  • 功能模块的开发在极端时间压力下完成。

  • 对利益相关者而言是非常重要的功能。

  • 功能模块的历史版本中发现了很多的缺陷。

测试人员又将功能模块风险产生的可能性分为如下4个级别:

  • 不适用的(取值0);该模块或者功能不会发生该风险。

  • 低的(取值1):该模块或者功能偶尔会发生该风险,但不经常。

  • 中等的(取值3):该模块或者功能可能会发生该风险,并且可能会影响该模块或者功能。

  • 高的(取值5):很该模块或者功能可能发生该风险,并且会对模块或者功能产生影响。

经过分析,该软件产品的4个功能模块及其风险产生的可能性如下表:

潜在风险列表 功能模块1 功能模块2 功能模块3 功能模块4
功能模块将会被用户频繁使用 5 0 3 5
功能模块提供的功能非常复杂 5 5 1 3
功能模块经常被修改或者升级 1 1 1 1
功能要求具有很高的实用性 0 0 0 0
功能要求保持一定的性能级别 3 0 1 3
功能的实现采用了新的开发工具和语言 0 0 0 0
功能模块具有众多接口 0 0 1 3
功能模块由经验欠缺的开发人员所开发 0 0 0 0
功能模块开发缺乏相关用户的充分介入 5 5 5 5
功能模块的开发由庞大的开发团队实施 5 5 5 5
完全是新的功能 5 0 0 5
功能模块的开发在极端时间压力下完成 3 1 1 5
对利益相关者而言是非常重要的功能 3 1 3 5
功能模块的历史版本中发现了很多的缺陷 0 0 1 5
风险级别 35 17 22 44

所以,这4个功能模块按照风险级别排列的测试顺序如下:

功能模块 风险级别 测试顺序
功能模块4 44 1
功能模块1 35 2
功能模块3 22 3
功能模块2 17 4

总之,这个根据风险发生可能性累加的风险级别确定功能测试优先顺序的方法简单易行,当你测试资源和时间有限,不知道如何排定功能测试顺序时,不妨一试。

这正是:

功能测试分先后,这有一法可分忧

分析模块风险有,级别高低成顺序

参考书目:软件测试设计,作者:马均飞,郑文强,出版社:电子工业出版社

作者简介:王小双,长期从事GJB5000推广、实施、评价、改进的工作,创建《软件工程之思》微信公众号,一直在《软件工程之思》分享GJB5000、CMMI、软件工程的知识和感悟。现致力于GJB5000咨询以及软件过程改进、软件工程能力提升的研究工作。

确定功能测试优先级的一种方法》来自互联网,仅为收藏学习,如侵权请联系删除。本文URL:https://www.bookhoes.com/5304.html