敏捷验收测试驱动开发:敏捷认证
验收测试驱动开发 (ATDD) 是测试驱动开发 (TDD) 的扩展版本,它促进了不同用户的协作以验证系统的功能。它是一种受敏捷方法论启发的项目管理系统。它培养了开发人员、测试人员、利益相关者和客户之间的联系,以从用户的角度理解系统的功能和需求。在这篇文章中,我们将深入了解 ATDD,包括其实施方法、用途等。继续阅读。
什么是敏捷验收测试驱动开发?
与您可能从名称中推断的不同,ATDD 并不是严格意义上的测试过程。它是一种编程技术。它与 TDD 的区别在于,该概念更侧重于将一群人(与软件开发项目相关)聚集在一起以准备验收测试。
它使用简单的英语编写,并在协作讨论后制定。在此阶段,开发人员、测试人员和利益相关者讨论他们正在解决的问题、如何解决以及测试。它帮助团队确定系统是否会按照行业标准运行。如果讨论中的每个成员都同意,团队可能会决定自动执行验收测试。
ATDD 的阶段
这个过程可能看起来非正式且灵活,但它分为四个必须按正确顺序执行的阶段。结果取决于这些阶段的执行情况。
讨论
ATDD 从整个敏捷团队和利益相关者参与的讨论开始。在此阶段,团队详细讨论了从用户角度来看系统的功能。根据结论,团队自动或手动开发验收测试。适当的讨论降低了误解的风险,误解可能会导致软件中的错误。请注意,在讨论阶段识别潜在的错误比在软件开发完成后识别它们要便宜得多且更容易。团队也可能会发现,看似简单用户问题实际上是一个复杂的问题。
提炼
下一步是将验收测试实施到项目中。团队评估验收测试的有效性,以了解它们是否可以实施到特定项目中,或者是否需要更改。换句话说,在第二阶段,团队应该将讨论的规范转换为与测试工具兼容的格式。这可能包括表格格式、代码或 Wiki 页面。结果,您将获得验收测试。但请确保它们尚未准备好执行。
开发
第三步是执行。在这一点上,开发人员将运行测试以检查哪些有效,哪些无效。更准确地说,团队根据讨论阶段确定的规范进行编码。在开发阶段,利益相关者将建议应引入验收测试的更改。可以进行进一步的手动测试以找出以后可能出现的更多问题。
演示
敏捷验收测试驱动开发的最后一个阶段是演示,敏捷团队准备演示文稿并将其展示给利益相关者。它展示了他们已经完成的测试、发现和漏洞。
这个概念类似于 TDD,因为它具有相同的流程和需求。团队应该在编写代码之前创建验收测试。唯一的区别是 TDD 基于单元测试,而 ATDD 则侧重于小组讨论,首先确定可用性、开发过程、用户问题和解决方案。根据这些规范,开发人员和测试人员协作创建有助于通过测试的代码。它不仅帮助您的团队以清晰易懂的语言理解项目的规范,而且还确保团队构建客户想要的内容。
ATDD 与 TDD
通常,ATDD 与 TDD 相比较,因为这两个概念都源自敏捷方法论,并且有很多相似之处。在测试驱动开发中,开发人员创建一个失败的单元代码,随后将其更改为可以通过测试的代码。TDD 的目的是创建简单、易于理解和干净的代码。它更多地关注单元测试,这涉及将错误的功能实施到系统中的风险。
这可能会导致软件以后出现代价高昂的错误。因此,专家提出了这种 TDD 扩展,即 ATDD。与 TDD 不同,它不是以开发人员为中心的模型。它更像是开发人员、利益相关者、客户、测试人员以及参与项目的其他人员之间的协作。ATDD 包括精通技术和不精通技术的人,他们对编码一无所知。
为了简化流程,大多数组织采用 TDD 和 ATDD 的混合方法。他们在与利益相关者和开发人员讨论后创建验收测试。一旦开发出生产代码以使测试通过,就可以实施 TDD 方法来测试代码的效率和准确性。
如何开始?
ATDD 的实施从培训开始。确保团队的每个成员都能获得正确的培训材料,这些材料是学习这种验收测试和生产编码基础知识所必需的。培训不仅仅是解释方法,同样重要的是,参与 ATDD 的每个成员都了解自己的角色。ATDD 在编写规范时使用用户故事格式。
确保团队所有成员都理解该格式并在编写软件需求时遵循相同的方法。最后,选择合适的框架并部署验收测试。必须定期评估此方法以确保它没有漏洞并提供最佳结果。
底线
这就是关于敏捷验收测试驱动开发及其遵循的过程的所有内容。您可以学习敏捷认证课程,例如 PMI-ACP,以更好地了解这些方法。它将教会您敏捷的基本到高级概念,这种方法如何在不同的项目中实施,以及如何在您的组织内提高项目的成功率。