探索性测试的18个总结

简介:

1)探索性测试与脚本化测试的主要区别:1)探索性测试将更多更高的认知水平的工作放在测试执行,而脚本化测试则更关注测试设计;2)前者更强调测试活动的并行和相互反馈(学习、设计、执行与结果分析等),而后者的测试活动是相对串行的。

  2)脚本化测试的主要优点是:1)尽早发现缺陷;2)不同利益相关者参与评审;3)可重用性;4)测试覆盖率评估。

  3)脚本化测试强调测试的尽早介入,如尽早设计测试用例。但是测试人员越早设计测试用例,对测试对象的了解越少,对风险的了解也越少。测试人员对测试对象的了解是一个逐步的过程,脚本化测试需要更多的工作量以应对这个过程(需求的细化和变更等)。

  4)提供测试对象的质量信息是测试的一个主要目的。但是不同的人对质量的理解是不一样的,脚本化测试能预先定义所有利益相关者的质量要求吗?脚本化测试能预先定义不同缺陷的来源吗?回答是不能。而这正是探索性测试引入的一个初衷。

  5)测试对象的需求是不断变更的、不同开发人员会犯不同的错误、测试环境与组合也是不断变化的,通过脚本化测试很难及时跟踪这些问题,即使能也需要考虑时间与成本。探索性测试的及时反馈与不断修正是一个解决之道。

  6)“复现缺陷,并确定复现的具体步骤”、“下棋”、“刑侦现场”、“拼图游戏”等,其中的思维应该是探索性,还是脚本化?哪个效率更高?

  7)组织内引入探索性测试,需要测试人员掌握各种技术与方法、知识、技能与实践,并以此为支撑,不是每天喊着这个概念就可以成功实施的。这个理念也同样适用于敏捷开发与测试。车是好车,但是我们的路修好了吗?

  8)不管是文档化还是存在于测试人员的头脑中,好的测试设计是什么?好的测试设计应该是随着测试环境不断变化的(例如测试组合、测试环境),以不断扩大测试覆盖率,并将关注点放在高风险的区域。

  9)不同的测试对象和测试目标,需要不同的测试策略和测试技术,而这将得到不同的测试用例、不同的测试文档与不同的测试结果。

  10)探索性测试没有脚本化特点,并代表它是不做准备的,它也不是随机的,而是提供更多的选择。探索性测试同样需要设计各种支撑性的内容:测试数据、失效模式、模型等。没有测试计划文档,也不代表探索性测试是没有计划的。

  11)探索性测试如下象棋,其规则很简单。但是我们在欣赏象棋比赛的时候,不会说:“啊,下象棋的规则真精彩!”相反,我们关注的是隐含在这些规则下选手选择下一步如何走的技巧与技能,它的技术含量也不在其规则,而在选手的技巧与技能。规则简单,技巧复杂。

  12)探索性测试的学习、设计、执行与结果分析等测试活动是相对并行并且是相互支撑的,了解这个并不代表测试人员掌握了探索性测试。正如婴儿学会了爬,并不代表就懂得了走、跑与跳等运动技能。

  13)探索性测试过程中的一个重要挑战是如何设计测试用例(尽管不一定是脚本化的,也可能是在测试执行的时候进行测试设计),例如:从测试技术到测试用例、从失效模式到测试用例、从风险列表到测试用例、从测试思想到测试用例。

  14)从用户现场反馈了一个问题:他们在配置某个功能的时候,界面上打印了一些奇怪的信息,然后系统就重启了。此时测试人员更倾向于采用探索性测试,而面临的首要挑战就是“如何从失效模式设计测试用例”,以复现该问题。

  15)探索性测试本身不是一种技术,而是一种测试方式或者思维。那么,脚本化测试应该是什么呢?是技术?不是方式或者思维?

  16)什么使得测试活动具有探索性测试特点呢?答案在于测试人员的认知投入:测试人员如何应对持续变化的情况。

  17)探索性测试不一定会有测试用例文档的输出,这并不代表它没有测试设计。探索性测试的设计不是为了控制,而是为了指导你的测试。

  18)探索性测试更强调个人和交互,而不是过程和工具;更强调应对变化而不是遵循计划;更强调可工作的软件而不是可理解的文档;更强调相互合作而不是合同谈判;从这个层面而言,探索性测试是敏捷的。








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



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

目录
相关文章
开源测试平台横向测评系列『流马』篇:流马使用及总结
【使用篇】 ● 接口测试:创建接口(添加引用公共参数、添加引用自定义参数)、测试用例(参数关联)、业务流程测试实践 ● web自动化测试:元素管理(添加元素)、测试用例(添加元素)、设计测试场景 ● 测试计划、测试集合与测试用例相互之间的关系 【总结篇】 ● 使用总结:常见的使用注意事项,如变量引用、函数引用、关联参数引用等 ● 优化建议:结合真实使用过程,从用户角度出发,提出的7条优化建议 ● 优缺点总结:优点、缺点、评分(从不同角度评测打分)
开源测试平台横向测评系列『流马』篇:流马使用及总结
|
5月前
|
敏捷开发 测试技术
软件测试中的探索性测试:一种灵活的质量保证方法
在软件开发周期中,测试是确保产品质量的关键步骤。传统的测试方法往往依赖于事先定义好的测试用例,但这种方法可能无法覆盖所有潜在的缺陷和场景。探索性测试(ET)作为一种更为灵活的测试方式,允许测试人员在执行测试的同时设计和适应测试用例,从而提高了测试覆盖率并发现更多隐藏的缺陷。本文将探讨探索性测试的核心概念、实施策略以及与传统测试方法的比较,旨在为软件测试专业人员提供一种更高效、适应性强的测试手段。
|
5月前
|
敏捷开发 测试技术
探索性测试在软件质量保证中的角色与实践
在软件开发生命周期中,确保软件质量是一个不断挑战的过程。探索性测试(ET)作为一种灵活、启发式的测试方法,它与传统的脚本测试相比,提供了一种更为动态的测试方式。本文将探讨探索性测试的概念、优势以及如何在项目中有效实施ET,以提升软件质量。
51 2
|
7月前
|
敏捷开发 测试技术 UED
探索性测试:软件质量保障的无形之手
【5月更文挑战第31天】本文深入探讨了探索性测试(Exploratory Testing)在现代软件开发中的重要性。通过分析其定义、实施策略和优势,揭示了探索性测试如何成为提高软件质量和用户体验的关键手段。文章不仅为读者提供了对探索性测试的全面理解,还强调了其在敏捷开发环境中的实践价值。
|
6月前
|
敏捷开发 机器学习/深度学习 人工智能
探索性测试:软件质量的保障
【6月更文挑战第16天】在快速迭代的软件世界中,探索性测试以其灵活性和深度分析能力成为确保产品质量的关键。本文将深入探讨探索性测试的价值、实施策略及其在现代软件开发中的应用,揭示其如何帮助团队发现并修复潜在的缺陷,提升用户体验。
|
7月前
|
测试技术 持续交付 UED
探索性测试
探索性测试
|
移动开发 Unix 关系型数据库
|
SQL 缓存 监控
我在阿里做测试,入职5个月的回顾与总结
初来阿里实习的时候,我对测试人员的职责知之甚少,在校时更是从未接触过测试工作。一头雾水之际,主管说:“做项目吧,在实战中快速成长”。从学生到校招生,我在思维和心态完成了一次真正意义上的转变,也希望未来能够开启一段新的旅程。在主管、师兄师姐和同事们的帮助下,我从一个懵懂的小白努力学习成长为可以独立完成需求的测试同学,也希望未来自己能够不断进步独自owner项目。特地写下此文,针对试用期内自己对于业务的感悟和沉淀梳理出的测试相关的知识做个总结。
374 0
我在阿里做测试,入职5个月的回顾与总结
|
Web App开发 SQL 安全
登录界面测试总结
登录界面测试总结
204 0
|
测试技术
什么是探索性测试?探索性测试有哪些方法?
什么是探索性测试?探索性测试有哪些方法?
245 0