};
为了实现以上CPrime,可以向里面任意添加私有变量和方法。嗯,或许我应该写一个IPrime,不过还是算了吧,简单点是件好事。
在做这个练习的时候大家出了一点问题,现在列在下面,可能是很普遍的错误。
1. 开发步伐过大,把CreatePool写完了才测试。(嗯,这样不行,在大家有这个趋势的时候我就开始阻止了)
2. 不知道如何针对每个方法做覆盖测试。(这是个复杂的话题,如何做到覆盖呢……大体而言,把普通情况、边界情况和异常情况都测试到应该就差不多了,不过真的没有这么简单……)
3. 没有考虑两个两个方法的交互过程。(谁都没有假定CreatePool和Get的顺序,我们应该能应付所有奇怪的用户)
4. 居然没有人问我“the pool”到底是如何存储这些生成的Prime的。(大家都默认为升序排列,而且从index = 0开始,嗯,我可没有这么许诺,我说过我是一个合格的用户)
好了,把所有问题都解决了,大家似乎对测试驱动开发这件事已经有了些基本的了解。嗯,不过,今天的工作也恰好结束了,其他的事情明天再说吧。
--------------------------------------------------------------------------------
参考文献:
[1] Kent Beck,测试驱动开发,中国电力出版社,2004.3
[2] Vincent Massol,JUnit In Action中文版,电子工业出版社,2005.1
[3] Alistair Cockburn,敏捷软件开发,人民邮电出版社,2003.11
[4] http://www.extremeprogramming.org
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=669793
文章来源于领测软件测试网 https://www.ltesting.net/