摘录自《探索式软件測试》(注:作者模仿了圣经十诫的语气和内容编写了软件測试戒律)

1.汝应用大量输入重复锤炼汝之应用程序

2.汝应贪图汝之邻居的应用程序

3.汝应亲自寻找睿智的预言家

4.汝不应崇拜无法重现的失效

5.汝应尊重汝的模型和自己主动化測试

6.汝应利用开发者的过错与他们作对

7.汝应醉心于谋杀应用程序(庆祝蓝屏吧)

8.汝应保持安息日(指产品公布时刻)的圣洁

9.汝应贪图开发者的源码

下面内容主要来自《探索式软件測试》。本人依据自己的理解对部分内容稍作了改动

3.汝应亲自寻找睿智的预言家

我们都知道,測试至少存在两个部分。首先我们使用输入数据,然后对结果进行检查。

我们将数据输入到软件中,然后測试该软件是否依照既定的方式回应这些输入。假设我们无法对结果进行验证,測试就无法有效进行。

关于所谓睿智的预言家,我们有兴趣的是“应用某些測试后。该应用程序是否依照既定的方式执行?”。这就须要我们的预言家(也就是測试的基准)清楚的了解在给定特定的输入和环境条件组合的情况下,程序应有的行为。(博主的理解:即要事先知道你要执行的測试会有如何的预期结果。博主更愿意把这个预言家叫做预期结果。

假设不知道预期结果,你也就无法推断程序返回的结果是不是正确。)

将測试基准进行自己主动化是一件非常困难的事,可是非常值得去最求,由于这不只能够创建一个非常有价值的測试工具,其本身也是一个启迪智慧的追求过程。即通过自己主动化的活动,你得到了一个更加聪明的測试者。不管你终于是否能成功地将測试基准自己主动化,强迫自己像它一样思考。经常比你可能选择做的其它不论什么事情更有工作效率。

4.汝不应崇拜无法重现的失效

我们都曾遇到这样的情况,不是吗?你遇到一个缺陷。一般是非常好的缺陷。可是却无法重现。

缺陷越好,你的感觉越不好。我以前见过很多优秀的測试人员,花了数小时甚至数天的时间试图重现一个他们仅仅见过一次的缺陷。

为了重现这样一个缺陷的尝试一般是英勇的,可是没有合适的工具。这些尝试仅仅能是浪费时间。而我看到的情况是时间被白白浪费了。而測试人员却没有意识到这点。我以前看到一个測试人员花了一整天的时间试图记起一个崩溃缺陷的重现步骤,可是没有成功。我更愿意那个測试人员把他的时间用在其他更好的地方。

和其他不论什么一个測试人员一样,我全然理解那种挫败的感觉,可是最求一个这种缺陷的结果往往是无法充分利用时间。

这条戒律的教育意义是双重的。第一、尽你最大努力注意并记住(或记录下来)对软件採取的測试步骤,同一时候记住应用程序的响应。第二、考虑使用调试器之类能追踪动作和软件状态的工具。这将去除重现缺陷时不少推測成分,并防止优秀的測试人员违背这条戒律。

博主理解:纵观全文。这条戒律的教育意义应该是有三重的。最后一条作者在前面提到了,但并没有在最后的归纳中写下

1、努力记录步骤和结果

2、尽量使用工具辅助

3、假设重现太困难。不要在它上面浪费太多时间,将你的时间投入到其他更有效率的測试中。这样对项目整体是更好的选择。

James Whittaker的软件測试戒律(二)的更多相关文章

  1. 软件測试系统文章(文件夹&链接在此)

    前言 我会在此账号上写一系列关于软件測试的文章,故在此置顶软件測试系列文章的文件夹和链接,以方便大家阅读! 文件夹 软件測试系列之入门篇(一) 软件測试系列之了解篇(二) 软件測试系列之黑白盒(三) ...

  2. PCI OP WiFi 測试(二):PCI对OP的要求

    PCI OP WiFi 測试(二):PCI对OP的要求 每次看PCI的文档.都一头雾水,本来就非常抽象.看英文就感觉更抽象.泛泛而谈的要求,看一次忘一次.仅仅好翻译成中文.没事就看看,知道指导思想. ...

  3. 移动App測试实战:顶级互联网企业软件測试和质量提升最佳实践

    这篇是计算机类的优质预售推荐>>>><移动App測试实战:顶级互联网企业软件測试和质量提升最佳实践> 国内顶级互联网公司測试实战经验总结.阿里.腾讯.京东.携程.百 ...

  4. mongodb3.0 性能測试报告 二

    mongodb3.0 性能測试报告 一 mongodb3.0 性能測试报告 二 mongodb3.0 性能測试报告 三 測试环境: 服务器:X86 pcserver   共6台 cpu:  单颗8核 ...

  5. 软件測试、ios中的測试概念以及步骤

    软件測试: 软件測试的目标是应该服务于软件项目的目标,能够通过建议反馈使用更加高效的方法和工具,提升软件开发效率以及软件开发质量.同一时候还能够通过过一些手段,更早.更快.很多其它地发现缺陷.从容减少 ...

  6. SWTBOK測试实践系列(4) -- 软件測试技术的黑白之道

    白盒測试和黑盒測试往往是项目中最受争议的两种測试类型,每一个人偏爱各不同.现实生活中行业人员大多喜欢白盒測试而忽视黑盒測试,那么项目中又应该怎样平衡这两类測试呢?我们先来看两个案例. 案例一: 某移动 ...

  7. 熊猫猪新系统測试之二:Mac OS X 10.10 优胜美地

    在第一篇windows 10技术预览版測试之后.本猫为大家呈现还有一个刚刚才更新的mac操作系统:"优胜美地".苹果相同一改以猫科动物为代号命名的传统.在10.9的Maverick ...

  8. Web安全測试二步走

    Web安全測试时一个比較复杂的过程,软件測试人员能够在当中做一些简单的測试,例如以下: Web安全測试也应该遵循尽早測试的原则,在进行功能測试的时候(就应该运行以下的測试Checklist安全測试场景 ...

  9. 菜鸟学Java(二十一)——怎样更好的进行单元測试——JUnit

    測试在软件生命周期中的重要性,不用我多说想必大家也都很清楚.软件測试有许多分类,从測试的方法上可分为:黑盒測试.白盒測试.静态測试.动态測试等:从软件开发的过程分为:单元測试.集成測试.确认測试.验收 ...

随机推荐

  1. [DIOCP3-说明书] 关于DEMO的编译

    总有些朋友问我,关于DEMO编译的一些问题,每次都回答大概都差不多,我想还是写篇说明书给大家,关于DEMO编译的步骤.   [环境设定] 1.将DIOCP3\source路径添加到Delphi的搜索路 ...

  2. 导入第三方Jar包到Nexus私服

    公司里面有自己的公共代码库,如果希望交给Maven进行管理,可以搭建Nexus服务器,将公司的公共代码库的代码打成jar包,然后上传到Nexus私服服务器上,项目组的成员就可以在Maven项目中通过添 ...

  3. #define SIG_DFL ((void(*)(int))0)

    在linux内的信号处理函数中,有#define SIG_DFL ((void(*)(int))0)和#define SIG_IGN ((void(*)(int))1)两个宏定义.要理解这两个宏定义, ...

  4. 【转】Pycharm创建py文件时自定义头部模板

    File->settings->Editor->File and Code Templates->Python Script #!/usr/bin/env python # - ...

  5. S3C2440时钟体系结构

    任意一款单板,我们了解其时钟都是通过时钟树来的. 这里没有全部截完,只是讲解时钟来源,OSC代表晶振,这说明我们的时钟可以来至晶振OSC也可以来至外部输入EXTCLK,这是通过OM选择器来完成的. 2 ...

  6. hdu3926(判断两个图是否相似,模版)

    题意:给你2个图,最大度为2.问两个图是否相似. 思路:图中有环.有链,判断环的个数以及每个环组成的人数,还有链的个数以及每个链组成的人数 是否相等即可. 如果形成了环,那么每形成一个环,结点数就会多 ...

  7. Drozer快速使用指南

    1.简介: Drozer是一款用于测试android应用程序漏洞的安全评估工具,能够发现多种类型的安全的漏洞,免费版本的相关资源下载地址: https://www.mwrinfosecurity.co ...

  8. 迷你版mvc框架执行过程

    一.把路由添加到路由表, 二.注册ControllerBuilder(老板)和默认工厂(DefaultControllerFactory) 2.1默认工厂获取可以创建的Controller. 三.由于 ...

  9. # Writing your first Django app--part 3 about view

    添加更多的view 写actually有用的view 使用模版来设计view 使用模版设计view的捷径:render() 抛出异常404 抛出异常404-快捷方法: get_object_or_40 ...

  10. Web Server 与 App Server

    Web Server 常见的Web Server有Apache Server与Nginx. Apache Http Server是Apache软件基金会下的一个项目,是一款开源的HTTP服务器软件(它 ...