zoukankan      html  css  js  c++  java
  • 自测是保证开发提交代码质量的最基本方法和最低要求

    本文由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本身是解释性语言,修改代码后无须重新编译,直接运行即可。因此,使用起来非常方便。

    未完待续......

  • 相关阅读:
    关于这个 blog
    P6499 [COCI2016-2017#2] Burza 题解
    CF1172F Nauuo and Bug 题解
    CF1479D Odd Mineral Resource 题解
    CF1442E Black, White and Grey Tree 题解
    CF1442D Sum 题解
    CF1025D Recovering BST 题解
    CF1056E Check Transcription 题解
    CF1025F Disjoint Triangles 题解
    红包算法的PHP实现
  • 原文地址:https://www.cnblogs.com/stephen2014/p/9776282.html
Copyright © 2011-2022 走看看