作者littleshan (我正在想要换什麽)
站内Programming
标题Re: [问题] 没有明确的结果,如何写UnitTest?
时间Wed Nov 26 22:57:27 2014
※ 引述《lovesnake (LoyalDog)》之铭言:
: 重新问好了,发现这样的东西似乎不适合提到演算法。
: 我现在的程式有三个步骤 , 其中 1 2 3 各个步骤接会有一个资料输出。
: 但只有三个步骤皆完成後,产出的资料才有办法自动化判断正确与否。
: 其余1 2 3 步骤各别的输出,都一定需要人工判别,现在没办法自动化的东西有很多,倒
: 没什麽争议。
: 那请问,针对 1 2 3各个步骤的个别输出,需要写UnitTest吗?
: 还是我的Unit的范围要扩大到整个系统呢?
: 因为个别的步骤的子系统也满大的,所以会想要针对各个子系统皆做UnitTest,
: 但又发现个别的输出无法自动化判别,这种情况会怎麽做呢?
我认为 unit test 是手段,而不是目的。
也就是写出明显bug时,你可以在很短的时间内发现它,
自动化的 unit test 可以很有效率地解决这个问题,
但是当你的 test 没办法、或是很难自动化时,
你的目标应该转移到「如何缩短测试时间」。
也就是说,人工判别是 ok 的,但你可以试图让这个判断过程变得更有效率。
最好的情况就是你按下 build test,测试程式会马上把中间步骤的结果秀在萤幕上。
当然,资料量增加时你会需要更有技巧的测试,
比如说适度处理输出让出错的地方可以更明显被肉眼看到、
或是把人工判断为正确的资料 cache 下来,只显示有差异的部份等等。
当然这些方法适不适用是 case by case,
但有技巧的测试就可以让你的开发效率比完全不做测试、或暴力测试要好很多。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 114.32.28.146
※ 文章网址: http://webptt.com/cn.aspx?n=bbs/Programming/M.1417013850.A.01E.html
1F:→ lc85301: 测试你的程式是种懦夫的行为(大误) 140.112.45.157 11/27 15:00
2F:→ carylorrk: 我没有在测试啊,我是在写规格书~ 1.34.244.41 11/27 18:03
3F:推 lovesnake: 了解了! 谢谢!!140.121.198.169 11/27 19:52