软件测试——关于提交bug随笔
 
2009-04-09 作者:xuanyan 来源:xuanyan的blog
 

所谓bug也就是进行某一输入后,软件输出是错误的或者不是我们所期望的结果。 bug在英语中是臭虫的意思。在以前的大型机器中,经常出现有些臭虫破坏了系统的硬件结构,导致硬件运行出现问题,甚至崩溃。时间长了,bug被引伸为错误的意思,什么地方出了问题,就说什么地方出了bug.

提交bug时描述的越详细越好。随着测试管理工具的完善、利用,提交bug时很多项系统已帮我们自动实现了,如提交者姓名、提交日期等。但有些项仍然需要我们自己填写。如摘要、操作步骤、预期结果、输出结果等。

下表是提交一个一般都要包含的信息,根据实际项目的不同,需要适当进行增加:如硬件配置、测试环境等。

编号 摘要 预置条件 操作步骤 预期结果 实际结果 概率 严重等级 版本 测试者 测试日期 ……
                       
                       

注意:

摘要:要求用一句简短的话概括出提交的问题;

预置换条:也就是我们的测试环境,出现某一问题时的先决条件,如果没有说明则为默认情况;

操作步骤:最好使用傻瓜式,一步步地把具体操作步骤详细的描述出来;

预期结果:我们预期的正确输出结果是什么样的;

实际结果:实际的输出结果是什么样的;

……

提交bug的一些注意事项:

1. 发现一个问题时,不必急着提交,可以先做验证(包括复现、对比测试等)进行证实,看是概率性问题还是每次必现的问题,需要时也应使用不同版本不同机器做对比验证,当然,如果已经很确信是一个bug了,也就不用浪费时间去对比验证了。

2. 描述要清晰、准确。关于这点,如测试游戏时,提交一个bug描述为“游戏帮助说明中有错别字”,并没有说出哪一页哪一行以及具体哪个字错了,应该修改成什么样的。因此就不能说是个好的描述。下面一些bug描述如“蓝牙的名称显示错误”、“插充电器无提示”之类的则就不是一个明确的描述了。

3. 要考虑开发人员的感受,有些问题尤其是有些主观性比较强的问题,在问题描述中一般不要出现带强烈感情色彩的词语标点符号,如“要求”、“必须”和感叹号等(特殊情况除外)。在提交此类问题时可以使用一些诸如“建议……”、“希望……”、“请……”之类比较委婉些的词语。

4. 不能确认一个现象是不是一个bug的时候可以向其他人或者开发人员进行确认,然后再去提交;

5. 概率性的问题,测试过程中难免遇到一些概率性问题,很难找出其产生的规律,甚至该问题在测试过程中只出现一次,对于此类问题也一定要提交,并补充说明无法复现或者无规律;

6. 描述问题时,要实事求是,不要夸大,比如概率性问题,本来出现的概率只有10%,你把它写成50%都是不应该的!

7. 提交bug时,应该在描述清楚问题点的时候把正确的预期输出结果写明,即正确的结果应该是什么样的,这点很重要。现在我们提交的bug中有些测试和开发双方都知道该修改成什么样子了,而在bug描述中未写出修改成什么样子的,如“来电时按挂机键不能拒接来电”这样描述一个bug,并没有写明该如何修改,一般这样描述大家一看就知道该如何修改,所以写不写预期正确结果大家都可以接受。但对于有些bug的描述一定要把预期的正确结果给写进去,否则开发人员会无所适从,不知道该修改成什么样子的。

8. 如果语言文字难以清楚的描述出问题,最好能附件图片或者log记录等做辅助说明。

9. 提交测试bug的时候,如果该问题在某一特定环境下才能出现,一定要将该问题产生的环境(硬件、软件)描述清楚;

10. 提交问题前要清楚的知道软件需求、规格定义。相信很多人都遇到过这样的尴尬情况,提交了一个重要问题后,却被告知其实那并不是一个问题,软件就是那样设计的或者需求就要求那样处理的。真是没面子!

11. 有些问题出现了,不一定就是我们测试软件本身的问题,也可能是其他一些问题导致的,如“手机通话时自动掉线”问题,这有可能是信道切换失败导致的,是网络的问题,不是我们手机本身的问题。类似情况还会很多,这都我们有着丰富的产品背景知识。

12. Bug提交完毕后,并不是就万事大吉了,后续跟踪验证等还多着呢。


火龙果软件/UML软件工程组织致力于提高您的软件工程实践能力,我们不断地吸取业界的宝贵经验,向您提供经过数百家企业验证的有效的工程技术实践经验,同时关注最新的理论进展,帮助您“领跑您所在行业的软件世界”。
资源网站: UML软件工程组织