测试服务是功能测试还是集成测试

Joh*_*ohn 5 testing integration-testing functional-testing

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

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

我查看了功能测试的定义和集成测试的定义,对于我来说,对于 RESTful 服务测试的测试应该如何称呼,两者都不是明显的赢家。

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

lor*_*zra 5

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

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

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