【软体测试】【好文共享】撰写Bug的艺术
今天读到一篇关于撰写Bug的艺术,来记录一下
原文网址:The Art of Bug Reporting: How to Market and Get Your Bugs Fixed?
如何写一个好Bug?如何描述一个Bug?这是一个老生常谈也是一个很重要的议题,
因为bug 描述的品质,关系到问题是不是真正有被看到,真正的问题有被修复的关键,但往往也很容易被测试人员给忘记,
因此看到这篇,真有点心有戚戚焉,来记录一下我看到的部份。
【以下部分有部分为文章内文,及我个人的一些经验,这不是圣经,每个单位有他的游戏规则,看看就好,就当是个参考,但建议还是看原文比较好 ...】
- “The best tester isn’t the one who finds the most bugs or who embarrasses most programmers. The best tester is the one who gets most bugs fixed.”
- 一个好的测试人员不适发现最多的bug或照出谁是不好的程式设计师,最好的测试员是找到最多可被修复的Bug
- Bug report上的问题都应当被修复吗?答案是"否"
- Bug是否要被修复,需视情况而定,RD并非要照单全收,对于使用者有直接且重大的影响当然要修复,至于非直接重要的问题,可在进行讨论进行筛选后再修复
针对Bug report,有个很重要的观念就是 ==> 看到 Bug要针对问题深入探索,尽可能找到bug发生的真正原因
- Bug Report应包含下列讯息:
- Bug Summary (Bug的描述)
- Steps to reproduce (重现的步骤)
- Attachments (Snapshot, Log files etc.,) (附档:萤幕撷取图片、Log纪录...等)
- Bug reproducibility(bug 可被重现的机率 ex:100% or 4/5)
- Bug Severity(Bug的严重程度)
- Software Version, Environment Information (软体版本资讯、测试环境..等)
- Other information based on organizational requirements.(其他相关的资讯...例如:发生时的现场条件)
- 应简洁明了
- Bug Summary内容可简短扼要的点出问题
- 应包含When (哪个时间或状态)/ what(发生甚么问题) /how(如何发生)
- 应尽量避免使用一些含糊不清的字眼(ex:“not working properly”, “not working as expected” etc.)
- 尽量找出重复可重现的步骤,一个无法重现的bug其价值并不是那么的重要
- 在某些bug当中,会有些关键性的步骤,因此在描述步骤时,可附加说明(ex:Key point),提醒RD
- 针对问题描述,可加上预期结果(expect result)与实际结果(current result)以供比对
- 对于较精简且不是很重要的步骤,若非必要步骤,可简单描述即可
- 无法使用文字描述,可用附档辅助 rd厘清问题
- 若有系统的log或是其他纪录资讯,可一并附上,以助于厘清问题
#3. Bug Reproducibility
- 一个问题的大或小,可从是否能被重现来参考
- 可以被重现的问题,其priority永远比其他只能被重现一次,或是偶而才重现的问题还要高
- 找出正确的重现步骤,是一个测试工程师的职责
- 严重程度是一个问题的影响范围的表示,影响程度越大,其serverity越高
- severity的定义如下:
Severity 1 – Show Stopper – for bugs that are catastrophic, without being fixed the user will not be able to continue using the software and there is no possible work around(非常严重会造成功能停摆,造成该功能无法继续使用,且没有其他解决方法 ;例如:所有储存功能皆无效save键就当机了,导致于文件文法储存)
身为一个测试人员,就是在重现使用者的状况,因此在测试时应站在客户的立场,模拟客户的行为与需求进行测试。
以下是我个人的碎碎念时间:
- Bug不会平白无故跑出来,也不会平白无故地失踪,事出必有因,一个QA要有无比的耐心与爱心,才能找出真正的问题 。
- 一个测试人员,应多练习如何表达问题,将bug做清楚的描述,将有助于缩短找问题的时间。
- 每一个Bug都有它的价值,不要轻易地忽略它。
- 与其找出一千个Bug,不如找到一个对产品有帮助的关键Bug。
Jo 2015.11.13