自测是保证开发提交代码质量的最基本方法和最低要求

本文由Markdown语法编辑器编辑完成。

1. 前言

之前曾经在博文中讲过开发人员和测试人员的关系,这有时候会让读者和自己误认为开发和测试是分工的,两者负责的职责是不相同的。然而,在最近的一段工作里,越来越感觉到一个道理:开发人员必须具有基本的测试意识和能力,这是保证自己交付的代码是可用的,也是保证代码质量的最低要求了。

2. 经验和教训

之所以有这样深刻的认识,实在是因为自己犯过很多错误,从这些错误中得到的经验教训。开发人员有时候面对的情况是:

面对一个交给自己,在限定时间内必须完成的需求,在经过了紧张的编码后,然后来来回回读了好几遍代码,程序的运行逻辑在自己的大脑中跑了好几个来回,然后就匆匆地提交了自己的代码。然而,当测试人员测试时,却发现程序压根就跑不起来。然后,测试提出bug,开发人员拿到bug以后,根据bug的表现,去debug自己的代码,发现自己当初编码时的错误(有可能是非常愚蠢的低级错误),修改bug,再提交自己的代码,再交给测试人员测试,直至代码能够良好的运行。虽然最终解决了这个问题,但是,整个过程还是会消耗一些时间,无形中降低了自己的工作效率。如果经常发生这种情况的话,恐怕别人和自己都要怀疑自己了。特别是对于那种已经在生产环境中运行的代码,在提交时更要谨慎再谨慎。

能够减少这种情况发生的机率的方法,我想最简单和最基本的就是:开发人员必须在提交代码前,留出一部分时间去进行代码自测。运用各种各样的测试工具,或者撰写测试脚本,让代码真正地跑一遍,而不是仅仅停留在自己的大脑里。

3. 开发人员自测的一些方法

3.1 运用测试工具

所谓“工欲善其事,必先利其器”。要想便捷地测试自己的代码,就需要掌握一些常用的测试工具。
之前有一段时间我在做医院信息系统HIS的系统集成时,就需要开发HIS与医院其他第三方系统的消息接口,这包括了HIS作为客户端时发送给第三方系统的消息,以及第三方系统作为客户端时发送给HIS的消息。在开发阶段,不可能有第三方系统来和我配合开发,我只有自己想办法根据文档,去模拟第三方系统给我发消息,来验证我是否能够正确地作出响应。当时,我用了几个工具,SoapUI, Postman, HiJson等。通过使用这几个工具,可以根据文档,让SoapUI/Postman来模拟客户端和服务端之间的通讯,而HiJson则是可以将JSON格式的字符串快速地格式化为标准的JSON格式,提高了工作效率。

每个领域的软件开发,都有许多开源的软件工具供大家去使用,重要的是要有这个意识去寻找到这些工具,并且快速地掌握这些工具的使用方法。

比如,在开发医学影像处理的各种算法时,可以借助于一些医学影像的开源软件,3D Slicer, Osirix, MITK, Mimics, Paraview等。这些工具都是非常强大的,可以用来验证自己开发的功能是否正确。

3.2 撰写测试脚本

最近我在做互联网方面的一些开发,主要用的是Python, 开发的IDE是Pycharm。我发现Pycharm是一款非常强大的开发工具,内置了很多很多的插件。比如:Python console, Terminal, CVS等等。

而且由于Python本身是解释性语言,修改代码后无须重新编译,直接运行即可。因此,使用起来非常方便。

未完待续......

posted @ 2018-10-12 09:20  蓬stephen蓬  阅读(909)  评论(0编辑  收藏  举报