面向业务的测试

2013年4月24日

面向业务的测试是一种旨在用作与开发团队非编程成员(如客户、用户、业务分析师等)沟通的辅助工具的测试。当自动化时,它们以面向领域的术语描述系统,忽略了系统本身的组件架构。面向业务的测试通常用作验收标准,这些测试通过表明系统提供了客户期望的功能。

自动化的面向业务的测试通常以某种形式的领域特定语言表示,因为这有助于与非程序员的沟通,并为程序员提供一种机制,帮助他们从代码细节中退一步。像Cucumber和Twist这样的工具有助于设计这样的DSL,并提供将它们绑定到被测系统的机制。

面向业务的测试通常被实现为广栈测试,因为它们面向用户的表达方式建议将被测系统视为黑盒。但是,将面向业务的测试实现为组件测试具有显著的优势,因为这通常会导致更易于维护和更快的执行。

我非常喜欢自动化测试,但重要的是要认识到手动测试在面向业务的测试中起着重要作用。探索性测试和可用性测试等技术本质上是手动活动,并且是平衡良好的测试组合的重要组成部分。

故事测试用户旅程测试是面向业务测试的两种常见形式。面向业务测试一词来自Brian Marick 的测试象限