敏捷团队喜欢探索性测试的3个原因


基于交易会上的讨论和行业出版物,敏捷团队变得越来越热衷于Exploratory Testing最近。以下是敏捷团队爱上探索性测试的三个原因。

1.探索性测试帮助您暴露自动化和手动测试遗漏的缺陷

通过从不同的角度探索新产品领域——没有大量的计划或自动化工作——探索性测试迅速暴露了许多严重的缺陷。由于它利用了人类的智能,探索性测试给你一个比任何自动化测试更广阔和更深刻的视角。例如,一个自动化测试可以告诉你一个用户界面元素是否工作正常,但是它不能确定那个用户界面元素是否让最终用户感到困惑。即使彻底的自动化测试是可行的——这在压缩敏捷冲刺中是不可能的——这样的问题仍然会回避它。此外,由于探索性测试鼓励分支,探测对于不同的故事和想法,它比结构化的、预定义的手工测试揭示了更多的问题。

基于规范的测试对于确定一个用户故事是否“完成”总是至关重要的当然,你想知道新功能是否真的达到了预期的效果。但是功能测试的健康清单并不意味着功能避开了各种可能影响最终用户的问题,甚至可能将他们从您的应用程序中赶走。一致性、可理解性、可用性和其他“特性”超出了自动化功能测试的范围,但是对于确保积极的用户体验来说却是必不可少的。

换句话说,基于规范的测试帮助您检查预期路径是否没有可预测的问题。探索性测试帮助您发现在主要路径之外可能隐藏着什么危险(包括测试自动化无法触及的领域)。

2.探索性测试帮助许多不同的团队成员合作来暴露更多类型的缺陷

有了探索性测试,不同的群体——从开发人员到产品所有者,从UX设计师到业务分析师,从技术作家到支持工程师——都可以为质量工作做出贡献,因为不需要专门的测试自动化或脚本知识。所有这些不同的人都带来了不同的特色和不同的观点。

有了一个更大、更多样化的团队来检查应用程序,您就不能在更短的时间内完成更多的测试——您还可以暴露更广泛的问题,并降低关键问题被忽视的风险。从来没有足够的时间或资源来测试所有的东西。然而,如果您从许多不同的角度执行探索性测试,那么无论您能为测试分配多少时间和资源,您都可以获得更多的风险降低。

3.探索性测试让您在自动化测试不可行时发现功能缺陷

正如你所料,特里森蒂斯是自动化测试的大力支持者。然而,我们也认识到自动化测试并不总是可行或可取的。有时候,一个Sprint专注于一些新功能的原型化,这些新功能预计会在后续的Sprint中发生戏剧性的变化。在这种情况下,花时间在测试自动化上可能没有意义。或者,许多过渡到敏捷的团队带来了遗留的回归测试套件,这些套件需要几周的时间来执行(通常需要更多的时间来更新和维护)。当他们过渡到更合适的自动化测试策略时,他们如何保证质量?

探索性测试非常适合对新功能及其对整个应用程序最显著的影响进行快速的健全性检查。如果您使用探索性测试工具来自动记录和记录您的努力,任何发现的缺陷都很容易重现。稍后,当他们添加测试自动化时,您可以将自动化测试结果与他们的探索性测试结果进行集成和关联。

请注意,我们并不是说探索性测试是自动化测试的替代品。您仍然需要一个自动回归测试套件来确定变更是否会损害您现有的功能。与自动化测试相比,探索性测试所涵盖的范围只是沧海一粟。相反,我们试图强调当自动化测试绝对不是一个可行的选择时,探索性测试可以是发现一些关键缺陷的一个很好的方法。

总之,探索性测试并不是满足所有测试需求的灵丹妙药,没有任何一种技术可以保证这一点。然而,它是自动化测试和手工测试敏捷未来的完美补充。