什么是单元测试、集成测试、烟雾测试和回归测试?它们之间有什么区别,我可以为它们使用哪些工具?
例如,我使用JUnit和NUnit进行单元测试和集成测试。有没有针对最后两种测试的工具,烟雾测试或回归测试?
什么是单元测试、集成测试、烟雾测试和回归测试?它们之间有什么区别,我可以为它们使用哪些工具?
例如,我使用JUnit和NUnit进行单元测试和集成测试。有没有针对最后两种测试的工具,烟雾测试或回归测试?
当前回答
回归测试-
“回归测试针对已更改的软件重新运行以前的测试,以确保当前软件中所做的更改不会影响现有软件的功能。”
其他回答
烟雾和健全性测试都是在软件构建之后执行的,以确定是否开始测试。烟雾测试后可执行或不执行卫生。它们可以单独执行,也可以同时执行——在吸烟后立即执行。
因为健全性测试更深入,需要更多时间,所以在大多数情况下,自动化是非常值得的。
烟雾测试的执行时间通常不超过5-30分钟。它更一般:它检查整个系统的少量核心功能,以验证软件的稳定性是否足以进行进一步测试,并且没有任何问题,从而阻止计划测试用例的运行。
卫生测试比吸烟更详细,可能需要15分钟到一整天,具体取决于新建筑的规模。这是一种更专业的验收测试,在进展或重新测试后进行。它检查某些新功能和/或bug修复的核心特性以及与这些特性密切相关的一些特性,以便在可以更大规模地执行回归测试之前,验证它们是否按照所需的操作逻辑运行。
单元测试:它总是由开发人员在开发完成后执行,以在他们为QA准备任何需求之前从测试方面找出问题。
集成测试:这意味着当一些数据/功能输出被驱动到一个模块到另一个模块时,测试人员必须验证模块到子模块的验证。或者在您的系统中使用使用您的系统数据进行集成的第三方工具。
烟雾测试:测试人员进行测试,以验证系统是否进行了高级测试,并试图在更改或代码生效之前找出显示阻止程序错误。
回归测试:测试人员执行回归,以验证由于系统中实施的新增强或系统中的更改而导致的现有功能。
我刚刚意识到的一个新的测试类别是金丝雀测试。金丝雀测试是一种自动的、非破坏性的测试,它在实时环境中定期运行,因此如果失败了,就会发生非常糟糕的事情。
例如:
只有在开发/测试中才可用的数据是否出现了?后台进程是否无法运行?用户可以登录吗?
单元测试:指定并测试类的单个方法的契约的一个点。这应该有一个非常狭窄和明确的范围。复杂的依赖关系和与外部世界的交互会被破坏或嘲弄。集成测试:测试多个子系统的正确互操作。从测试两个类之间的集成,到测试与生产环境的集成,这是一个完整的过程。烟雾测试(也称为健全性检查):一个简单的集成测试,我们只需要检查当被测试的系统被调用时,它是否正常返回并且不会崩溃。烟雾测试与电子设备都是一个类比,在电子设备中,当电路通电时会进行第一次测试(如果它冒烟,那就糟糕了!)。。。……显然,还有管道系统,管道系统被烟雾填满,然后进行目视检查。如果有任何东西冒烟,系统就会泄漏。回归测试:在修复错误时编写的测试。它可确保此特定错误不会再次发生。全名是“非回归测试”。它也可以是在更改应用程序之前进行的测试,以确保应用程序提供相同的结果。
对此,我将补充:
验收测试:测试功能或用例是否正确实现。它类似于集成测试,但侧重于要提供的用例,而不是所涉及的组件。系统测试:将系统作为黑盒进行测试。在测试过程中,对其他系统的依赖性通常会被嘲笑或清除(否则这将更像是一个集成测试)。飞行前检查:在类似生产的环境中重复进行的测试,以缓解“在我的机器上构建”综合症。这通常通过在类似生产的环境中进行验收或烟雾测试来实现。
集成测试:集成测试是集成的另一个元素烟雾测试:烟雾测试也称为构建版本测试。烟雾测试是初始测试过程,用于检查被测软件是否准备就绪/稳定,以便进行进一步测试。回归测试:回归测试是重复测试。新软件是否在另一模块中生效。单元测试:这是一个白盒测试。只有开发人员参与其中