关于时间估算与测试的一些看法

之前在Chrome 插件 030RateViewer 0.02版更新中提到通过这次功能的追加而感受到测试以及测试case的重要性。

其实关于测试这个话题,早就有不少人写过相关的文章了。我自然也没少看,可就是没放在心上也不当回事。所以这次便吃到了苦头。

这是因为在这个 030RateViewer 插件的开发过程中,有1/4的时间是浪费无效的测试上的。而造成这一结果的,就是因为实现没有事先写好测试case(从而最终导致我晚睡了一个半小时)。由这一惨痛的教训,让我理解到了测试case的重要性。

说来惭愧,其实自己挖的一些坑从来就没认真写过测试case或者说就从没写过。一是因为做的东西大都以前端为主,前端的最大特点就是所见即所得。每次只要F5一下,就能看到效果,边看边改(而在用了webpack之后连F5都不需要按了)。也就没了写测试case的习惯。二来则是,大学时学过一阵子Java,看到要写什么测试case就很头疼(虽然有JUnit)。总之就是不爱写case,基本就是脚踩西瓜皮,想到什么测什么。

所以这一次在造数据测试的时候由于case设置的问题,导致没有出现预期的效果。因此造成在排查过程中在程序逻辑上花费了大量时间,而实际上程序逻辑并没有问题。其次,由于没有落笔,在这次的测试过程中,分支测试就变得模糊不清,测到哪了也不知道,造成返工重测浪费了时间。虽然是勉勉强强弄完了,不过事后想来,测试的面很可能还不全面,这也是不写测试case所造成的。

再有一点就是时间估算的问题。其实对于这一次要添加的功能,大致是心中有数的。所以最初估算大概一个下午左右的时间就能完成(14点~18点,包括查阅文档、功能实现以及测试),而实际上我是在晚上的22点左右才完成的。除去当中吃饭以及发呆的时间,大约在6个小时左右。正好印证了以前看过的一句话程序员的实际时间 = 程序员自己估算的时间 * 1.5

现在想来,这1.5倍的时间里,就是因为该做的事情没做好而浪费的。因此在今后自己的一些项目中,还是应该认真写好测试case(逻辑特别简单的除外),而不去偷这个懒。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    Mr希灵阅读 22,224评论 7 278
  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    宇文臭臭阅读 11,687评论 5 100
  • 文章来自:http://blog.csdn.net/mj813/article/details/52451355 ...
    好大一只鹏阅读 13,010评论 2 126
  • 昨夜星辰,奔走风里, 万年之约,谁可明了, 黄河汹涛,珠山封地, 一缕清袖,拂手日月, 当明此志,作可言心, 唯一...
    素耕阅读 1,547评论 0 0
  • 今天开发遇到一个问题,实际情况: 在一个页面有多个UITextField,有的是进行跳转控制器,有的是直接弹出输入...
    ___1o_8o阅读 2,415评论 0 0