开发需要懂的软件测试意识

我常常看到一些程序员,能写代码,能实现功能,但是 bug 很多,也经常需要返工。开发技术不成熟固然是其中之一,但我认为还有一个很重要的因素就是他们缺乏必要的测试意识测试技能

开发需要懂的软件测试意识

工程师 A,完成了指定功能的开发后,立即将代码打包并提交给测试人员验证。
工程师 B,完成了协同开发的模块后,发现协作方还没有提交他的模块代码,打算等他提交后再进行测试。
工程师 C,发现自己负责的功能依赖必要的数据,又不知道如何构造,于是放弃测试。
工程师 D,感觉自己的代码没有问题,非常自信不会出错。
以上都是很常见的开发错误,可以说没有比较详细的自测,代码的质量都是很差的。一个优秀的开发工程师,必然也是一个懂得如何测试自己代码的角色。
网上有很多测试技术和工具的使用介绍,随便 google 就能学到,而我这里只从宏观层面来谈谈,如何进行简单而有效的代码自测。

如何解决自测需要依赖别人的模块?

从战术上,我们可以手动模拟,或者直接写一个脚本来模拟。脚本当然是更推荐的方式,这样一次开发,就能重复测试。

举个例子,比如你的功能模块是要输出一组数据给到下家,经过下家处理后再返回新数据给你。我们可以写一个壳代码来发数据,再吐一组假数据出来,这样从流程上把自己的模块串起来。能检查输出输入端以及流程跑起来后是否有跟真实数据无关的 bug。

代码走查方式如何?

这种方式基本上效率非常低,不然还需要 Debug 模式做什么?比如一个 Java 应用,写好一个类以后,直接怼 JUnit 写 case,就能重复跑,而且有问题很快就跑出来了

应该采取什么样的自测方式?

按照最小测试单位的方式来进行。当我们写好一个类,就直接写测试代码测试此类的方法,发现问题立即修改立即回测,确认没有明显问题后,再加上其他的类进行流程上的测试。记住,测试单位越小,所需要的排查时间也越少,测试单位越大,排查越来越复杂,修改也越来越费时。

源自公众号 henryWoo



留言