针对小公司和应用程序的现实生活单元测试

Tom*_*leu 10 unit-testing

在这些由小型软件公司(甚至是独立公司)编写的典型业务应用程序中,单元测试真的有什么好处吗?(我说的是那些典型的定制应用程序,比如自动发票应用程序.)

请注意:我不是在质疑单元测试的好处(干净的代码,提高重构能力等),但我在质疑小型软件应用程序的ROI .好的,你会赢得时间追逐错误等,但我似乎并不相信你会赢得足够的时间来处理开发测试的时间增加.

请相信我,因为我可以看到它的好处,但目前不适用于小型软件应用程序/公司.

PS:在典型的业务应用程序中编写的单元测试的一些实际例子是什么?(发票,客户关系管理等)

Kev*_*che 9

以下是我看到它为小型应用付出的代价:

  • 您的测试是一种关于应用程序应该如何工作的文档形式.当你单独离开应用程序一段时间或下一个人时,让你的生活更轻松.
  • 当你只需要做一个你知道不会破坏任何东西的小改变时,你的测试是很好的覆盖.您的测试会让您快速了解.
  • 很多时候,在小型应用程序中,单元测试可以节省您测试应用程序UI的时间.AKA - 您需要多次关闭应用程序以测试输入屏幕是否获取正确的信息并发出正确的信息.这并不能取代UI测试,但即使在小型应用程序上也能节省测试时间.
  • 小应用程序多久发展一次.根据我的经验经常.如果您没有提前开始单元测试,则更有可能不会在以后执行此操作和/或花费更多时间来覆盖最初未完成的代码.现在,如果你能记住代码在所有情况下应该如何工作......嗯......
  • 这是一个很好的做法,当 绝对看到它在一个更大的项目上说它的价值,并希望它更好.:-)
  • 测试是帮助您了解是否存在设计缺陷和/或更好的编码方式的好方法.测试可以是一种设计形式,可以真正帮助人们看看是否有些笨拙/笨拙.

查看James Shore的youtube播放,在一个非常小的应用程序上播放 TDD.只是看着他通过它看到和听他真的有助于展示TDD和单元测试如何真正有益,即使在小型应用程序.


whe*_*ies 6

让我们来看看,

  1. 如果你的小应用程序是在客户端的堆栈的一个非常关键的部分使用,那么你来走的近充分发挥功能的代码,这是非常重要的.
  2. 如果这个小应用程序用于平衡他们的应收账款,我打赌他们想要确定所使用的公式是正确的.没有企业想要赠送免费赠品或"赔钱".
  3. 如果您的应用程序暴露了一个API,以便它可以扩展和其他应用程序中被同化,你会想单元测试来验证你做的对,他们的工程师拧起来.(哦,是的,对于一小段1000行代码来说真的能保存我的屁股.)
  4. 如果您的小应用程序将传递给其他人来维护它.他们会感谢你的.
  5. 如果你来走了一些功能,你想在一个更大的应用程序的其他地方使用具有预先生成的单元测试可以节省时间和头痛.想象一下微小的错误,它不会影响你的小应用程序非常进入一个更大的应用程序,它可能会造成实质性的损害.

总之有使用情况下,我可以看到,单元测试还清,即使是小的,非程序繁琐无数号.看看那里链接的klabranche视频.优秀.