代码之家  ›  专栏  ›  技术社区  ›  Robert Koritnik

集成测试实现

  •  4
  • Robert Koritnik  · 技术社区  · 14 年前

    我有一个三层应用程序

    • 商业服务

    • 自上而下
    • 三明治(前两种的组合)
    • 大爆炸

    我知道我会像编写单元测试一样编写bigbang测试,但是没有任何嘲弄,所以我也会使用后端数据库。。。

    1. 如何编写非bigbang类型的集成测试?

    有没有人能提供一些信息来说明如何做到这一点(如果有的话)或者这一点是否切实可行?

    1 回复  |  直到 12 年前
        1
  •  6
  •   eglasius    14 年前

    我建议这样做:

    1. 单元测试/不能命中任何外部资源

    根据您的系统,您可能希望或不希望在代码的顶层使用集成测试来补充3,但不涉及UI。无论您选择哪种方法,都要确保通过以单元为中心的集成测试实现更全面的覆盖,因为在顶层测试各种行为的复杂性会很快失控。

    集成测试是否应该等同于单元测试(意味着相同数量的测试,但是没有模拟的测试)?或者这些测试应该测试完全不同的东西?

    正如我在1&2中提到的,最好是测试不同的东西。这取决于系统,但我通常认为单元测试的数量是集成测试数量的几倍。对于完整的系统测试,请确保您有足够的资源,以便您可以判断所有的部分都正确连接,但不要太多以至于测试每个场景变得太复杂。