James Whittaker的软件測试戒律(二)
摘录自《探索式软件測试》(注:作者模仿了圣经十诫的语气和内容编写了软件測试戒律)
1.汝应用大量输入重复锤炼汝之应用程序
2.汝应贪图汝之邻居的应用程序
3.汝应亲自寻找睿智的预言家
4.汝不应崇拜无法重现的失效
5.汝应尊重汝的模型和自己主动化測试
6.汝应利用开发者的过错与他们作对
7.汝应醉心于谋杀应用程序(庆祝蓝屏吧)
8.汝应保持安息日(指产品公布时刻)的圣洁
9.汝应贪图开发者的源码
下面内容主要来自《探索式软件測试》。本人依据自己的理解对部分内容稍作了改动
3.汝应亲自寻找睿智的预言家
我们都知道,測试至少存在两个部分。首先我们使用输入数据,然后对结果进行检查。
我们将数据输入到软件中,然后測试该软件是否依照既定的方式回应这些输入。假设我们无法对结果进行验证,測试就无法有效进行。
关于所谓睿智的预言家,我们有兴趣的是“应用某些測试后。该应用程序是否依照既定的方式执行?”。这就须要我们的预言家(也就是測试的基准)清楚的了解在给定特定的输入和环境条件组合的情况下,程序应有的行为。(博主的理解:即要事先知道你要执行的測试会有如何的预期结果。博主更愿意把这个预言家叫做预期结果。
假设不知道预期结果,你也就无法推断程序返回的结果是不是正确。)
将測试基准进行自己主动化是一件非常困难的事,可是非常值得去最求,由于这不只能够创建一个非常有价值的測试工具,其本身也是一个启迪智慧的追求过程。即通过自己主动化的活动,你得到了一个更加聪明的測试者。不管你终于是否能成功地将測试基准自己主动化,强迫自己像它一样思考。经常比你可能选择做的其它不论什么事情更有工作效率。
4.汝不应崇拜无法重现的失效
我们都曾遇到这样的情况,不是吗?你遇到一个缺陷。一般是非常好的缺陷。可是却无法重现。
缺陷越好,你的感觉越不好。我以前见过很多优秀的測试人员,花了数小时甚至数天的时间试图重现一个他们仅仅见过一次的缺陷。
为了重现这样一个缺陷的尝试一般是英勇的,可是没有合适的工具。这些尝试仅仅能是浪费时间。而我看到的情况是时间被白白浪费了。而測试人员却没有意识到这点。我以前看到一个測试人员花了一整天的时间试图记起一个崩溃缺陷的重现步骤,可是没有成功。我更愿意那个測试人员把他的时间用在其他更好的地方。
和其他不论什么一个測试人员一样,我全然理解那种挫败的感觉,可是最求一个这种缺陷的结果往往是无法充分利用时间。
这条戒律的教育意义是双重的。第一、尽你最大努力注意并记住(或记录下来)对软件採取的測试步骤,同一时候记住应用程序的响应。第二、考虑使用调试器之类能追踪动作和软件状态的工具。这将去除重现缺陷时不少推測成分,并防止优秀的測试人员违背这条戒律。
博主理解:纵观全文。这条戒律的教育意义应该是有三重的。最后一条作者在前面提到了,但并没有在最后的归纳中写下
1、努力记录步骤和结果
2、尽量使用工具辅助
3、假设重现太困难。不要在它上面浪费太多时间,将你的时间投入到其他更有效率的測试中。这样对项目整体是更好的选择。
James Whittaker的软件測试戒律(二)的更多相关文章
- 软件測试系统文章(文件夹&链接在此)
前言 我会在此账号上写一系列关于软件測试的文章,故在此置顶软件測试系列文章的文件夹和链接,以方便大家阅读! 文件夹 软件測试系列之入门篇(一) 软件測试系列之了解篇(二) 软件測试系列之黑白盒(三) ...
- PCI OP WiFi 測试(二):PCI对OP的要求
PCI OP WiFi 測试(二):PCI对OP的要求 每次看PCI的文档.都一头雾水,本来就非常抽象.看英文就感觉更抽象.泛泛而谈的要求,看一次忘一次.仅仅好翻译成中文.没事就看看,知道指导思想. ...
- 移动App測试实战:顶级互联网企业软件測试和质量提升最佳实践
这篇是计算机类的优质预售推荐>>>><移动App測试实战:顶级互联网企业软件測试和质量提升最佳实践> 国内顶级互联网公司測试实战经验总结.阿里.腾讯.京东.携程.百 ...
- mongodb3.0 性能測试报告 二
mongodb3.0 性能測试报告 一 mongodb3.0 性能測试报告 二 mongodb3.0 性能測试报告 三 測试环境: 服务器:X86 pcserver 共6台 cpu: 单颗8核 ...
- 软件測试、ios中的測试概念以及步骤
软件測试: 软件測试的目标是应该服务于软件项目的目标,能够通过建议反馈使用更加高效的方法和工具,提升软件开发效率以及软件开发质量.同一时候还能够通过过一些手段,更早.更快.很多其它地发现缺陷.从容减少 ...
- SWTBOK測试实践系列(4) -- 软件測试技术的黑白之道
白盒測试和黑盒測试往往是项目中最受争议的两种測试类型,每一个人偏爱各不同.现实生活中行业人员大多喜欢白盒測试而忽视黑盒測试,那么项目中又应该怎样平衡这两类測试呢?我们先来看两个案例. 案例一: 某移动 ...
- 熊猫猪新系统測试之二:Mac OS X 10.10 优胜美地
在第一篇windows 10技术预览版測试之后.本猫为大家呈现还有一个刚刚才更新的mac操作系统:"优胜美地".苹果相同一改以猫科动物为代号命名的传统.在10.9的Maverick ...
- Web安全測试二步走
Web安全測试时一个比較复杂的过程,软件測试人员能够在当中做一些简单的測试,例如以下: Web安全測试也应该遵循尽早測试的原则,在进行功能測试的时候(就应该运行以下的測试Checklist安全測试场景 ...
- 菜鸟学Java(二十一)——怎样更好的进行单元測试——JUnit
測试在软件生命周期中的重要性,不用我多说想必大家也都很清楚.软件測试有许多分类,从測试的方法上可分为:黑盒測试.白盒測试.静态測试.动态測试等:从软件开发的过程分为:单元測试.集成測试.确认測试.验收 ...
随机推荐
- 【ARM】串行通信
异步通信 所谓异步通信,是指数据传送以字符为单位,字符与字符间的传送是完全异步的,位与位之间的传送基本是同步的. 异步串行通信的特点可以概括如下 1)以字符为单位传送信息 2)相邻两字符间的间隔是 ...
- yum卸载失败Error in PREUN scriptlet in rpm package postgresql-server
yum --setopt=tsflags=noscripts remove 参考 https://serverfault.com/questions/613256/yum-error-in-preun ...
- 什么是内存溢出以及java中内存泄漏5种情况的总结
内存泄漏定义(memory leak):一个不再被程序使用的对象或变量还在内存中占有存储空间. 一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出.内存溢出 out of memory ...
- 比较正确的 iPhone7/7+ 的进入DFU的方法是这样的
正确的.没有歧义的.在WIndows7系统下进入DFU并刷机的方法是: 1)PC端打开iTunes,数据线连接iPhone7与PC: 2)iPhone7关机: 3)同时按下电源键和音量减键,LOGO会 ...
- C#数组 添加元素
例1: string[] a = new string[] { "1", "2", "3" }; 给a追加一个 "4" ...
- LeetCode: N-Queens II 解题报告
N-Queens II (LEVEL 4 难度级别,最高级5) Follow up for N-Queens problem.
- Pythonic版冒泡排序和快速排序(附:直接插入排序)
[本文出自天外归云的博客园] 冒泡排序:就是每次排序选最大元素到数组a的最后,排 len(a)-1 次.也就是两个for循环: 1. 外层是待排数组长度的循环,从待排数组长度(初始待排数组长度等于数组 ...
- java基础篇---反射机制
一.JAVA是动态语言吗? 一般而言,说到动态言,都是指在程序运行时允许改变程序结构或者变量类型,从这个观点看,JAVA和C++一样,都不是动态语言. 但JAVA它却有着一个非常突出的动态相关机制:反 ...
- [转]关于重定向RedirectAttributes的用法
刚才做项目的时候看到一篇写的很不错的博客,解决我之前对于RedirectAttributes的困惑,也给大家推荐下~ 原文地址https://zhuanlan.zhihu.com/p/21353217 ...
- [转]layDate显示默认时间
原文地址:https://blog.csdn.net/u011870547/article/details/72540074 jsp: <div class="form-group&q ...