什么称为与第三方服务进行测试集成的测试用例?

时间:2014-03-26 06:29:13

标签: unit-testing testing tdd functional-testing

我有测试用例,它向真实的,而非模拟的第三方服务发出请求,并验证处理响应的函数是否正确执行。
我不能称它们为“功能”,因为它们只测试一小段代码,负责与第三方服务的通信。我不能称他们为“单位” - 因为他们打了真正的外部服务。

他们的名字是什么?

3 个答案:

答案 0 :(得分:4)

这些被称为integration tests

基本上你有三种类型的测试:

  • 单元测试,没有外部依赖项,一切都被模拟
  • 集成测试,看起来像单元测试但具有外部依赖性
  • 验收/场景测试,通过浏览器或客户端软件测试您的实际应用程序。这些可以自动化或手动执行。

答案 1 :(得分:4)

据我所知,没有严格的,定义明确的术语,因为有太多的测试配置组合,所以不可能一致地标记它们。

  • 正如Wouter de Kort所指出的,有些人称这些测试为集成测试,但我同意我个人会保留该术语以集成多个模块的评论在相同的过程中,但仍然使用虚假的外部依赖。
  • 如果您真的在测试整个堆栈,可以称之为系统测试
  • 如果您正在测试除用户界面之外的所有内容,可以将其称为 Subcutaneous Tests
  • 如果您只进行一些完整堆栈测试以查看一切是否正常,您可以将其称为 Smoke Tests
  • 如果您主要担心外部服务的行为方式是您的系统可以理解的,那么您的测试可能 Integration Contract Tests
  • 如果这些测试的目的是验证您是否可以上线,则会将其称为验收测试

还有更多标签,具体取决于您的具体动机以及您的具体操作方式。使命名更加困难的是,这些术语中的一些可以组合在一起;例如,测试可以同时进行系统测试和验收测试,然后你称之为什么?

答案 2 :(得分:1)

我会将它们置于集成测试和回归的范畴之下。集成测试不仅测试组件内的集成,还测试第三方服务之间的集成。您还应该在回归测试中使用其中一些,因为您始终需要回归第三方服务定义的合同。

此外,这些需要在您的验收或情景测试之前进行测试,以确保您的基本功能仍然有效。

如果是第三方软件包(如jar),则应将其包含在单元测试中