减少软件测试的时间和成本(2)
作者:网络转载 发布时间:[ 2011/5/16 10:41:29 ] 推荐标签:
5、错误状态/更正监测?测试工作的减少/测试进度的加快
市场上有些自动化工具在测试脚本发现缺陷后,可以自动记录缺陷,只需要很少的人工干涉。这些工具记录的信息包括产生缺陷/错误的脚本的标识、正在运行的测试周期标识、缺陷/错误的描述和错误发生的日期及时间。
作为测试执行程序的一部分,缺陷跟踪生命周期是错误状态或修正监视的一个重要方面。因此为系统环境选择并评估合适的缺陷跟踪工具很重要。一旦工具已经购买或内部开发好了,提出、记录并沟通缺陷跟踪生命周期同样重要。所有利益相关人都应了解一个缺陷从它被确定开始到被解决为止的全过程。假设你只重新测试一个只有当其处于“重测”状态的缺陷,但开发经理并不遵从这个过程或对此不了解。那你如何知道哪些缺陷要重测?这是受益于自动化过程的完美例子。
为帮助开发团队进行缺陷更正工作,测试工程师需要详细记录缺陷及重现缺陷的步骤,或者按照这些步骤简单地引用测试过程。缺陷通常根据其优先级来分类,更高优先级的缺陷优先解决。测试工程师应该参与缺陷的走查,如果合适,应该审核并讨论未解决的的缺陷。比如,一旦确定的缺陷已得到修正,而且该修正已经在新的软件版本中发布,这时缺陷的状态会设置为“重测”,缺陷跟踪工具会通知测试工程师。那么测试人员可将重点放在这种确定的重测缺陷上。理想情况下,已修复的缺陷同样包含修复报告和系统哪些部分可能已经受到影响。那么测试人员也可将重点放在那些可能受影响的部分。
每个测试团队需要按照已定义的过程来生成缺陷报告。
1)分析
该过程应该描述如何评估未知的系统行为。有时测试会产生“误报”,即系统运行正常但测试结果却显示错误。或者测试(尤其是使用测试工具时)产生“漏报”,即测试通过而系统却有问题。测试人员需要具备特殊的诊断能力,以确定输出正确与否。
其他关于如何做到这点的知识可以参考第1章对灰盒测试的讨论。
2)缺陷项
假设测试人员的诊断表明未知的系统行为是一个缺陷(不是漏报、误报、复制等),通常,软件问题报告或缺陷,是由测试团队的某个成员或负责报告缺陷的其他团队成员输入到缺陷跟踪工具中。
3)复发
自动化过程应该还定义了如何处理复发问题,即那些已经确定并修复,但现在又发生的问题。是“旧”缺陷重现,还是新缺陷进入?我通常建议在实施修复时回顾旧的缺陷,重新打开的新缺陷引用到“关闭,但相关”缺陷。这种引用将说明修复缺陷多久后再次出现此缺陷,这可能是配置问题或者开发那边的问题。
4)关闭
一旦缺陷得以更正,或被认为是重复,或根本不是缺陷,可以关闭缺陷了。除了测试经理不要让其他任何人可以关闭缺陷。确保其他同事正确地跟踪缺陷和缺陷的历史,不会被无意或者故意地关闭。
注意:缺陷不可删除,要作为历史记录保存。通过数据库复位可产生各种解决方法,但通常情况下,通过接口删除缺陷,可能破坏编号系统的连续性。如果人们已进行硬拷贝,他们将无法找到那个缺陷,你应该保持这些记录。相反,更好的做法是简单的将缺陷标记为 “关闭?按预期工作”或者“关闭?重复”。
对部分已更正的缺陷设定一条规则可能是有益的:如果某一缺陷只部分修正了,则不可以按已修复的状态来关闭。通常情况下不应如此,缺陷报告应尽可能详细,一次只能记录一个问题。如果遇到多个问题,应输入多个缺陷记录,而不管这些问题如何相似。
一旦缺陷得以修复,单元测试也达到了软件开发团队的满意程度,则已修复的软件代码应该签入(check in)进软件配置管理工具中。在某些情况下,会修复可接受数量的缺陷,有时则会修复单一的关键缺陷,然后创建一个新的软件版本发布给测试团队。
在使用缺陷跟踪工具时,测试团队需定义并记录缺陷生命周期模型,也称之为缺陷工作流(具体示例见第9章)。在某些组织中,配置管理组或过程工程组负责缺陷工作流,在其他一些组织中,这是测试团队的职责。不管是哪个团队的职责,自动化这一过程将节省时间,提高效率。

sales@spasvo.com