【问题标题】:Is testing a service a functional test or an integration test测试服务是功能测试还是集成测试
【发布时间】:2016-02-09 20:15:24
【问题描述】:

我们有一个提供功能的 .Net 组件。我们有一个 Restful Web API 服务,世界将使用它来调用该功能。我们编写了使用 OWIN 调用我们的 Web API 控制器的测试。

过去,我一直将这些称为“集成测试”,因为服务是一个单独的组件。但是,我尊敬的另一位开发人员告诉我,这不是集成测试,而是“功能测试”。

我查看了 Defintion of Functional TestingDefinition of Integration Test 的定义,对于应该调用 RESTful 服务测试的测试,两者都不是我的明显赢家。

它是集成还是功能?是否有任何权威资料可以用来明确回答这个问题(因为我不希望我的问题因“征求辩论”而被关闭)?

【问题讨论】:

    标签: testing integration-testing functional-testing


    【解决方案1】:

    功能测试是一个黑盒练习,如您发布的功能测试定义链接中所述。这意味着在不了解系统内部工作原理(例如代码)的情况下进行测试。您会对 API 是否按预期端到端工作感兴趣;用户在使用 API 时是否收到正确的响应?如果 REST API 在您的系统之外进行测试,那么它就是功能测试。

    如果 API 是从您的代码库中测试的,那么这是测试两个或多个模块之间的集成,因此归类为集成测试。这可能涉及测试依赖模块是否正在发送正确的数据、接收预期的数据以及格式是否正确。

    有关更多信息,请查看 ISTQB 的任何内容,ISTQB 是公认的软件测试机构。这是 ISTQB 词汇表的链接:http://www.software-tester.ch/PDF-Files/ISTQB%20Glossary%20of%20Testing%20Terms%202.4.pdf

    【讨论】:

    • 那么,这可以算是集成测试和功能测试吗?从我们团队的角度来看,我们正在测试多个对象如何相互集成(我们的服务和我们的内部组件)。然而,对于另一个团队,他们正在测试我们 API 的功能,即功能测试。我的描述是否正确?
    • 没错——这取决于测试的上下文。
    【解决方案2】:

    当您调用休息服务来验证该服务是否返回其设计返回的内容时,这就是功能测试。您正在测试服务的功能。

    如果您有依赖于该服务的第二个服务或 UI,并且您的测试与该第二个服务或 UI 交互以验证它可以正确调用 REST API 并使用它的数据,那么这将是一个集成测试。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-12-19
      • 2014-09-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-13
      • 2011-05-15
      • 1970-01-01
      相关资源
      最近更新 更多