理解什么是软件缺陷,软件缺陷到底有多严重,软件缺陷发生的原因,清楚作为一个软件测试员的最终目标以及成为一个优秀的软件测试员应该具有的特点品质。
一、臭名昭著的软件错误用例研究
软件无处不在。但是软件是人写的——所以不完美。
-
英特尔奔腾浮点除法缺陷,1994
分析:当软件测试发现问题时,要注重解决问题的方式,不要试图弱化问题的已知重要性。 -
美国航天局火星基地登陆者 探测器,1999
分析:要注重测试的全面性,测试双方独立工作都做得很好,但和在一起就不是这样了。 -
爱国者导弹防御系统,1991
分析:系统时钟的一个很小及时错误累计起来14小时后,跟踪系统不再准确。 -
千年虫问题,大约1974
分析兼容性问题 -
危险的预见(JPEG图片携带病毒感染系统),2004
分析:通过某种传播手段,造成互联 的灾难性破坏,可能只是一个时间问题。
二、软件缺陷
改正软件缺陷也许花费很小,但是解决方案的事实却可能花费数百美元。
-
软件失败的术语
- 指的是缺失严重的情况,甚至是危险的情况,同时也意味着责备:
故障(fault) 失败(failure) 缺点(defeat) - 并不那么尖锐,主要指未按预料的运行,而不是说全部失败:
异常(anomaly) 事件(incident) 偏差(variance) - 其他:
问题(problem) 错误(error) 缺陷(bug) 矛盾(inconsistency) 特殊(feature)
注意:产品开发小组提及软件问题的方式反映出他们处理整个开发过程的方式。
-
软件缺陷的定义
-
产品说明书(product specification): 对开发的产品进行定义,给出产品的细节、如何做、做什么、不能做什么。
-
软件缺陷(software bug):
1)软件未实现产品说明书要求的功能;
2)软件出现了产品说明书指明不应该出现的错误;
3)软件实现了产品说明书未提到的功能;
4)软件未实现产品说明说虽未明确但应该实现的功能;
5)软件难以理解、不易使用、运行缓慢或者——从测试员的角度看,最终用户会认为不好。
注意:软件测试员是第一个真正使用软件的人,如果软件测试员发现某些地方不对劲,无论什么原因,都要认为是软件缺陷。作为软件测试员,要全面、最重要的是要客观评价,并非所有测试发现的缺陷都要修复。
-
软件缺陷出现的原因
以下分析软件缺陷出现的原因:
- 产品说明书:是主要原因,许多情况下,说明书没有写,其他情况下可能是说明书不够全面、经常修改,或者整个开发小组没有很好的沟通。为软件做计划是极其重要的,如果没有做好,软件缺陷就会出现。
- 编码。
- 其他。
-
软件缺陷的费用
软件通常通过有计划、有条理的开发过程来实现。从开始到计划、编程、测试,到公开使用的过程中,都很有可能发现软件缺陷。
注意:从说明书–设计–编码–测试–发布整个过程中,谁着时间推移,修复软件缺陷的费用成十倍地增长。
三、作为软件测试员
清楚作为一个软件测试员的最终目标以及成为一个优秀的软件测试员应该具有的特点品质。
-
软件测试员的实质
思考 :
- 如果只是为了测试应达到的功能,建立测试时期通过,就会遗漏功能不足之处,这样会漏掉缺陷。
- 作为软件测试员,不能满足于仅仅找到软件缺陷,而应该考虑如何在软件开发过程中找出软件缺陷,以便减低修复成本。
软件测试员的目标是尽可能早地找出软件缺陷,并确保其得以修复。
注意:要记住,“修复”缺陷并非指一定要改正软件。可以使指在用户手册中添加一段注释或者为用户提供特殊的培训。这可能需要改变市场部门广告宣传数据,或者甚至推迟缺陷部分功能的发布。
-
作为优秀的软件测试员
大多数软件测试员应该具备的素质,或者应该有意识的培养这方面的素质:
- 是探索者:软件测试员不会害怕进入陌生环境。他们喜欢拿到新软件,安装在自己的机器上,观看结果。
- 是故障排除员:软件测试员善于发现问题的症结。他们喜欢解谜。
- 不放过任何蛛丝马迹:软件测试员总在不停地尝试。他们可能碰到转瞬即逝或者难以重现的软件缺陷。他们不会但做事偶然而轻易放过,而会想尽一切可能去发现它们。
- 具有创造性:测试显而易见的事实,对软件测试员来说还不够。他们的工作是要设想出富有创意甚至超常的手段来寻找缺陷。
- 是追求完美者:他们力求完美,但是当知道某些无法奇迹是,不去苛求,而是尽力接近目标。
- 判断准确:软件测试员要决定测试内容、测试时间,以及看到的问题是否是真的缺陷。
- 他们注重策略和外交。软件测试员常常带来的是坏消息。他们必须告诉程序员,你的孩子(程序)很丑。优秀的软件测试员知道怎样策略和职业地处理这些问题,也知道如何和不够冷静的程序员合作。
- 善于说服:软件测试员找出的缺陷有时被认为不重要,不用修复。测试员要善于清晰地表达观点,说明软件缺陷为何必须修复,并推进缺陷的修复。
参考文献
- 《软件测试(原书第2版)》
- 《软件测试的艺术(原书第3 版)》
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!