博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
自测是保证开发提交代码质量的最基本方法和最低要求
阅读量:6975 次
发布时间:2019-06-27

本文共 1439 字,大约阅读时间需要 4 分钟。

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

未完待续......

转载于:https://www.cnblogs.com/stephen2014/p/9776282.html

你可能感兴趣的文章
MMX指令集系列之一----数据加载与算术运算指令
查看>>
R语言可视化二
查看>>
Python abs() 函数
查看>>
西电网络赛 - C
查看>>
div布局方案整理
查看>>
Python之内置函数再总结
查看>>
同步锁,死锁现象与递归锁,信息量Semaphore.....(Day36)
查看>>
sql server 索引阐述系列三 表的堆组织
查看>>
GD库笔记
查看>>
js函数知识点
查看>>
Centos 配置eth0 提示Device does not seem to be present
查看>>
redis5.0.3单实例简单安装记录
查看>>
metro 微博api开发,post请求
查看>>
C#中UDP数据的发送、接收
查看>>
自己设计大学排名-数据库实践
查看>>
linux环境jmeter- java环境安装配置
查看>>
STL 六大组件, 功能与运用概要
查看>>
keepalived 知识备注
查看>>
axis2学习——客户端的开发
查看>>
灾后重建 Floyd
查看>>