我工作的第一个真正的软件公司是关于单元测试(NUnit)的。我不知道那时候我们真的很执着--我不知道我们的代码覆盖率是怎样的,我在编写大部分的单元测试。从那时起,我遇到了一些公司做了大量的测试,但它的椅子测试:依赖于一个人在那里,有较低的重复性和机会捕获错误。另一种态度是:这是他们想要“在未来”进行的事情,基本上是当金钱从天而降的时候。
我错过了单元测试--这只会让生活更轻松。但我发现,当我寻找一份新工作时,单元测试要么是公司希望在未来“着手”的东西,要么是他们根本不做的事情(嗯,它已经存在了一段时间了!)我想说的是,在过去的两年中,我看过的60%-75%的工作需求根本没有列出单元测试。我只能想到一两个有单元测试经验的人(对于中级开发人员来说)。
所以问题是,,少了什么?我认为它能让人们更有效率,但那只是在花了大量的时间去做之后。关于单元测试的成本节约,难道没有任何好的研究吗?是我要找的那种公司吗?
编辑:尽管标题有点邪恶的倡导者,我认为自己是一个单元测试的支持者。
发布于 2009-02-17 17:17:05
根据我的经验,这其中涉及几个因素:
当然,还有其他因素,但这正是我到目前为止遇到的情况。
发布于 2009-02-17 17:15:54
1)这很难
2)这需要时间
3)很难确定测试代码的值
第三点是粘稠的。好的单元测试可以减少bug。但是好的生产代码也是如此。如何确定由于单元测试而不存在多少bug?你无法衡量什么是不存在的。你可以指出你的研究,但它们不适合你的业务经理的电子表格。
发布于 2009-02-17 19:46:27
把所有的责任都归咎于“管理”是很容易的。但是管理层真的告诉你不要做任何单元测试吗?
管理通常不会(也可能不应该)告诉您如何完成您的工作,无论是模块化、抽象数据类型、设计模式还是单元测试。这些是一个成功的、有能力的软件工程师应用的交易工具,但是一个糟糕的工程师却没有。
我认为你的问题的真正答案是:单元测试是非常困难的,而计算机科学专业的学生没有接受过这方面的培训。
在编写自己的字符串类时,这很容易。当您测试一个真实的产品时,您会遇到在powerpoint幻灯片中没有人告诉您的挑战:
我们可以归咎于管理层的一点是,需求规范很少包含任何关于可交付产品质量级别的需求。
下次当你的老板要求你做时间估计时,包括写单元测试的时间,看看会发生什么。
https://stackoverflow.com/questions/557764
复制相似问题