什么是单元测试、集成测试、冒烟测试和回归测试?它们之间有什么区别,我可以为它们使用哪些工具?
例如,我使用JUnit和NUnit进行 单元测试 和 集成测试 。 最后两个,冒烟测试 或 回归测试 是否有任何工具?
单元测试 :指定并测试一个类的单个方法的契约的一点。这应该有一个非常狭窄和明确定义的范围。复杂的依赖关系和与外部世界的交互被存根或模拟。
集成测试 :测试多个子系统的正确互操作。从测试两个类之间的集成到测试与生产环境的集成,有整个范围。
冒烟测试(又名 健全性 检查) :一个简单的集成测试,我们只检查当被测系统被调用时它是否正常返回并且不会崩溃。
为此,我将补充:
验收测试 :测试功能或用例是否正确实现。它类似于集成测试,但关注的是要提供的用例而不是所涉及的组件。
系统测试 :将系统作为黑盒进行测试。对其他系统的依赖通常在测试期间被模拟或存根(否则它将更像是一个集成测试)。
飞行前检查 :在类生产环境中重复进行的测试,以减轻“在我的机器上构建”综合症。这通常是通过在类似生产环境中进行验收或冒烟测试来实现的。