探索式测试的思维模型

上一章介绍了探索式测试的定义。在实际项目的测试执行过程中,读者是否曾遇到如下的几个现象:

  测试人员按照一个测试用例来执行测试,得到的程序输出与预期输出不一致。

  测试人员判断程序的行为并不是缺陷,但根据新的输出想到了新的测试思路。

  测试人员根据新的测试思路采用不同的输入并检查程序输出。

  测试人员再次根据新的测试结果选择新的输入,反复地探索下去,最终发现了一个程序缺陷。

  测试人员发现该缺陷的测试思路或测试用例并没有出现在最初的测试设计或测试用例文档中。

  相信有很多读者熟悉上述的情景,也许有些人认为这是测试设计的遗漏,但笔者要告诉读者的是,千万不要怀疑你的测试设计能力,因为这是非常正常的现象。由于我们还没有真正深入地了解产品,不可能在测试设计的时候想到所有测试场景,且在需求分析阶段不可能评审到所有的隐含需求,所以最初的测试设计并不能捕获程序的所有缺陷。为了发现尽可能多的缺陷,测试人员需要在测试过程中,根据测试反馈持续地优化测试模型、调整测试设计。这是一个研究、实践和探索的过程。了解探索式测试的思维将有助于测试人员更有效地测试。

  根据测试专家Erik Petersen对于探索式测试的理解,笔者抽象出探索式测试的思维模型CPIE(Collation,Prioritization,Investigation,Experimentation),如图2.1所示。该测试模型包含迭代的4个阶段:整理、排序、调查和实验。

 

图2.1  探索式测试的思维模型

  整理(Collation):尽最大可能收集关于被测产品的信息,去了解和理解它们。

  排序(Prioritization):确定所有测试任务的优先级。

  调查(Investigation):对即将执行的测试任务进行仔细的分析并确定测试输入和预期输出。

  实验(Experimentation):实际地去测试,验证我们的预测是否正确,检查我们在整理阶段获取到的信息是否正确。根据实验结果,测试人员将收集更多的信息,并调整测试任务的优先级。

  对于探索式测试的思维过程,测试专家 James Bach提出了如图2.2所示的思维模型。该模型包含一组启发式问题,以推动测试人员在知识(Knowledge)、分析(Analysis)、实验(Experiment)和测试故事(Testing Story)上深入探究。

  知识:掌握产品特性、开发技术、测试技术和领域规则等测试需要的知识。

  分析:分析产品风险、测试覆盖、测试方法、测试先知 和产品缺陷等测试相关因素。

  实验:配置、操作、观察和评估被测产品。

  测试故事:用测试计划、测试报告和可工作的产品等组成测试报告,以准确地反映测试状态和产品质量。

图2.2  探索式测试的思维过程

  从图2.1和图2.2可以看出James Bach和Erik Petersen的观点都强调通过实验(Experiment)来持续改进测试设计。他们认为瀑布式的测试设计和用例编写并不会产生优质的测试设计,测试人员还需要在测试执行的时候持续扩展新的测试思路,完善测试设计。在探索式测试过程中,测试学习、测试设计、测试执行和测试评估是互相支持和驱动的活动。第4章将讲述几个案例来说明探索式测试这种迭代优化的测试风格。

转载于:https://www.cnblogs.com/jpr-ok/articles/2690865.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/274600.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

图解Git分支和命令

大家好,我是若川。持续组织了近一年的源码共读活动,感兴趣的可以 点此加我微信ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。…

vsco_VSCO重新设计:更直观,更简化的界面

vscoAmong the many photo-editing apps, VSCO has definitely become a popular favorite among both experienced photographers as well as “aesthetic” Instagram users. However, my interaction with the app starts and ends with using a few key filters and (maybe…

不同长度数据项的排序

注:本文改编自windmissing博客,感谢作者整理! 题目: a)给定一个整数数组,其中不同的整数中包含的数字个数可能不同,但是该数组中,所有整数中总的数字数为n。说明如何在O(n)时间内对该数组进行排…

浅谈前端埋点监控

大家好,我是若川。持续组织了近一年的源码共读活动,感兴趣的可以 加我微信lxchuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外&…

css版式_第2部分:使版式具有响应能力,并为以后的版本奠定基础

css版式The feedback I’ve received over the past week has been amazing, and matches my own excitement about this project. I’ve spent a lot of time researching, writing, and teaching about creating better typography for reading on digital devices over the …

BBS项目--登录

BBS阶段性测试总要求 django登录报错 Error: [WinError 10013] 以一种访问权限不允许的方式做了一个访问套接字的尝试。 原因分析:出现这种情况在Windows中很常见,就是端口被占用 解决措施:这时我们只需改一下端口便可以了 登录前端页面(HTML…

【声明】

我的公众号和朋友圈有时会有一些课程推广广告,微博的收入来源。我接的广告一般来说都是比自己去买会优惠不少,我也会想方设法争取到更多福利(优惠)。买过的都知道确实优惠。如果有人看到觉得不合适,不想看到&#xff0…

Win7 访问共享时输入正确密码仍然提示密码错误

1、直接按下winr键,输入secpol.msc,打开本地安全策略。 2、找到“安全设置”的“本地策略”的“安全选项” 3、在右边一栏找到“网络安全:LAN管理器身份验证级别”,双击进入 4、在默认状态选项下,英文版应该为"no…

怎么实现页面友好跳转_如何实现软,友好和一致的UI设计

怎么实现页面友好跳转重点 (Top highlight)Design trends are constantly changing, aren’t they? Each month there is a new visual effect or a trick that becomes “设计趋势在不断变化,不是吗? 每个月都有一个新的视觉效果或技巧,成为…

前端趋势 2022

大家好,我是若川。持续组织了近一年的源码共读活动,感兴趣的可以 加我微信lxchuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外&…

MySQL Connector/ODBC 5.2.2 发布

MySQL Connector/ODBC 5.2.2 发布,这是一个稳定版本,下载地址: http://dev.mysql.com/downloads/connector/odbc/5.2.html MySQL Connector/ODBC 是 MySQL 官方发布的 ODBC 驱动程序包。转载于:https://www.cnblogs.com/shihao/archive/2012/…

优秀测试管理工具必备九大功能分析

摘要:测试管理工具对测试的重要性毋庸质疑,两位笔者有着多年的测试实战经验,对市面上的一些测试管理工具有过一定的研究,还根据目前比较流行的敏捷开发过程设计了一款测试管理工具。 这篇文章算是对这个设计过程的总结与分享&…

lightroom预设使用_在Lightroom中使用全景图增强照片游戏

lightroom预设使用Everyone here has taken a panorama with an iphone. We’ve spun around in a circle, trying to keep that arrow right on the line, and more than likely ended up with a strange, squiggly, horizontal photo. Every so often you might get lucky an…

第91次TC39会议举行,这还是我认识的JS吗?

大家好,我是若川。持续组织了近一年的源码共读活动,感兴趣的可以 加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

android调节音量——AudioManager的应用

Android中可以通过程序获取系统手机的铃声和音量。同样,也可以设置铃声和音量。Android中给出了AudioManager类来实现音量获取、音量控制。本篇基于 Android API 中的 AudioManager 作讲述,最后给出实例。下面是本篇大纲:1、认识 AudioManage…

静态创意和动态创意_再次发挥创意需要什么?

静态创意和动态创意重点 (Top highlight)According to Oxford dictionary, creativity means “1. Inventiveness. 2. the use of imagination or original ideas to create something.”根据牛津词典,创造力意味着“ 1。 创造力。 2.利用想象力或独创性的思想来创造…

oracle 存储过程 stored procedure 查询一条记录或多条记录

创建基本表 -- Create table create table USER_INFORMATION ( P_ID NUMBER, USER_LOGIN_NAME NVARCHAR2(30) ) 创建包: create or replace package pack_test is type cur_test is ref cursor; end pack_test; / --这个不能少呀,加上这个就可以在…

我写了 ahooks 源码分析系列,收到官方邀请我一起维护,这是一次提 PR 的记录...

大家好,我是若川。持续组织了近一年的源码共读活动,感兴趣的可以 加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…

Hdu 4415 Assassin's Creed 【贪心】.cpp

题意: 某A有一个剑 坚韧度为m 他可以用这个剑去攻打别的队伍 杀掉第 i 个队伍需要消耗的坚韧度为 Ai 并可以用得到的剑去打别的队(Bi个) 但是打完别的队这个剑就不能用了 问怎么用最少的坚韧度击败最多的队伍 给出T组样例 每个样例给出n m n表示有n个队 接下来n行给…

ahooks 整体架构篇,大家都能看得懂

大家好,我是若川。持续组织了近一年的源码共读活动,感兴趣的可以 加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列。另外…