软件测试的真正价值并不体现在从代码中找出了多少缺陷,
而是发现设计和编程人员解决问题方法上的局限,
思路中的狭隘和技能方面的不足。
手工测试经典指南 -- <探索式软件测试>笔记
两种缺陷:
- 程序员引入的缺陷
- 环境导致的缺陷
测试无涯:按优先级去做
软件都会执行4个基本任务:
- 接收输入
- 产生输出
- 存储数据
- 运行运算
合法和非法输入:
- 输入筛查器
- 输入检查
- 异常处理代码
常规和非常规输入
默认和用户输入
输入,数据,状态,代码路径,环境设置
全局探索式测试:
商业区:用户使用的软件特性和功能
- 指南测试法:按用户手册进行测试
- 卖点测试法:最吸引用户的功能。变种 - 质疑测试法:执行卖点测试时,客户提出苛刻的问题,打断演示。从销售人员的演示中找卖点。
- 地标测试法:关键的软件特效就是地标。找到地标后,确定顺序,然后从一个地标执行到另一个地标,直到访问了所有地标。
- 极限测试法:向软件提出很多难以回答的问题。如:如何使软件发挥到最大程度?哪个特性会使软件运行到其设计极限?哪些输入和数据会耗费软件最多的运算能力?变种 - 找麻烦测试法:故意设置障碍看软件如何应对。
- 快递测试法:跟踪数据。如:在购物网站输入地址后,该地址会被用于哪些场景。
- 深夜测试法:测试维护任务。
- 遍历测试法:类似于超模测试法,选定一个目标,快速检查目标包含的所有对象,只检查那些明显的东西。
历史区:测试老的功能,缺陷修复代码
- 恶邻测试法:测试缺陷多的地方。
- 博物馆测试法:测试遗留代码
- 上一版测试法:仔细检查在新版本中无法运行的测试用例
旅游区:快速访问软件的各种功能,到此一游
- 收藏家测试法:收集软件的输出,到达那些可到达的地方并把观察到的输出记录下来。
- 长路径测试法:访问离程序开始点尽可能远的特性。
- 超模测试法:关心表面的东西,只测界面。
- 测一送一测试法:测试同时运行同一应用程序多个拷贝的情况。
- 苏格兰酒吧测试法:不容易找到的功能
娱乐区:辅助特性和功能
- 配角测试法:跟主要功能出现在同一页面的非常用功能
- 深巷测试法:测试最不常用的特性。变种 - 混合测试法:把最流行和最不流行的特性放在一起混着测。(是否该将两个特性放在一起测试?见以下图片)
- 通宵测试法:永远不要关闭应用程序
旅馆区:次要及辅助功能
- 取消测试法:启动操作然后停止它
- 懒汉测试法:做尽量少的实际工作,如:测默认值
破旧区:输入恶意数据以破坏软件,让环境恶劣
- 破坏测试法:移除软件必须的资源,让程序在内存较低的机器上运行,断网
- 反叛测试法:输入最不可能的数据,或已知的恶意输入。
- 强迫症测试法:重复同样的操作
- 混票测试法:基于场景。从一个场景跳到另一个,从而把两个或更多场景结合为一个具有混合目的的场景。找出那些使用通用数据,侧重于通用功能,或具有通用步骤的场景。
- 出租车测试法:执行不同的测试路径,操作同一个特性。
- 出租车禁区测试法:不论哪条路径,都无法操作同一特性。
- 多元文化测试法:本地化测试。
- 停车场测试法:地标测试法+超模测试法
是否该将两个特性放在一起测试:
手工测试 VS. 自动化测试:好的自动化测试源于手工测试
James Whittaker博客节选:
网友评论