软件探索性测试 笔记四

*建立起一个全局目标后,再开始测试

  探索式测试的几个目标:

  1、理解应用程序如何工作、它的接口看起来怎样、它实现了哪些功能

  2、强迫软件展示全部能力:

  *目的是让软件努力运行,证明软件确实实现了设计时所要求达到的功能

  3、找到缺陷,并有目的的使缺陷数量降为零

  把软件特性划分成几个相互重叠的“区域”,具体区域和测试方法如下:

  商业区:

  *含义:用户所要使用的软件特性和功能,你的软件包装盒上描述的特性和掩饰的特性及代码

  测试方法:

  1、指南测试法:根据用户说明书来测试

  2、卖点测试法:观摩哪些销售演示,测试演示过程,并且可以加上质疑测试法

  3、地标测试法:提前确定关键的软件特性,确定他们的前后顺序

  4、极限测试法:向软件提出最困难的问题

  5、快递测试法:关注于数据,找到每个和数据有接触的软件特性

  6、遍历测试法:通过选定一个目标(例如所有菜单项、所有错误消息或所有对话框),然后使用可以发现的最短路径来访问目标包含的所有对象

  历史区:

  *含义:从前版本遗留下的代码,还有那些曾经出现较多缺陷的特性和功能

  测试方法:

  1、恶邻测试法:反复测试缺陷特别多的地方

  2、博物馆测试法:关注被接受重新修改的老代码,或者是没被改动就放到新环境中运行的老代码

  3、上一版测试法:回归测试,关注新版本中无法再运行的测试用例

  娱乐区:

  *含义:软件的辅助特性,而不是主线特性

  测试方法:

  1、配角测试法:关注和主要的特性非常邻近的特性,例如和主要的特性一同出现在显示器上,容易被用户注意

  2、深巷测试法:软件中最不可能被用到的或者最不吸引用户的特性,有助于提高代码覆盖率

  *注:多个特性混合在一起测试时,比如重要的和不重要的混在一起时,可以考虑:

  **有关输入的问题:这两个特性会不会处理同一输入

  **有关输出的问题:这两个特性功能是否在可见的用户界面上操作同一块区域?他们会产生同一个输出吗?

  **有关数据的问题:这两个特性会操作其共享的一些内部数据?是读取共享数据、还是修改共享数据

  3、通宵测试法:性能测试和压力测试,永远不关闭程序,连续不断的使用某些特性来测试软件

  旅游区:

  *含义:只对新用户有吸引力的特性和功能,它关心的是快速访问软件的各种功能,而不是关心软件是否工作

  测试方法:

  1、收藏家测试法:收集软件的输出,收集的越多越好

  *背后的思想是测试人员到达所有那些可到达的地方并把观察到的输出结果记录下来

  2、长路径测试法:测试离应用程序开始点尽可能远的特性,例如:哪个特性需要点击N次才能被用到,选定该特性,一路点击过去,然后测试它

  *指导思想:到达目的地前尽量多的在应用程序中穿行,因而要选取埋在应用程序最深处的特性

  *可以结合收藏家测试法

  3、超模测试法:只关心表面的东西

  4、测一送一测试法:测试时运行一个应用程序,然后运行该应用程序的另外一个拷贝,然后再运行一个拷贝时,关注网络传输数据、文件操作等方面

  旅馆区:

  *含义:指一些经常被忽视的或者在测试计划中较少描述的次要的及辅助功能

  测试方法:

  1、取消测试法:

  *启动操作然后停止它,并花些时间在应用程序里四处检查

  *找应用程序中最耗时的操作来充分实施这种方法

  *可以尝试开始一个操作,不要停止它,然后再开始另一个同时的操作

  *在取消被测对象之前应该改变被测对象的状态,这点也很重要

  2、懒汉测试法:做尽量少的实际工作,

  *可以尝试接受所有的默认值,测试程序对默认值的处理情况

  破旧区:

  *含义:指一些经常被忽视的或者在测试计划中较少描述的次要的及辅助功能

  测试方法:

  1、注意输入的限制,哪些是非法输入;注意不按照指定的顺序做事情

  2、重复执行同样的操作,重复输入同样的数据

  总结:

  跟踪哪种测试法发现的缺陷最多,哪种执行时间最少,哪种的代码、界面、功能覆盖最多等

本文出自seven的测试人生公众号最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-12-18 03:30:57

软件探索性测试 笔记四的相关文章

软件探索性测试 笔记一

一些有意义的条目: 1.考虑自动化是否能发现有价值的缺陷,是否经得起时间的考验,是否值得付出维护费用 2.决定需要测试什么和何时测试 *对于每一个被发现的缺陷,明确的讨论它应该在什么时候被发现 3.决定如何测试 *是否有一种特殊的路径引导人员找到这个缺陷 *这种功能或特许最好用哪种给定的方法来测试 *知道当前已经进行了哪些测试,以及我们目前和将要进行的测试如何才能增加总体测试效果 *发现软件问题,需要实际用户在实际的环境中,用实际的数据,去做实际的工作 *简单重复的工作实现测试自动化 4.测试中

软件探索性测试 笔记二

测试十戒律: 1.你应该使用大量输入,来反复锤炼被测的应用程序 大规模的随机测试(自动化),而且有助于理解输入和输出的关系: 2.你应当贪图你的邻居的应用程序 3.你应当亲自寻找睿智的预言家 对应的输入是否有对应的输出,也就是测试基准是否清楚的了解特定输入和环境条件组合的情况: 尝试让测试基准自动化,也许做不到,但是这样思考你可以选择做更有效率的工作: 4.你不应该崇拜无法重现的失效 尽最大努力注意并记住(或记录下)对软件采取的动作次序,同时记住应用程序的响应: 考虑使用调试器之类能追踪动作和软

软件探索性测试 笔记三

把所有要做的事情按照优先级排序,然后从最重要的事情做起 进行局部探索式测试的决策的5要素:输入.状态.代码路径.用户数据.执行环境 输入: 1.识别哪些输入值和其他输入有关联,在同一个测试用例中使用它们 2.识别和考虑输入的先后顺序 3.注意区分非法输入是input filter.还是input check,还是使用exception *留意是否可以绕过input filter *留意ctrl,alt,shift按键组合的字符,找出特殊字符 4.注意测试不输入任何值的情况.默认值的情况 *留意默

探索性测试(四):探索性测试并不是快速测试

快速测试也是一种测试的方法,它既可以照本宣科的进行,亦可以探索的方式进行.尽管一个使用高度探索性方法进行测试的测试员可能会执行很多快速测试,而快速测试也通常是运用探索性测试方法时的重要因素.但是,快速测试和探索性测试并不是一样的. 快速测试是需要少量时间或一点精力去准备和执行的廉价测试.这类测试甚至不需要具备与待测试的应用程序相关的大量知识或相关的业务领域知识,但它们有助于快速地获取新的信息.快速测试不是强调广泛和完整,它的目的是用最低的成本快速揭示信息. 快速测试是了解产品.识别区域风险及薄弱

自动化测试(AT)与探索性测试(ET)

软件自动化测试 自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程.通常,在设计了测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实际结果与期望结果的比较.在此过程中,为了节省人力.时间或硬件资源,提高测试效率,便引入了自动化测试的概念. 前提条件 实施自动化测试之前需要对软件开发过程进行分析,以观察其是否适合使用自动化测试.通常需要同时满足以下条件: 1)软件需求变动不频繁 测试脚本的稳定性决定了自动化测试的维护成本.如果软件需求变动过于频繁,测试人员需要

软件Web测试中应用性能测试的探析

一.引言 跟着收集手艺的迅速成长,尤其是WEB及其应用轨范的普及,各类基于WEB的应用轨范以其便利.快速,易操作等特点不竭成闻敉件开发的重点.与此同时,跟着需求量与应用规模的不竭扩年夜,对WEB应用软件的正确性.有用性和对WEB处事器等方面都提出了越来越高的机能要求,对WEB应用轨范进行有用的系统的测试也逐渐成为人们研究的主要课题. 今朝可以见到各类WEB处事器平台,然而按照Mereury的研究陈述,98%的WEB处事器都没能达到人们所期望的机能,平均只能阐扬人们所期望机能的1/6摆布.WEB机

寻找用户轨迹的“探索性测试”

国内的大部分公司在做交互设计的时候很大部分都是处于探索阶段,但是因为产品的商业价值很难允许失败,所以很多设计师对于交互设计的结果都很难确定,甚至会因此屈服于商业价值,从而导致了一个恶心循环. 在上次的D4设计论坛中,针对于口碑网改版的设计方法,UT斯达康的设计经理提到了利用新旧入口的方式来进行用户测试,并提出了使用新界面提供老界面入口的方式进行用户测试.在我们设计产品的时候其实也可以利用产品的特性进行一些"探索性测试". 测试大致可以分成几种:一种是验证性的测试,在知道结果的前提下进行

嵌入软件实时测试系统解决方案

CodeTEST可以支持几乎所有的主流的嵌入系统的软件和硬件平台,可以支持多种CPU类型和嵌入式操作系统,以及没有操作系统的嵌入应用的分析测试.CodeTEST 可支持几乎所有的64/32位CPU和部分16位MCU,支持数据采集时钟频率高达133MHz.CodeTEST可通过PCI/cPCI/VME总线采集测试数据,也可通过MICTOR插头.飞线等手段对嵌入式系统进行在线测试,无需改动被测系统的设计,CodeTEST与被测系统的连接方式灵活多样. 支持的CPU: PowerPC,ColdFire

易用性测试和探索性测试

近些年来,随着敏捷开发方法和互联网企业的发展,易用性测试和探索性测试被越来越受到关注. 客户也经常提这样的概念或者尝试实践.有些客户可能只做易用性测试,有些客户则关注探索性测试.还很少看到两者都做得.这里简单诠释下两者的相同和不同,如果有不同意的地方,敬请指正. 相同点 1. 易用性测试和探索性测试都是面向业务的测试.所谓面向业务的测试是区别于面向技术的测试,它更多关注用户感受,逻辑是否合理,流程是否正确,功能是否有遗漏等. 2. 两者属于手工测试范畴.虽然有时候用户也可以用工具辅助做探索性,但