什么是单元测试,集成测试,冒烟测试和回归测试?它们之间有什么区别,我可以为每个工具使用哪些工具?
单元测试:指定并测试一个类的单一方法合约的一点。这应该具有非常狭窄且定义明确的范围。对外部世界的复杂依赖关系和交互行为是存根或嘲笑的。
集成测试:测试多个子系统之间的正确互操作。从两类之间的测试集成,到与生产环境的测试集成,整个过程都有。
冒烟测试(也称为健全性检查) :一种简单的集成测试,我们只检查被测系统被调用时,它会正常返回并且不会崩溃。
回归测试:修复错误后编写的测试。它确保不会再次发生此特定的错误。全名是 “非回归测试”。这也可以是在更改应用程序之前进行的测试,以确保应用程序提供相同的结果。
为此,我将添加:
验收测试:测试功能或用例是否正确实现。它类似于集成测试,但侧重于提供的用例,而不是所涉及的组件。
系统测试:将系统测试为黑匣子。在测试过程中,通常会嘲笑或打断对其他系统的依赖关系(否则,它更像是一个集成测试)。
飞行前检查:在类似生产环境中重复进行的测试,以减轻 “在我的机器上构建” 综合症。通常,这是通过在类似生产的环境中进行验收或冒烟测试来实现的。
每个人的定义都会略有不同,并且通常会有灰色区域。然而: