基于会话的探索性测试管理

探索性测试是一个特殊的测试过程,它的测试活动和测试内容是动态变化的,更多的是通过测试执行的结果来指导后续的测试活动,花在文档上的时间很少,这也就意味着探索性测试的可管理性不强,对于每个测试人员执行的测试活动的进度和效果很难监控。为了更好地开展探索性测试,Jonathan Bach提出了一种“基于会话的测试管理(Session-basedtest management,缩写为SBTM)”方法,这种方法可以对探索性测试进行更好地管理,把探索性测试的优势更好地发挥出来。

  基于会话的测试管理是一种用于管理探索性测试的方法。这里的会话(Session)是指测试工作的基本单位,在一个会话中测试工作是连续进行的,不会被打断。会话中的测试活动是为了实现某个具体的目标,同时测试活动的结果是可评审的。任何可能会被电话、会议、电子邮件或其他非测试活动打断的测试活动,都不适合成为一个会话。在一个会话中,测试人员应该专注于测试活动而不被打扰。在每个会话结束的时候,应创建描述已进行的测试活动的报告,该报告通常称为会话单(Session Sheet)。测试经理需要对该会话的报告或者会话单进行评审。一个会话可以持续90分钟,也可以是3个小时,对于会话的持续时间并没有严格的要求,通常情况下,每个测试人员一天完成的测试会话不要超过3个。

  由于每个会话持续的时间比较短,所以对于每个会话进行报告的周期也相应比较短,但是内容也很简洁。Jonathan Bach将一个测试会话中的任务分成三类:

  1、创建会话:建立测试环境和增进对产品的理解。

  2、测试设计和执行:细查测试对象,寻找问题。

  3、缺陷调查和报告:开始于测试人员发现某些疑似失效的问题。

  上述的三个任务并不一定是顺序执行的,在实际的操作中经常都是重叠的。每个测试会话完成后,测试人员要填写会话单。基于会话的测试管理中的会话单主要包括:

  1、会话章程(Session Chapter):主要描述会话的任务和可能采用的策略,会话的章程可能是测试人员自己选择的,也可能是测试经理分配的。

  2、测试人员姓名。

  3、起始的日期和时间。

  4、任务分解(以会话的形式):通常分别描述测试设计和执行、缺陷调查和报告。

  5、数据文件:描述测试会话中使用的数据文件。

  6、测试备注:对于测试活动中的任何特别的说明都可以记录在这里。

  7、问题:描述测试过程中碰到的问题,例如:由于测试环境不足,有些测试没有执行。

  8、缺陷:描述测试过程中发现的缺陷。

  测试经理根据测试人员提交的会话单,在测试团队内进行任务报告会议。在任务报告会议中,测试经理回顾测试活动、改善章程、从测试人员处取得反馈、估算和计划进一步的会话。任务报告的议程主要是简要地检验以下各项,并明确下一步的测试会话章程。

  1、经过:在会话期间发生了什么?

  2、结果:会话取得了什么成果?

  3、展望:还有什么有待解决的问题?

  4、障碍:要进行良好的测试有些什么障碍?

  5、感受:测试人员对上述项的感觉?

  在探索性测试中,测试的对象和内容比较发散,经常出现具体的测试活动和会话章程不一致的情况。那么在最后的会话单中要对会话章程进行修改,以保证提交的会话单如实地反映了实际的测试活动。如果需要的话,也可以新建一个新的会话来记录这次测试活动。虽然不建议会话的持续时间太长,但是在实际的测试过程中,仍然会出现一个会话占用测试人员一整天的情况,通常可能是因为会话环境的搭建或者缺陷的调查花费的时间比预期的要大。这种情况下也没有必要强行把会话拆成多个更小的会话,可以根据测试的需要保留这些持续时间较长的会话。一个测试会话最好是在没有被打断的情况下持续地进行,但有时候可能需要参加一个紧急的会议,或者开发人员修复紧急的缺陷而需要测试人员的帮助,这个时候测试会话不得不被打断。这种情况下,测试会话的中止和恢复是允许的。

====================================分割线================================

最新内容请见作者的GitHub页:http://qaseven.github.io/

时间: 2024-09-24 09:07:08

基于会话的探索性测试管理的相关文章

初探团队基于session的探索性测试

如果你是一名测试人员,那么不管你对探索性测试的了解是多是少,我肯定你一定用过探索性测试的方法.想想看,你是否曾经这样测试过?不仅仅按照测试案例或者脚本上写什么,就完全使用那一套相同的数据.一模一样的流程,而是根据你执行时的所见,临时有所想和所动,进行一定程度的自由发挥?我想你肯定有过,这就是探索性测试,它将你的测试与纯基于脚本的测试(script. based testing)区分开来.而这种自由发挥,因为是有大致方向和范围的,所以也与完全盲目乱点的猴子测试(monkey testing)不同.

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

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

测试管理工具TestDirector

Mercury方案中的对应测试管理平台产品是TestDirector,一个用于规范和管理日常测试项目工作的 平台.它将管理不同开发人员,测试人员和管理人员之间的沟通调度,项目内容管理和进度追踪.而且 ,Mercury的测试管理软件TestDirector,是一个集中实施.分布式使用的专业的测试项目管理平台软件 . (1) 测试需求管理 程序的需求驱动整个测试过程.TestDirector的Web界面简化了这些需求管理过程,以此您可以验证 应用软件的每一个特征都功能正常.TestDirector的

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

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

《移动App测试的22条军规》——第23章,第19节对微信App进行自动化测试和探索性测试

23.19 对微信App进行自动化测试和探索性测试 我们在对微信App进行测试时,必然会进行自动化和探索性测试. (1)在编写微信App的自动化测试时,我们还是选用Appium来帮助我们录制对应的脚本:而基于测试金字塔的测试架构设计,我们对于Appium的自动化测试,选择编写"用户登录微信后,在通讯录中添加招商银行公众号"这个用户旅程(如图23.45-图23.55所示). 打开微信App的主界面(如图23.45所示). 打开"Contacts"(通讯录)页面(如图2

基于ITIL的IT服务管理在ERP系统中的应用特点

1 基于ITIL的IT服务管理简述 二十世纪八十年代末形成的IT Infrastructure Library(信息技术基础架构库,简称ITIL)已经在全世界成为事实上的IT服务管理的最佳实践和标准.它是一套针对各行业的IT系统服务管理标准库,提供了一种流程处理的IT运营方案.基于ITIL的IT服务管理以流程为导向.以客户服务为中心,它通过整合IT服务与公司业务流程,提升了企业IT运营效率和客户对IT部门服务的满意度. 基于ITIL的IT服务管理(IT Service Management,简称

携程网基于应用的自动化容量管理与评估

本文转载自:高效运维公众号 作者:陈剑明 作者简介 陈剑明,携程网, 网站运营中心 数据分析高级经理.职业生涯经历运维.系统性能.系统分析.容量规划预测建模.数据可视化,倡导统计思维,数据驱动.关注大数据技术发展,对大数据分析在系统运维领域的应用场景充满期待.目前在携程负责运维数据分析团队,着重业务订单预测和基础架构容量管理. 一.前言 今天跟大家分享的题目是基于应用的自动化容量管理与评估,简单解释下.容量管理与评估相信很多同学都涉及过,根据开发人员的项目需求描述,或者压测数据,估计一个合适的服

《移动App测试的22条军规》—App测试综合案例分析23.19节对微信App进行自动化测试和探索性测试

23.19 对微信App进行自动化测试和探索性测试我们在对微信App进行测试时,必然会进行自动化和探索性测试. (1)在编写微信App的自动化测试时,我们还是选用Appium来帮助我们录制对应的脚本:而基于测试金字塔的测试架构设计,我们对于Appium的自动化测试,选择编写"用户登录微信后,在通讯录中添加招商银行公众号"这个用户旅程(如图23.45-图23.55所示). 打开微信App的主界面(如图23.45所示).打开"Contacts"(通讯录)页面(如图23.

【Spring实战】—— 16 基于JDBC持久化的事务管理

前面讲解了基于JDBC驱动的Spring的持久化管理,本篇开始则着重介绍下与事务相关的操作. 通过本文你可以了解到: 1 Spring 事务管理的机制 2 基于JDBC持久化的事务管理 Spring的事务管理的机制 Spring本身并不提供事务管理,它只是把事务管理提交给事务管理器,而事务管理器则有多种实现,常见的就是基于JDBC的.Hibernate的.JPA以及JTA的. 操作流程可以参考下面的图片: 其实还有好多种类的事务管理器,这里就不一一列举了. 基于JDBC持久化的事务管理 基于JD