看到另一个帖子里讨论该不该用仿真器的问题,觉得有必要说几句,因为我是从一个完全不同的角度看待这个问题,所以开一个新的主题展开讨论,本人学识浅薄,还请高人评判。原帖的链接如下:换了个公司 发现问题多多?用仿真器要挨骂
在那个帖子里有两派观点: 不用仿真器是:1)为了炫耀 2)因为自信 3)为了培养新人 4)因为程序简单 用仿真器是:1)为了迅速定位故障 2)为了加快开发进度 3)为了调试中断的时候方便
我的观点是,首先不管什么原因,有条件要用仿真器,没有条件创造条件也要用仿真器;第二也是更加重要的理由是“使用仿真器是保障产品质量的重要手段之一”。
这里有一个重要的概念,产品的质量是做出来的不是测出来的,“产品的质量是做出来的”的意思是说,在产品设计和开发的各个阶段及各个环节的每个细节都与最终产品的质量紧密相关,使用仿真器的目的就是在开发的过程中,随时保证设计中要求的每个环节都是正确无误地被实现了,实现中的每一个分支、每一个程序段都是按照设计与想象相符。当你能够保证每个环节都是正确的时候,最后做出的产品自然就会有好的质量。
使用仿真器,你可以随时观察和监视内存中各种变量、堆栈的变化与状态,随时观察和监视各种寄存器的变化与状态,随时观察和监视各种外设的变化与状态,随时保证你的算法始终按照你的设想执行。使用仿真器的另一个更主要的好处是,你可以对程序中的某一个段落进行跟踪测试,很多程序内部的段落在产品阶段的测试是很难测到的,如异常处理部分就有可能无法模拟要处理的异常,而无法在产品阶段的测试中检测。
通常,测试的方案和流程总是有缺陷的,现实中没有一个测试方案或流程可以覆盖程序设计中的每一个分支,开发过程中仿真器的使用刚好帮助你弥补这个不足。熟练地使用仿真器后,你会发现自己对通过测试的自信心将大大地加强。
所以,强烈呼吁各位尽可能使用仿真器,不管是大程序还是小程序,这是一个习惯的问题,不是个人信心的问题,更不是炫耀的问题,产品的质量不能当儿戏! |