【发布时间】:2018-10-11 19:16:30
【问题描述】:
我有几个问题要问你。在我提出问题之前,让我提供一些细节。
最近我参与了 Rest api 测试自动化。 我们有一个单独的 api 来获取资源,(这个 api 基本上用于我们的 web 应用程序 UI 中,用于不同的业务工作流程来获取数据) 尽管它是相同的资源 api,但实际端点会因不同情况而有所不同 .即在 api url 中传递的查询参数会根据业务工作流程而有所不同。
例如像
`./getListOfUsers?criteria=agedLessThanTen ../getListOfUsers?criteria=agedBetweenTenAndTwenty ../getListOfUsers?criteria=agedBetweenTwentyAndThirty 等
由于只有一个 api,并且业务流程不需要它,因此我们没有在 api 之间链接请求 因此,测试只是针对单个端点并验证响应内容。 响应根据提供的测试数据进行验证。因此,测试数据文件具有在每个特定端点上命中时期望的用户列表。 即测试文件就像一个静态内容,每次我们点击它时都将用于检查响应内容...... 如果从服务器获取的实际响应与我们提供的测试数据有偏差,这将是一个失败。 (也有没有内容响应的测试,没有身份验证等)
此测试可以确认端点是否正常工作以及响应内容是否良好。
我的实际问题是这里的测试策略或业务覆盖,
这样在api端点上的单次点击是否足够......
或者相同的端点是否应该在其他情况下再次被击中,尤其是当上面给出的端点示例实际上相互补充时 以及可能发生的回归问题,可以在其中任何一个中捕获吗?
- 如果 api 端点相互补充,添加更多测试,这是否只是重复测试/更多维护/以及以后的其他问题,我们应该避免它吗? 如果它没有给出价值?
- 关于覆盖范围的 API 自动化的总体趋势是什么? .我相信它应该被用来测试业务集成流程,如果需要的话,还有场景 但是对于这种情况,真的需要吗
- 我们也应该牢记这一点吗?自动化不是要取代手动测试,而只是补充它。 并尝试自动化所有可能的场景不会带来价值,只会在以后给维护带来麻烦?
谢谢
【问题讨论】:
标签: api testing automated-tests web-api-testing