探索式软件测试--第二章 手工测试

1.软件缺陷的根源

(1)本书讨论两种缺陷:
a.程序员引入
b.运行环境导致

2.缺陷预防和检测

(1)缺陷预防
缺陷预防技术一般是从开发角度来说的,包括:
a.更好的设计规范
b.是时代码审核制度(code review)
c.运行代码静态分析工具(static analysis tool)
d.运行单元测试(unit testing)

所有缺陷预防技术都有以下根本问题:
a.开分人员是糟糕的测试者
b.处于静止状态的软禁
c.缺乏数据

(2)缺陷检测
测试人员一般使用两种形式的动态测试:
a.自动化测试(通过编写代码来测试一个应用程序)
b.手工测试(使用程序的用户界面,手工输入数据进行测试)

3.手工测试(manual testing)

(1)手工测试中是用脚本:
脚本(script)用于指定该使用什么样的输入值,也定义了如何去判断正确的软件输出结果。

(2)探索式测试:
如果完全抛开测试脚本,就称为探索式测试。
测试结果、测试实例和测试文档会在运行测试时创建。
最适用于使用“敏捷开发过程(agile method)”的web应用程序。
缺点在于测试人员有可能在测试中没有重点。在没有测试文档的情况下,测试人员如何保证良好的测试覆盖率呢?
指导方法的重要性。从测试策略的角度来说,明确到底要测什么和怎么测同样重要。
两种指导方法:局部探索式测试法(exploratory testing in the small)和全局探索式测试法(exploratory testing in the large)
a.局部探索式测试法:辅助测试人员在测试过程中及时作出决定。
b.全局探索式测试法:用于帮助测试人员设计整体测试计划和测试策略。
单个单独的测试用例应该覆盖软件哪些功能?
哪些软件的功能必须放在一起?
应该先测哪个功能?
如何决定哪个功能先测,哪个后测?
如果一个项目中有多个测试人员,应该用什么样的测试策略,以确保各个测试人员的工作相辅相成?
对于这些较高层次上有关总体测试和测试策略的决定,测试人员如何用探索式软件测试法进行取舍呢?
c.同时使用探索式测试和脚本测试:
这两种方法可以很好地结合起来。
使用正式脚本可以为探索式测试设立一个明确的框架范围,探索式测试则可以提高测试脚本测试的有效性,为脚本中的测试用例提供更多种多样的变化。

时间: 2024-10-12 07:50:39

探索式软件测试--第二章 手工测试的相关文章

<<探索式软件测试>>第二章 手工测试

第二章 手工测试 1.软件缺陷的根源 本书讨论两种缺陷: a.程序员引入 b.运行环境导致 2.缺陷预防和检测 (1)缺陷预防 缺陷预防技术一般是从开发角度来说的,包括: a.更好的设计规范 b.是时代码审核制度(code review) c.运行代码静态分析工具(static analysis tool) d.运行单元测试(unit testing) 所有缺陷预防技术都有以下根本问题: a.开分人员是糟糕的测试者 b.处于静止状态的软件 c.缺乏数据 (2)缺陷检测 测试人员一般使用两种形式的

《探索式软件测试》读书笔记(上)

<探索式软件测试>读书笔记(上) 2015-05-12 一.局部探索式测试 1.如何测试用户输入  1)合法输入和非法输入    输入筛选器   输入检查   异常处理代码  2)常规输入还是非常规输入  3)默认输入或用户提供的输入  4)使用输出来指导输入选择 2.如何测试软件状态 3.代码路径 4.用户数据 5.运行环境二.全局探索性测试 分类 方法 商业区 指南测试法 卖点测试法  地标测试法  极限测试法  快递测试法  深夜测试法  遍历测试法  历史区 恶邻测试法  博物馆测试法

探索式软件测试

探索式软件测试: 在敏捷测试中应用非常广泛 没有固定的测试用例,有一些测试思想和固定的框架以及一些测试场景,来完成测试工作. 即不同的测试思想,不断的应用这些测试思想,本身就是一些策略 自动化测试 手工测试 局部探索性测试 全局探索式测试 混合探索式软件测试 漫游与测试中的棘手问题 手工测试 软件缺陷的根源: 来自软件开发本身! 两种缺陷: 程序员引入缺陷 运行环境导致的缺陷 测试环境和上线环境相差很大 缺陷预防和检测 1.设计更好的设计规范 2.实施代码审核制度 (代码review) 3.运行

[ 测试思维 ] 探索式软件测试

非常不错的关于探索式软件测试的学习资料 1.探索式测试简析 作者:微软 史亮 http://pan.baidu.com/s/1c2D4tAo 2.探索式测试白皮书 作者:淘宝 季哥 http://pan.baidu.com/s/1qYFNG3y

深度探索C++对象模型 第二章构造函数语意学

在使用C++时,常常会好奇或者抱怨,编译器为我们做了什么事呢? 为什么构造函数没有为我初始化呢?为什么我还要写默认构造函数呢? 2.1 Default Constructor 的构造操作 如果没有声明默认构造函数,编译器会在需要的时候帮我们产生出来. 为了避免在多个地方被需要导致重复,则编译器将产生的构造函数声明为inline方式. class Foo {public:Foo(), Foo(int) }; class Bar {public: Foo foo;char *str;} Bar ba

&lt;&lt;探索式软件测试&gt;&gt;第四章 全局探索式测试法

第四章 全局探索式测试法 1.探索软件 探索式测试有以下几个目标: a.理解应用程序如何工作,他的接口看起来怎样,他实现了哪些功能 b.强迫软件展示其全部能力 c.找到缺陷 2.旅游者比喻 (1)商业区测试类型 a.指南测试法(The Guidebook Tour) 旅游手册--用户说明书 指南测试法要求测试人员通过阅读用户手册并严格遵照手册的建议执行操作. 这个测试法不仅可以验证软件确实实现了手册所描述的各种特性,同时也验证了用户手册的准确性. 这个测试法的变种: *博客测试法(Blogger

15.探索吧!深入理解探索式软件测试

1) 测试的很多思维不仅适用于工作也适用于生活,而那一刻,在她的面前,我却退缩了.Elisabeth则以她的热情和专业积极推动着敏捷测试,而这也为她赢得了2010年度的敏捷联盟Gordon Pask奖,该奖的设立正是为了表彰像她一样对敏捷实践做出了卓越贡献的人们. 2)探索式测试很重要. 尽管,将此方式运用于任何种类的开发均能产生价值,然而,它最适合于那种快速循环和突发变化很常见的敏捷开发.开发和测试的方法有很多共通之处. 3) 太让人失望了,不管我们写多少测试,也不管我们执行多少测试用例,都没

12.探索式软件测试

又是James的大作.相见恨晚,可惜出版5年之后才发现这本书.书中的大部分内容都在微软内部的大型项目上成功应用过. 不论是测试还是开发,都应该仔细读读,对提高自己的程序设计大有益处. 在微软公司,通过使用指南测试法和卖点测试法,可以提前确定那些关键的软件特性,也就是这里的地标.在选择地标后,要确定他们的前后顺序,然后从一个地标执行到另一个地标来探索应用程序,直到访问了列表中的全部地标.在这个过程中,需要记录使用过了哪些地标,并创建一个地标覆盖图来标识工作的进展(可以考虑使用思维导图). 1.全局

Android深度探索读书笔记 第二章

第二章介绍的是搭建android底层的开发环境 ,主要包括android应用程序开发环境.android NDK开发环境和交叉编译环境的搭建.首先介绍的是开发测试和调试Linux驱动.HAl程序需要的工具:JDK6或以上版本:Eclipse3.4或以上版本:ADT:CDT:androidSDK:Android NDk:交叉编译环境:Linux内核源代码:android源代码:用于调试的串口工具 minicom.接着介绍的是JDK的安装:首先从官方网站(http://www.oracle.com/