微信号:grzlwx

介绍:光荣之路官方资讯

测试分析工程师应该做什么?(二)

2015-12-17 21:23 光荣之路

吴老的《selenium webdriver 实战宝典》出版了!

测试策略的分析:

测试策略分析:测试策略的分析是为了制定完美的测试策略或者测试计划。那么,那么我们测试策略的终极目标是什么呢?总结为一句话:用最少的人天来发现所有的风险(即保证质量)。当然,这个就像产品出去后没有bug一样是不可能的,却也是我们需要不断追求的目标。

作为一个测试分析工程师,在测试策略分析上面应该也有一套属于自己的并且行之有效的分析方法。这里引入笔者自己使用的一个方法:精准测试分析的方法。

这里拿一个功能模块举例子:

1、分析该功能模块的代码行数,如:1W行。

2、根据该模块开发人的历史编码经验分析出该开发人员的千行代码bug率处于一个什么范围(如:0.2%-0.3%)。

3、分析出该模块的bug大概为20-30个。因为我们需要发现所有的bug。所以,我们可以根据历史定一个最高的值,这个时候我们可

以将bug数定位30个(当然,过程中会调整)。

4、将该模块的测试目标更加的具体化,即我们要以更快的方式发现该模块的30个bug。

5、根据80/20法则,我们分析出最可能出问题的20%的逻辑,进一步缩写测试范围。将该模块的bug目标定为24个。

6、在非常熟悉该模块的基础上面(前面已经有方法介绍,这里就不讲了)分析该模块可能存在的24个问题(超过也没有关系,但是至少应该找到20个以上)。

7、能够看代码的话就根据自己的分析提前检查对应的代码是否有问题,有的话可以直接提bug了。

8、挑选对应的用例数来测试到这些可能存在问题的地方(比如:分析出来了30个问题,直接挑选对应的30个用例出来)。

9、测试完成后根据自己测试的结果进行下一步的分析(比如:发现了10个bug。当然,越接近24个就说明自己的分析更加精确,超

过30个可能说明该模块质量很烂了,需要重新制定目标和提出风险了)。

10、根据发现的bug再次进行分析问题都出在哪些地方?并且再次进行针对性的测试。

11、其他80%的逻辑也可以采取类似的分析。

测试质量分析:

在一个产品的测试过程中,我们需要不断的去分析产品当前的质量以及如何去根据分析的质量情况去调整测试策略。而且在该模块测试完成后,我们能够提供一份详细的分析报告来证明该产品是能够满足发布条件的(或者能够指出该产品还存在哪些风险,以此评估是否去发布)。那么,测试质量分析的准确性就是一个非常重要的工作了。

在前面的质量总结里面,我们也提到过可以分别从业务逻辑、用户场景和需求等等维度去分析模块的质量。这里提供一个笔者正在准备去尝试做的方法:根据每个开发人员的代码质量(千行代码bug率)以及模块的类型来建立一张“质量地图”,通过这张“质量地图”以及发现的bug来评估当前模块的质量是否达到标准(前提是先按照第3章的模块质量分析方法完成了该模块的质量分析)。

这里,我们有一个假设:同一个开发人员去编写相同类型的模块时,质量应该是差不多的(如果这个假设在自己的开发团队不成立的话,那么该质量分析的方法则无效)。

根据笔者的产品特性,将模块分为如下几个类型:UI模块(html相关的)、脚本(shell、php、perl等等脚本语言)、应用程序、驱动。


里面的数字表示千行代码的bug率,如:开发人员1的程序类型的千行bug率为0.25%。那么,这些数据是如何得到的呢?历史数据。

假设一个开发人员第一次编写UI类型的模块,提交测试后最后统计出来的bug率为0.3%,则0.3%则作为一个基线。第二次再次编写UI类型的模块,bug率为0.2%,则2次的平均值0.25%更新为基线,而0.2-0.3%作为一个区间(当然,随着开发人员的对该类型的代码越来越熟悉,可能bug率会越来越低,这个时候我们可以变化下,取最近4-5次的数据作为基线和区间),后面以此如此,通过这张建模的方式来形成每个开发人员的“质量地图”。

这样,该模块完全测试结束后(包括该模块的质量分析),就可以参考上面的“质量地图”来进行分析,并且做相应的处理(以0.25%为基线,0.2-0.3%作为区间为例)。

超过0.3%,则表示超过了历史最差值,这个时候我们就认为不正常了,需要跟开发一起确认原因,比如:是否状态不好或者该模块的一些设计方面考虑不充分等等原因,并且根据bug情况进行分析是否真的是开发描述的原因,然后再根据具体情况进行补充测试等(这里肯定是需要有处理措施的,因为可能有更大的风险)。风险等级高

0.25-0.3%之间,则表示比基线高了,也需要进行分析下原因(如果比较接近基线的话则可以不用分析)。但是,这里可能确实是正常的,不一定要有处理措施。

0.2-0.25之间,正常区间,可以不用分析。

小于0.2%,这里就需要进行分析了(如果跟0.2%很接近的话可以不用分析,可以自己灵活设置不要分析的点),是不是可能测试的不充分导致发现的bug数量不够,比如:我们可以跟开发一起确认下代码覆盖率,还可能存在的风险分析等等,并且采取一定的措施,比如:探索性测试或者交叉测试等等。

建立质量地图的方式除了能够更好的评估模块质量外,还能够有如下的好处(理由这里就不讲了):

1、 培养开发人员的质量意识。

2、 更好的考核开发人员。

3、 更加利于制定测试策略(比如:前面的基于风险的的测试分析)。

4、 能够更好的制定质量目标和质量改进计划。

看到这里,大家是否发现当我们要专注于某一个领域去发展的时候,一定需要有自己的一套方法。这种方法不仅仅是适合自己,还能够适合于其他人。而自己就不断的优化和完善该方法。而这些方法的产生主要就是通过经验积累和总结归纳等。

所以,对于测试来说,总结和分析确实是一个很重要的能力。

<完>

相关阅读:测试分析工程师(一)

(作者: 17点23分 来源:http://www.51testing.com/html/44/15026244-859007.html)


公益传播测试知识、技能与正能量!感谢作者!
分享测试生活,思考测试人生!欢迎投稿!
文章图片来自网络,如有侵权请见谅,请联系我们妥善处理。
735821166@qq.com

光荣之路
软件测试培训


官网:www.gloryroad.cn

微信公众号:gloryroadtrain

性能测试QQ群:415987441
测试招聘QQ群: 203715128
自动化3群QQ: 371211499

Python群:457561756


 
光荣之路 更多文章 今天晚上的 linux 公开课- Awk 编程 7月28日(今天)晚上的 linux 公开课- shell编程 8月4日(今天)晚上的 linux 公开课- shell编程 9月1日(本周一)晚8点半,光荣之路Web自动化系列基础课—javascript第二讲 推荐本好书《与机器赛跑》
猜您喜欢 App项目实战之路(四):UI篇 Butter Knife快速开发 利用Python对PDF文件做OCR识别 今天,这个改编自真实故事的短片感动了所有人 工资无上限!寻优秀pythoner开发者,推荐有奖哦