有时候,因为是新增的或者因为遭受了变更,代码处于危险之中。Myers(在 Art of Software Testing —— 仍旧是我所看到的最好的软件测试书籍),1 谈论了一般在已经改正了老的缺陷的区域上如何找到新的缺陷。这可能因许多原因而出现 —— 也许因为代码是多缺陷的,设计是不完善的,或者因为它经常变更,并且问题常常出现在原始代码没什么问题的时候,而是因为正在增加新的特性。
随着新特性变老,这种级别的风险会随着时间而变更。如果代码没有随着时间而变更,不论是由于缺陷或是增强,与其他代码相关的风险级别可能降低。因此总是知道当前的情况并调整计划,处理处于风险中的部分是很重要的。您的资源总是有限的,但是可能的测试数量总是无限的。
有时候,风险级别与代码的“健康”无关,但是因为正在讨论的特性(或配置)一般对产品或具体的客户来说是关键的。我曾经在一家网络公司工作过,该公司将一个产品进行了 beta 测试,尽管用某一种类型的调制解调器会失败。发生了什么?您猜猜,第一个测试版的用户就使用了那个类型的调制解调器。
除了了解处于风险中的部分以外,您还必须不断调整您的计划以匹配软件变化的状态。作为媒介的软件是有延展性的,2 以至于很容易快速进行根本的变更,并且与此同时很快引入新的风险。您试图提前预料每一件事,但是在测试期间,您总是了解到一些新的内容,并且不得不改变计划,结合新的或变更的(或删除的)测试。
总结
使得效率低的团队高效起来是很难的。
如果您想确定您的团队在哪里,如何效率低,那么不要欺骗自己。对时间花费在哪里,及如何花费的进行关键性的审阅。接受您某天就将不得不把一些测试抛弃的事实。
对于 QA 团队来说什么是高效的?既是他们能快速地找到严重的缺陷。
为了更高效,并找出那些严重的缺陷,着重于处于危险中的内容。
记住处于危险中的事物总是变化的,您不得不适应且保持适应。
注释
1 Glenford J. Myers、Corey Sandler、Tom Badgett 和 Todd M. Thomas, Art of Software Testing,第二版。John Wiley & Sons,2004 年。
2 Frederick P. Brooks,Jr.,“没有银弹:软件工程的本质和事故。”http://portal.acm.org/citation.cfm?id=26440.26441&dl=GUIDE&dl=GUIDE&CFID=66886534&CFTOKEN=1562060
参考资料
您可以参阅本文在 developerWorks 全球站点上的 英文原文。
关于作者
Len DiMaggio 是 IBM Rational 的软件质量工程师和经理。在加入 Rational 之前,在 BBN、CTE 和 Genuity 领导软件测试团队。Len 已经在 STQE、Software Development、Dr. Dobbs Journal,和 QAI Journal 上发表过关于软件测试的文章。
文章来源于领测软件测试网 https://www.ltesting.net/