首页 文章

单元测试和集成测试之间有什么区别? [重复]

提问于
浏览
331

这个问题在这里已有答案:

单元测试和集成测试之间有什么区别?

这些测试有不同的名称吗?像有些人称单元测试功能测试等?

5 回答

  • 13

    单元测试应该不依赖于测试单元之外的代码 . 您可以通过寻找最小的可测试部件来确定单元是什么 . 如果存在依赖关系,则应将其替换为虚假对象 . 模拟,存根..测试执行线程在最小的可测试单元内开始和结束 .

    当虚拟对象被真实对象替换并且测试执行线程跨越到其他可测试单元时,您将进行集成测试

  • 83

    单元测试(尽可能)完全隔离 .

    当测试对象或模块按照应有的方式工作时,使用其他代码进行集成测试 .

  • 38

    单元测试测试您可以完全控制的代码,而集成测试则测试代码如何使用或“集成”其他代码 .

    因此,您可以编写单元测试以确保您自己的库按预期工作,然后编写集成测试以确保您的代码与您正在使用的其他代码(例如库)完美匹配 .

    功能测试与集成测试有关,但更具体地涉及测试整个系统或应用程序的测试,所有代码一起运行,几乎是一个超级集成测试 .

  • 10

    通常对软件模块中实现的单个功能进行单元测试 . 测试范围完全在此SW模块中 . 单元测试永远不会满足最终的功能要求 . 它采用白盒测试方法 .

    而进行集成测试以确保不同的SW模块实现 . 通常在SW开发中完成模块级集成后执行测试 . 此测试将涵盖功能要求,但不足以确保系统验证 .

  • 510

    unit test 是程序员编写的一个测试,用于验证相对较小的代码片段是否正在执行预期的操作 . 它们的范围很窄,应该易于编写和执行,它们的有效性取决于程序员认为有用的东西 . 这些测试旨在供程序员使用,但它们并不直接对其他任何人有用,但是,如果他们完成工作,下游的测试人员和用户应该从看到更少的错误中受益 .

    作为单元测试的一部分是暗示被测试代码之外的东西被嘲笑或剔除 . 单元测试不应该依赖于外部系统 . 他们测试内部一致性,而不是证明他们与一些外部系统很好地配合 .

    完成 integration test 以证明系统的不同部分一起工作 . 集成测试可以涵盖整个应用程序,它们需要更多的努力才能组合在一起 . 它们通常需要为数据库实例和硬件分配资源 . 集成测试在演示系统工作方面做得更有说服力(特别是对于非程序员),而不是一组单元测试,至少在集成测试环境类似于 生产环境 的程度上 .

    实际上,“集成测试”被用于各种各样的事情,从完全系统测试到类似 生产环境 的环境,再到使用未被模拟的资源(如数据库或队列)的任何测试 . 在频谱的低端,集成测试可以是junit测试,其中存储库针对内存数据库运行,朝向上端它可以是验证应用程序可以交换消息的系统测试 .

相关问题