什么是单元测试、集成测试、烟雾测试和回归测试?它们之间有什么区别,我可以为它们使用哪些工具?

例如,我使用JUnit和NUnit进行单元测试和集成测试。有没有针对最后两种测试的工具,烟雾测试或回归测试?


当前回答

软件测试技术最佳网站之一的答案:

软件测试类型–完整列表单击此处

这是一个相当长的描述,我不打算将其粘贴在这里:但它可能对想要了解所有测试技术的人有所帮助。

其他回答

软件测试技术最佳网站之一的答案:

软件测试类型–完整列表单击此处

这是一个相当长的描述,我不打算将其粘贴在这里:但它可能对想要了解所有测试技术的人有所帮助。

我刚刚意识到的一个新的测试类别是金丝雀测试。金丝雀测试是一种自动的、非破坏性的测试,它在实时环境中定期运行,因此如果失败了,就会发生非常糟糕的事情。

例如:

只有在开发/测试中才可用的数据是否出现了?后台进程是否无法运行?用户可以登录吗?

单元测试:对应用程序中单个模块或独立组件的测试称为单元测试。单元测试将由开发人员完成。

集成测试:组合所有模块并测试应用程序,以验证模块之间的通信和数据流是否正常工作。该测试也由开发人员执行。

烟雾测试在烟雾测试中,他们以浅而广的方式检查应用程序。在烟雾测试中,他们检查应用程序的主要功能。如果应用程序中存在任何拦截器问题,他们将向开发团队报告,开发团队将修复并纠正缺陷,并将其返回给测试团队。现在,测试团队将检查所有模块,以验证在一个模块中所做的更改是否会影响另一个模块。在烟雾测试中,测试用例是脚本化的。

回归测试重复执行相同的测试用例,以确保不变的模块不会导致任何缺陷。回归测试属于功能测试

回归测试-是一种软件测试,我们试图覆盖或检查错误修复。错误修复程序的功能不应因提供的修复程序而更改或更改。在此过程中发现的问题称为回归问题。

烟雾测试:是一种决定是否接受构建/软件以进行进一步QA测试的测试。

单元测试:验证特定组件(即类)是否按照设计创建或修改了功能。该测试可以是手动或自动的,但不会超出组件的边界。

集成测试:验证特定组件的交互是否按设计运行。集成测试可以在单元级或系统级执行。这些测试可以是手动或自动的。

回归测试:验证新的缺陷没有引入到现有代码中。这些测试可以是手动或自动的。

根据您的SDLC(瀑布式、RUP、敏捷等),特定的测试可以在“阶段”中执行,也可以或多或少地同时执行。例如,单元测试可能仅限于开发人员,然后将代码交给测试人员进行集成和回归测试。然而,另一种方法可能会让开发人员进行单元测试和某种程度的集成和回归测试(使用TDD方法以及连续集成和自动化单元和回归测试)。

工具集将在很大程度上依赖于代码库,但有许多用于单元测试(JUnit)的开源工具。HP(Mercury)QTP或Borland的Silk Test都是自动化集成和回归测试的工具。