Api 运行集成测试的最佳实践是什么?

Api 运行集成测试的最佳实践是什么?,api,postman,azure-service-fabric,newman,Api,Postman,Azure Service Fabric,Newman,我们有150多个邮递员测试。它们是**集成测试**,针对实际数据库和服务结构实例运行。它们之所以失败,是因为它们没有与开发人员保持一致,开发人员不时地进行合并以实现集成 他们发现一些错误是很好的。它是在产品的每个新构建上运行的一组测试,用于在将构建发布到测试团队手中之前验证该构建是否可测试。我们正在使用Newman从控制台运行它们。同时,我们希望改进我们的持续部署管道 问题 1.我们应该在哪里保存/运行它们?是否有云工具来运行postman API测试 我们应该如何使用/接近它们?(每次提交后?

我们有150多个邮递员测试。它们是**集成测试**,针对实际数据库和服务结构实例运行。它们之所以失败,是因为它们没有与开发人员保持一致,开发人员不时地进行合并以实现集成

他们发现一些错误是很好的。它是在产品的每个新构建上运行的一组测试,用于在将构建发布到测试团队手中之前验证该构建是否可测试。我们正在使用Newman从控制台运行它们。同时,我们希望改进我们的持续部署管道

问题

1.我们应该在哪里保存/运行它们?是否有云工具来运行postman API测试

  • 我们应该如何使用/接近它们?(每次提交后?每天?)

  • 我们可以将postman API测试称为集成测试还是冒烟测试


  • 我对烟雾测试的理解是,烟雾测试的规模应该相对较小(150次测试乍一看似乎太多),并且实际上“从未”(或不太经常)失败。您希望只包含应用程序的关键任务端点,测试应该执行得非常快

    冒烟测试的范围是通过测试简单故障,将发布/构建或安装标记为不可接受/失败,例如(但不一定限于)状态代码200(或其他内容),以及JSON格式的响应

    我不会依赖冒烟测试来查找特定REST端点中的实际bug,而是获得运行情况的总体概述

    1.我们应该在哪里保存/运行它们?是否有云工具来运行postman API测试

    使用版本控制保存它们,并使用Jenkins或其他CI工具运行它们

    此外,您可能希望在临时服务器或生产服务器上部署后运行冒烟测试

    邮递员也提供一些付费工具

    我们应该如何使用/接近它们?(每次提交后?每天?)

    它们应该是你管道的一部分。快失败!如果可能,在每次提交或构建后可靠地运行它们。如果这是不可能的,因为外部依赖在白天是不可靠的-例如-在晚上运行它们

    我们可以将postman API测试称为冒烟测试吗

    你可以随便叫他们


    问题更像是:“你到底想要实现什么?”。如果您的一些测试做得太多或经常失败,可能是因为它们更像是集成测试。

    我想您是对的,它们是集成测试。添加了这幅让我头脑清醒的图片。Valentin由于这些集成测试大部分时间都落后于开发团队,我们应该做些什么来处理这些问题。我不确定我是否理解您的最后一个问题。你的意思是减少失败测试的数量还是什么问题?只有一个人在编写这些集成测试,他总是落后,他必须批准拉取请求。他做中间部分。(计量集成、Api、组件测试)。参考资料:我的猜测是,在所描述的场景中,系统将始终处于落后状态。这不仅具有一直测试失败的缺点,而且可能的集成问题也会在很久以后被检测到。对于这些问题没有标准的解决方案,但会尝试让de开发团队参与测试编写过程。这里很难详细说明,但是代码应该与测试一起进行,或者至少新的提交不应该破坏现有的测试。这仍然是拉请求过程的一部分。例如,请参见Github Pull请求如何与Travis集成。