假设我正在测试Web服务,并且有两种情况需要对用户进行身份验证:
Scenario #1: Customer sign-up
Scenario #2: Customer sign-in
Scenario #3: Customer change name
Scenario #4: Customer update image
应该所有测试都通过所有登录步骤,例如:
1) Go to register page
2) Enter new user information
3) Activate account
4) Go to login page
5) Enter login and password
6) Press the Login button
7) Check if I authenticated as a customer
或者我可以只测试一次并实现可快速创建用户并登录的端点。
因此,如果我有那种端点,这意味着我可以一直跳过重新测试相同的事情,而只是在#3和#4实施的短场景中进行。但是在这种情况下,我的环境不太自然。
请告诉我您在实际项目中使用的最佳做法。
一些最佳做法:
integration
(UI上的测试要慢得多,仅在UI中自动完成覆盖主流程的必要操作)您不应该将“登录”方案复制并粘贴到所有其他方案,但是要拥有一个帐户并要登录,是其他用例的先决条件。从行为驱动的开发角度来看,这将转换为一个或多个模拟或实际执行这些步骤的ui
步骤:
Given