什么是单元测试、集成测试、烟雾测试和回归测试?它们之间有什么区别,我可以为它们使用哪些工具?
例如,我使用JUnit和NUnit进行单元测试和集成测试。有没有针对最后两种测试的工具,烟雾测试或回归测试?
什么是单元测试、集成测试、烟雾测试和回归测试?它们之间有什么区别,我可以为它们使用哪些工具?
例如,我使用JUnit和NUnit进行单元测试和集成测试。有没有针对最后两种测试的工具,烟雾测试或回归测试?
当前回答
烟雾和健全性测试都是在软件构建之后执行的,以确定是否开始测试。烟雾测试后可执行或不执行卫生。它们可以单独执行,也可以同时执行——在吸烟后立即执行。
因为健全性测试更深入,需要更多时间,所以在大多数情况下,自动化是非常值得的。
烟雾测试的执行时间通常不超过5-30分钟。它更一般:它检查整个系统的少量核心功能,以验证软件的稳定性是否足以进行进一步测试,并且没有任何问题,从而阻止计划测试用例的运行。
卫生测试比吸烟更详细,可能需要15分钟到一整天,具体取决于新建筑的规模。这是一种更专业的验收测试,在进展或重新测试后进行。它检查某些新功能和/或bug修复的核心特性以及与这些特性密切相关的一些特性,以便在可以更大规模地执行回归测试之前,验证它们是否按照所需的操作逻辑运行。
其他回答
每个人都会有稍微不同的定义,并且经常有灰色区域。然而:
单元测试:这一点(尽可能隔离)是否有效?集成测试:这两个(或更多)组件是否一起工作?烟雾测试:整个系统(尽可能接近于一个生产系统)是否结合得很好?(即,我们有理由相信它不会产生黑洞吗?)回归测试:我们是否无意中重新引入了以前修复过的bug?
单元测试:它总是由开发人员在开发完成后执行,以在他们为QA准备任何需求之前从测试方面找出问题。
集成测试:这意味着当一些数据/功能输出被驱动到一个模块到另一个模块时,测试人员必须验证模块到子模块的验证。或者在您的系统中使用使用您的系统数据进行集成的第三方工具。
烟雾测试:测试人员进行测试,以验证系统是否进行了高级测试,并试图在更改或代码生效之前找出显示阻止程序错误。
回归测试:测试人员执行回归,以验证由于系统中实施的新增强或系统中的更改而导致的现有功能。
回归测试-是一种软件测试,我们试图覆盖或检查错误修复。错误修复程序的功能不应因提供的修复程序而更改或更改。在此过程中发现的问题称为回归问题。
烟雾测试:是一种决定是否接受构建/软件以进行进一步QA测试的测试。
单元测试针对的是实现的最小部分。在Java中,这意味着您正在测试单个类。如果类依赖于其他类,则这些类是假的。
当您的测试调用多个类时,这是一个集成测试。
完整的测试套件可能需要很长时间才能运行,因此在更改之后,许多团队会运行一些快速完成的测试,以检测严重的损坏。例如,您已经将URI分解为基本资源。这些是烟雾测试。
回归测试在每个构建上运行,并允许您通过捕获所破坏的内容来有效地重构。任何类型的测试都可以是回归测试,但我发现单元测试最有助于找到故障源。
已经有一些很好的答案,但我想进一步完善它们:
单元测试是这里白盒测试的唯一形式。其他都是黑盒测试。白盒测试意味着你知道输入;你知道机构的内部工作原理,可以检查它,你知道输出。使用黑盒测试,您只知道输入是什么,输出应该是什么。
很明显,单元测试是这里唯一的白盒测试。
单元测试测试特定的代码片段。通常是方法。集成测试测试您的新功能软件是否可以与其他所有功能集成。回归测试。这是为了确保您没有损坏任何东西而进行的测试。一切过去有效的东西都应该继续有效。烟雾测试是作为一项快速测试来完成的,以确保在您参与更激烈的测试之前一切都正常。