DevOps 自动化测试与规范实践
1. 测试编写与执行
在软件开发过程中,测试的编写时机至关重要。测试报告能帮助我们深入了解特定功能或功能区域的准备状态,报告中会显示一些待执行的测试,这些测试最初以“pending”形式编写,只是高级大纲,描述了特定故事的一组验收标准,采用给定 - 何时 - 然后(given - when - then)的结构。执行测试时,待执行的场景会被跳过,但会出现在报告中,让我们知道哪些功能仍需实现。
一般来说,在编码开始时或之前编写测试效果最佳。团队若在编写代码前编写大量详细的可执行测试,或者过晚编写测试,都可能遇到问题,需要通过实验找到合适的时机。
2. 测试实现
接下来是实现这些测试故事,对于 Web 应用程序,使用自动化 Web 测试来实现至少部分验收标准是合理的。可以直接使用 Selenium 2 等 Web 测试库来实现上述故事,但这会导致自动化验收标准中出现大量低级细节,使验收标准变得脆弱且难以维护。更好的做法是将这些细节与功能规范分开。
编写高级测试后,需要将其分解为细粒度的步骤。这些步骤仍用高级业务术语表达,不过多涉及实现细节,旨在表达用户如何实现相应的业务目标。这一步通常在迭代开始时或开始处理某个功能之前,由开发人员、测试人员和产品负责人或业务分析师协作完成。
以下是一个更详细的 Thucydides 场景示例:
import com.acme.onlineclassifieds.webtests.steps.BuyerSteps
using "thucydides"
thucydides.t
超级会员免费看
订阅专栏 解锁全文
1722

被折叠的 条评论
为什么被折叠?



