软件测试的原则

标签: 软件测试 原则 | 发表时间:2014-04-24 00:34 | 作者:aertimiss
出处:http://blog.csdn.net
 在软件测试中有很多重要的指导原则,这些原则看上去大多是显而易见的,但是总是被我们忽略,作为虫师,我们当然应该把这些原则牢记于心,作为专业测试人员的基本素养。
原则1 测试用例中一个必需部分是对预期输出或结果的定义
 这条原则是软件测试中常犯错误之一,但是如果不按照这条原则进行,由于“所见即所想”这样的一个心里现象的存在,某个似是而非的错误结果可能会被当成是正确的结论。解决问题的办法就是事先在设计用例的时候就精确地定义程序的预期输出,鼓励人们对输出的结果仔细检查。
  因此一个测试用例必须包括两个部分:1对程序输入数据的描述;2 对程序在上述输入数据下的正确输出结果的精确描述。
原则2 程序员应当避免测试自己编写的程序
 这个大家都能够理解,因为亲自编辑或者校对自己的作品作品确实是有失公允的。当程序员“建设性”地设计和编写完程序之后,很难让他改变视角“破坏性”的来审视程序。但是我们要注意一点,这一条原则并不适用于“调试”,相反的,“调试”由程序员自己完成会更有效。
原则3 编写软件的组织不应当测试自己编写的软件
 这一条原则的论据与上一条想死。虽然很多组织在某种程度上面成功地做到了这一点,但是更经济的方法是由客观、独立的第三方来进行测试。
原则4: 应当彻底检查每个测试的执行结果
 这条原则很多人觉得简直是废话,但是却还是常常的被忽略。我们见过很多大量的例子,即便错误的症状在输出清单中可以清楚地看到,但是还没是没有找到那些错误出来。
原则5 测试用例的编写不仅应当根据有效和预期的输入情况,而且也应当根据无效和未预料到的输入结果
 在软件测试的时候,有一个自然的倾向,就是将重点集中在有效和预期的输入情况上,而忽略了无效和未预料的情况。但是用户真正使用软件的时候,就有了很大的随机性,因此软件产品会突然暴露出很多问题在测试的时候未被预料到。因此,针对未预料的和无效输入情况的测试用例,似乎比针对有效输入情况的那些用例更能发现问题。
原则6 检查程序是否“未做其应该做的”仅是测试的一半,测试的另一半是检查程序是否“做了其不应该做的”
 这一条原则是上一条原则的必然结果,必须检查程序是否有我们不希望的副作用。虽然程序员会觉得委屈:我做了更多的功能难道还错了吗?测试人员只能含泪点头:亲,确实错了。不论IT世界是如何的倡导自由开放,基本的规则还是要遵守的,给用户想要的,做到最好足矣。
原则7 应避免测试用例用后即弃,除非软件本身就是一个一次性的软件
 饱含虫师们宝贵投入的测试用例,在测试结束之后就消失了,一旦软件需要重新测试,比如改正了某个错误或者作了某种改进,又必须重新设计这些测试用例。保留测试用例,当程序其他部分发生更动后重新执行,这就是我们所谓的“回归测试”。
原则8 计划测试工作时不应默许假定不会发现错误
  测试,就是为了发现错误而执行程序的过程。
原则9 程序某部分存在更多错误的可能性,与该部分已发现错误的数量成正比
 这个原则也叫 缺陷的二八定理,指的是一般情况下,软件80%的缺陷集中在20%的模块中。我们测试的时候要抓住主要矛盾,如果发现某一个程序模块比其他模块有更多的缺陷,就要投入主要的人力和精力重点测试这20%的模块,以提高测试的效率。 缺陷的二八定理成为缺陷的集群现象或者是虫子窝现象


作者:aertimiss 发表于2014-4-23 16:34:02 原文链接
阅读:54 评论:0 查看评论

相关 [软件测试 原则] 推荐:

软件测试的原则

- - CSDN博客推荐文章
 在软件测试中有很多重要的指导原则,这些原则看上去大多是显而易见的,但是总是被我们忽略,作为虫师,我们当然应该把这些原则牢记于心,作为专业测试人员的基本素养. 原则1 测试用例中一个必需部分是对预期输出或结果的定义.  这条原则是软件测试中常犯错误之一,但是如果不按照这条原则进行,由于“所见即所想”这样的一个心里现象的存在,某个似是而非的错误结果可能会被当成是正确的结论.

文章: 软件测试转型之路

- - InfoQ cn
2010年12月31日,在网易从事了多年开发之后,依依不舍地离开,面临的是一个完全从零开始的全新职位:SQA,也就是tester. 保持某些系统的高可用性,是一些企业的重中之重,如何设计. 海量数据处理,海量视频分发,架构热点难点,尽在架构师峰会. ArchSummit全球架构师峰会报名启动. 当时对为什么被选择做软件质量保证,而不是继续在研发上进取,持有保留态度:凭什么要我转,不是别人.

软件测试中的心理学

- - 技术改变世界 创新驱动中国 - 《程序员》官网
软件测试是一项技术性工作,但同时也涉及经济学和人类心理学的一些重要因素. 在理想情况下,我们会测试程序的所有可能执行情况,而在大多数情况下,这几乎是不可能的. 即使一个看起来非常简单的程序,其可能的输入与输出组合可达到数百种甚至数千种,对所有的可能情况都设计测试用例是不切合实际的. 对一个复杂的应用程序进行完全的测试,将耗费大量的时间和人力资源,这样在经济上是不可行的.

软件测试用例编写建议

- - CSDN博客推荐文章
软件测试人员(SQA/SQC),做的最频繁并且最主要的活动之一就是编写软件测试用例了. 首先,请记住以下所有的讨论都是关于编写软件测试用例,而不是设计/定义/确认测试用例(TC).   这项主要活动有几个重要的关键因素,让我们先来大概了解一下吧.   A、软件测试用例要易于定期修改和更新.   我们生活在一个不断变化的世界,软件也不能免于变化.

软件测试知识库管理方案——大结局

- Ben - Taobao QA Team
淘宝测试团队的知识沉淀发展到今天,经历了无数风风雨雨,到现在各个产品线的沉淀方式,仍然没有完全统一,处于群雄割据的局面. 我们先简单看看淘测试的知识沉淀的发展历史. 在混沌初开的年代,大家基本都是用MS Word来编写沉淀文档,然后放在一个共享目录下面. 后来wiki概念兴起,产生了很多这一类型的web应用程序,MS share point(SP)是被普遍使用的.

8月AV-Comparatives杀毒软件测试结果出炉

- 建军 - cnBeta.COM
AV-Comparatives是来自奥地利的杀毒软件评测机构,在国际上享有盛名,是公认信得过的独立测试机构. 每月AVC都会更新动态测试结果,日前,8月份动态测试结果也出炉了. AVC的动态测试是测试恶意网站及其威胁拦截测试,所有杀软采用默认设置,并且当杀软弹出提示时采取的选择也是杀软默认给出的.

Web软件测试中数据输入的检查清单

- - InfoQ cn
检查清单(Checklist)可以帮测试人员节省时间,因为很多有效的方法并不需要每个测试人员重新发现,前人已经有了充分的总结,并做了大量的有效性验证,其次,检查清单可以帮助测试人员避免遗漏,人的记忆是有局限的,难免会有遗漏的地方,通过检查清单检查可以有效的防止遗漏. 最近,IBM工程师苏京刚 总结了Web软件测试中数据输入的检查清单,对Web测试人员提供了很好的参考.

如何开发高质量软件?及软件测试观点

- - 我的宝贝孙秀楠 ﹣C++, Lua, 大连,程序员
也许是因为我经常在twitter上鼓吹“代码质量来自code review和单元测试”,老赵的这篇文字 http://blog.zhaojie.me/2012/01/a-case-requirement-to-practice-unit-testing-or-tdd.html 也at我一下,抱歉的是最近欠债太多,正在着手完成答应侯伯薇的那篇关于appengine的文字.

Google软件测试之道之读书笔记

- - ITeye博客
以下是看完Google软件测试知道之后书中摘录以及整理的笔记.主要摘录自己认同的,有启发性,指导性的内容.并且适当对书中的内容做了一些整理,欲看全部内容请购买原版图书. 第一章:Google软件测试介绍. 1.Google的测试团队并非雄兵百万,我们更像是小而精的特种部队,我们依靠的是出色的战术和高级武器.

探索式软件测试读书笔记

- - 行业应用 - ITeye博客
2011年4月买的书,2014年1月才读,罪过罪过,后悔莫及.中括号里面的内容是自己的评注. 1.软件失效的主要原因是因为开发人员没有理解,预见或测试所有可以运行软件的环境 [环境应该只是失效的一个因素]. 2.测试人员拥有那种"如何才能攻破这个功能"的态度和开发人员那种"如何才能实现这个功能"的态度是相辅相成的 [可以说是相辅相成,换个角度也可以说明大家都不完美 ,才导致有分工].