什么是单元测试、集成测试、烟雾测试和回归测试?它们之间有什么区别,我可以为它们使用哪些工具?
例如,我使用JUnit和NUnit进行单元测试和集成测试。有没有针对最后两种测试的工具,烟雾测试或回归测试?
什么是单元测试、集成测试、烟雾测试和回归测试?它们之间有什么区别,我可以为它们使用哪些工具?
例如,我使用JUnit和NUnit进行单元测试和集成测试。有没有针对最后两种测试的工具,烟雾测试或回归测试?
当前回答
单元测试:对应用程序中单个模块或独立组件的测试称为单元测试。单元测试将由开发人员完成。
集成测试:组合所有模块并测试应用程序,以验证模块之间的通信和数据流是否正常工作。该测试也由开发人员执行。
烟雾测试在烟雾测试中,他们以浅而广的方式检查应用程序。在烟雾测试中,他们检查应用程序的主要功能。如果应用程序中存在任何拦截器问题,他们将向开发团队报告,开发团队将修复并纠正缺陷,并将其返回给测试团队。现在,测试团队将检查所有模块,以验证在一个模块中所做的更改是否会影响另一个模块。在烟雾测试中,测试用例是脚本化的。
回归测试重复执行相同的测试用例,以确保不变的模块不会导致任何缺陷。回归测试属于功能测试
其他回答
单元测试针对的是实现的最小部分。在Java中,这意味着您正在测试单个类。如果类依赖于其他类,则这些类是假的。
当您的测试调用多个类时,这是一个集成测试。
完整的测试套件可能需要很长时间才能运行,因此在更改之后,许多团队会运行一些快速完成的测试,以检测严重的损坏。例如,您已经将URI分解为基本资源。这些是烟雾测试。
回归测试在每个构建上运行,并允许您通过捕获所破坏的内容来有效地重构。任何类型的测试都可以是回归测试,但我发现单元测试最有助于找到故障源。
烟雾测试已经在这里解释过了,而且很简单。回归测试属于集成测试。
自动化测试可分为两种。
单元测试和集成测试(这是最重要的)
我会将所有测试(如集成测试、功能测试、回归测试、UI测试等)使用短语“长测试”(LT),将单元测试称为“短测试”。
LT的一个例子是,自动加载网页,登录帐户并购买一本书。如果测试通过,则更有可能以相同的方式在现场运行(因此“更好的睡眠”参考)。Long=网页(开始)和数据库(结束)之间的距离。
这是一篇很棒的文章,讨论了集成测试(长测试)相对于单元测试的好处。
集成测试:集成测试是集成的另一个元素烟雾测试:烟雾测试也称为构建版本测试。烟雾测试是初始测试过程,用于检查被测软件是否准备就绪/稳定,以便进行进一步测试。回归测试:回归测试是重复测试。新软件是否在另一模块中生效。单元测试:这是一个白盒测试。只有开发人员参与其中
单元测试:验证特定组件(即类)是否按照设计创建或修改了功能。该测试可以是手动或自动的,但不会超出组件的边界。
集成测试:验证特定组件的交互是否按设计运行。集成测试可以在单元级或系统级执行。这些测试可以是手动或自动的。
回归测试:验证新的缺陷没有引入到现有代码中。这些测试可以是手动或自动的。
根据您的SDLC(瀑布式、RUP、敏捷等),特定的测试可以在“阶段”中执行,也可以或多或少地同时执行。例如,单元测试可能仅限于开发人员,然后将代码交给测试人员进行集成和回归测试。然而,另一种方法可能会让开发人员进行单元测试和某种程度的集成和回归测试(使用TDD方法以及连续集成和自动化单元和回归测试)。
工具集将在很大程度上依赖于代码库,但有许多用于单元测试(JUnit)的开源工具。HP(Mercury)QTP或Borland的Silk Test都是自动化集成和回归测试的工具。
已经有一些很好的答案,但我想进一步完善它们:
单元测试是这里白盒测试的唯一形式。其他都是黑盒测试。白盒测试意味着你知道输入;你知道机构的内部工作原理,可以检查它,你知道输出。使用黑盒测试,您只知道输入是什么,输出应该是什么。
很明显,单元测试是这里唯一的白盒测试。
单元测试测试特定的代码片段。通常是方法。集成测试测试您的新功能软件是否可以与其他所有功能集成。回归测试。这是为了确保您没有损坏任何东西而进行的测试。一切过去有效的东西都应该继续有效。烟雾测试是作为一项快速测试来完成的,以确保在您参与更激烈的测试之前一切都正常。