我正在开发一个新的小项目。我理解实现自动化测试以提高质量和可维护性的重要性。但是,如果在小应用程序中,功能测试就足够了。是否真的需要为我的所有功能实现单元测试?功能测试不能保证小型应用程序的质量吗?
发布于 2013-09-11 15:49:46
这确实取决于项目的规模和所涉及的“活动部件”的数量;但总的来说,我要说,单元测试至少与功能测试一样重要,甚至更重要。
我本来想给一个简单的软件系统打个比方,但是我会告诉你一个故事,这个故事可能发生在我身上,也可能不会发生在我身上。毫无疑问,我会因此而被否决,我能说什么呢?尤洛。
总之,我在度假,在酒店,我想要修剪我的豪华和完全非讽刺胡须使用我带来了一个非常好的胡子修剪。除了设计浴室的木偶把唯一的插座放在房间的另一边对着镜子!更糟糕的是,插座形状不对,因为我在一个奇怪的外国,他们开错了路.
别担心。我有一个旅行电源插座适配器。除了裁剪器上的绳子只有3英尺长,而且不会延伸到房间的另一端。但是等等!我有延长线耶!现在我可以像一个真正的男人一样在镜子前打扮自己。**
我把所有的东西都插进去,然后按下“打开”按钮。修剪者蜂拥而至,然后突然死去,留下我脸上一团乱七八糟的绒毛。
快:有什么问题吗?是:
这个是只进行功能测试的问题。当然,通过乱七八糟的切换,我最终会发现修整器工作得很好,而延长线是问题所在,但如果我能够通过单元测试检查first中涉及到的所有位元和闪盘,那么即使在我试图打开修整器之前,我就知道电源线是不可靠的,这不是很好吗?
**这个故事完全不是真的,我用剃须刀修剪我的胡子。见鬼,是的。
发布于 2013-09-11 09:35:40
功能测试可能不够小/单元,无法在足够深的级别捕捉实现的细微差别。
虽然它们确实涵盖了足够多的领域,可以给您带来良好的自信感,但您可能仍然希望使用单元测试来跟踪bug、prevent 和处理(有问题的/罕见的) edge cases。
此外,我不认为有必要引入这样的区别-功能与单元与集成与什么-而不是-其他。你想要自动测试,仅此而已。您仍然需要实现它们,很可能对每种测试类型都使用相同的工具/框架。
https://stackoverflow.com/questions/18745620
复制相似问题