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

标签 testing integration-testing functional-testing

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

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

我查看了 Defintion of Functional TestingDefinition of Integration Test 的定义对于应该调用 RESTful 服务测试的测试,没有一个是我的明显赢家。

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

最佳答案

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

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

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

关于testing - 测试服务是功能测试还是集成测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35301330/

相关文章:

python - LiveServerTestCase 在 django View 中的 python-requests post 调用时挂起

java - 用 1 个测试测试多个类

testing - Fitnesse 部署实践

java - Spring:如何在测试方法的事务中执行 `@Sql`?

java - TestNG - 可用于单类/方法执行的测试/套件作用域变量

node.js - 使用 Mocha 和 Grunt 在 Sails.js 中运行功能测试时的竞争条件

python - 为 RethinkDB 测试 ORM

java - 从子类外部访问父类的 protected 方法(使用反射或任何可行的方法)

C# 测试修改后的 session 变量

java - 测试异步方法调用