我正在开发一个新的小项目。我理解实施自动化测试以提高质量和可维护性的重要性。但是如果在小型应用程序中功能测试就足够了,我会徘徊。对我的所有功能真的有必要实施单元测试吗?功能测试不保证小型应用程序的质量吗?
答案 0 :(得分:5)
这实际上取决于项目的规模和所涉及的“活动部件”的数量;但总的来说,我会说单元测试至少与功能测试相比,如果不是更重要的话。
我打算对一个简单的软件系统进行类比,但我会告诉你一个可能会或可能不会发生在我身上的故事。毫无疑问,我将被遗忘为它,我能说什么。 YOLO。
无论如何,所以我正在度假,在酒店里,我想用我带来的非常好的胡须修剪器修剪我的奢华和完全非讽刺的胡须。 除了设计浴室的布偶把房间另一侧的唯一插座放在镜子上之外!更糟糕的是,插座是错误的形状,因为我在一些奇怪的外国他们在错误的路上行驶的国家......
不用担心。我有一个旅行电源插座适配器。除了修剪器上的绳子只有3英尺长,不会穿过房间。可是等等!我有一根延长线,耶!现在我可以在镜子面前像一个真正的男人一样自我。 **
我插上所有东西,然后按“开”按钮。修剪器嗡嗡作响,然后突然死亡,让我脸上一片混乱的绒毛。
快速:问题是什么?是吗:
这个是仅进行功能测试的问题。当然,通过捣乱和切换东西我最终会发现修剪器工作正常并且延长线是问题所在,但如果我能够检查所涉及的所有钻头和凸起都不会很好。操作第一次由单位测试它们,所以即使在我试图打开修剪器之前,我知道绳子是狡猾的?
**这个故事完全不正确,我用剃须刀剃胡须。地狱啊。
答案 1 :(得分:1)
功能测试可能不是 small / unit 足以在足够深的水平上捕获实现细微差别。
虽然它们确实可以覆盖足够的理由来给你足够的信心,但你仍然可能希望对跟踪错误进行单元测试,防止回归并处理(有问题/罕见)边缘情况。
此外,我认为没有必要引入这样的区别 - 功能与单位与整合对比什么不是。你想要自动化测试,就是这样。您仍然需要实现它们,最有可能为每种测试类型使用相同的工具/框架。