集成测试与单元测试

13

我最近开始阅读《单元测试的艺术》,现在我知道了单元测试和集成测试之间的区别。我相信我的一些 NUnit 测试中有一些东西更适合于集成测试。

所以我的问题是,你使用哪些方法和工具进行集成测试?


1
这可能是一个不错的维基问题。 - Justin Morgan
请注意相关问题:https://dev59.com/cnVD5IYBdhLWcg3wWKLc翻译: - sleske
5个回答

14

根据我的经验,你可以(大部分情况下)使用相同的工具进行单元测试和集成测试。不同之处在于你测试的是什么,而不是如何测试。因此,虽然设置、被测试代码和结果检查会有所不同,但你可以使用相同的工具。

例如,我曾经使用JUnit和DBUnit来进行单元测试和集成测试。

总之,单元测试和集成测试之间的界限可能有些模糊。这取决于你如何定义“单元”...


2

Selenium与Junit一起用于单元测试和集成测试,包括UI界面。


1

集成测试是对于热衷于单元测试的人的“下一个级别”。Nunit本身可以用于集成测试(无需更换工具)。例如场景:

使用Nunit创建了一个使用模拟的单元测试(其中它会访问DB/API)

要使用集成测试,我们需要按照以下步骤进行:

  1. 使用真实的DB而不是模拟

  2. 导致DB中输入数据

  3. 导致数据损坏

  4. 导致在每个测试中删除和重新创建DB

  5. 导致构建数据管理框架(需要添加工具?)

从#2开始,我们作为单元测试开发人员正在进入陌生领域。尽管工具保持不变。

  1. 导致你想知道,为什么集成测试设置需要这么长时间?
  2. 导致:我应该停止单元测试,因为两种测试都需要更多时间吗?
  3. 导致:我们只进行集成测试
  4. 导致:所有开发人员都同意吗?(有些开发人员可能完全不喜欢测试)
  5. 导致:由于没有单元测试,所以没有代码覆盖率。
现在我们要处理与业务目标和开发心理方面的问题...
我认为我回答了比需要更多的问题。无论如何,如果您想阅读更多并且认为单元测试是一种危险,请前往此处

0

1) 方法:测试点度量是在任何环境中最好的方法。通过这种方法,我们不仅可以进行单元和集成测试,还可以验证需求。 编写测试点度量的时间应该是在理解需求之后。

测试点度量的模板在此处提供:

http://www.docstoc.com/docs/80205542/Test-Plan

通常有三种测试方式。 1. 手动 2. 自动化 3. 混合方法

在上述所有情况下,测试点度量方法都适用。

2) 工具: 工具将取决于项目的要求,无论如何,以下是根据我的研究和开发最好的工具: 1. QTP 2. Selenium 3. AppPerfect 有关工具的更清晰答案,请指定您的项目类型。 问候: Muhammad Husnain


我可能错了,但我认为你的意思是“测试点矩阵”。 - defines

0

我通常使用JUnit进行单元测试,结合Mockito来模拟/存根依赖项,以便可以隔离地测试我的代码单元。

对于集成测试,这些通常涉及与外部系统/模块(如数据库/消息队列/框架等)的“集成”,因此要测试这些内容,您最好使用一组工具。

例如,我也使用JUnit,但与其模拟出依赖项,我实际上将这些依赖项配置为调用代码。此外,我测试控制流程,使得每个方法不是像单元测试中那样独立测试,而是一起测试。关于数据库连接,我使用一个嵌入式数据库和一些虚拟测试数据等。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接