【问题标题】:What are best practises to run integration tests?运行集成测试的最佳实践是什么?
【发布时间】:2017-11-16 10:30:51
【问题描述】:

我们有超过 150 个邮递员测试。它们是**集成测试**,它们针对实际数据库和服务结构实例运行。他们失败了,因为他们没有与不时合并到整合的发展保持一致。

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

问题

1.我们应该在哪里持有/运行它们?是否有运行邮递员 API 测试的云工具?

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

  2. 我们可以将邮递员 API 测试称为集成测试或冒烟测试吗?

【问题讨论】:

    标签: api postman azure-service-fabric newman


    【解决方案1】:

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

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

    我不会依赖冒烟测试来查找特定 REST 端点中的实际错误,而是要大致了解事情正在运行。

    1.我们应该在哪里持有/运行它们?是否有运行邮递员 API 测试的云工具?

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

    此外,您可能希望在部署到暂存服务器或生产服务器后运行冒烟测试。

    Postman 也提供一些付费工具。

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

    它们应该是您管道的一部分。快速失败!在每次提交或构建后尽可能可靠地运行它们。如果由于白天不可靠的外部依赖关系而无法做到这一点 - 例如 - 在晚上运行它们。

    我们可以将邮递员 API 测试称为冒烟测试吗?

    你可以随意称呼他们!

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

    【讨论】:

    • 我猜你是对的,它们是集成测试。添加了这张让我清醒的图片。 i.stack.imgur.com/Cxqh9.jpg
    • Valentin 因为这些集成测试大部分时间都落后于开发团队我们应该如何处理这些问题。
    • 我不确定我是否理解您的最后一个问题。你的意思是减少失败的测试次数还是什么问题?
    • 只有一个人在编写这些集成测试,而且他总是落后,而且他必须批准拉取请求。他做中间部分。 (自动化集成、Api、组件测试)。参考:image.slidesharecdn.com/yvrtestingpresentation-160505042555/95/…
    • 我的猜测是,所描述的场景将永远落后。这不仅具有测试始终失败的缺点,而且可能的集成问题要在很久以后才被发现。此类问题没有标准解决方案,但会尝试让开发团队参与测试编写过程。这里很难详细说明,但代码应该与测试一起使用,或者至少新提交不应该破坏现有的测试。这仍然是拉取请求过程的一部分。例如,请参阅 Github Pull Requests 如何与 Travis 集成。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-13
    • 2019-03-16
    • 2010-09-17
    • 2010-11-16
    • 1970-01-01
    • 2010-10-07
    相关资源
    最近更新 更多