自动测试工具
各位,今天我是想讲讲关于自动测试工具的开发,从我个人的工作经验来讲下这个东西。希望和大家一起探讨,共同进步。
2008 年我们在日本出差的时候,当时我们主要是过去进行测试的。我们的那个项目是没有界面的,比较古老的东西,全部是批处理。是 Java 写的代码,数据库使用的 oracle9 。因为机能比较多,在刚开始的时候测试的时候比较累的,每个机能都很大的,也比较复杂。一个星期才测试完一本。业务难,是工场里的系统。每个机能都是有一个入口,进入后处理业务,这个时候调用后台的数据库,处理完业务然后退出。给的输入的数据有很多都放在 excel 中。要先进行数据的导入。我们的做法是先建立数据源,然后进行导入。这样我们每次测试之前先要进行数据的导入。很麻烦的。机能比较多,所以每天都要工作到很晚的。
工作进行了一个月以后,把系统大部分的错误找完了,我就在想应该做一个自动测试的东西。因为后来要不断的反复测试,数据稍微一修改我们就要把所有的机能都跑一遍,很累的。做自动测试工具涉及到的技术, bat 文件编辑, ant 使用, eclipse , oracle , sql 等。首先是要做数据的导入,如何做呢?因为给的都是 excel 文件,我就用 vba 把所有的数据都进行了转换,转换成 sql 文, insert 语句。只要 sqlplus 执行 sql 文就可以了。第一个问题就解决了。
第二个问题是如何启动 eclipse ,让它自动运行。当时想到了 ant 命令,编辑好 ant 需要的 build.xml 文件,把需要的 jar 包之类的东西都加载进去。通过 bat 文件进行启动应用程序。第三个问题,输出的文件和客户给的文件进行比较。看文件是否一致,不一致的情况下再进行分析,做调查。输出比较结果。这个自动工具做完后,我们每次只要输入需要运行的机能的名称就可以了。速度真的不错的。我们每次晚上下班之前运行这个东西,第二天早上看结果就可以了。每天基本上把 100 个机能都能跑一边,节省了大量的时间。呵呵,这个就是工作的好处,只要你用心去想,绝对可以做到的。
我当时还做了一个令日本人吃惊的东西。因为那些代码比较古老的,有些在写法上不是很好,导致运行效率很低,运行时间很长。有一个机能,运行时间是 34 分钟,但是经过我的修改之后,达到了 2 分钟左右。原来代码里面的循环嵌套的太多了, 900 个 5 次方了,把一些没有用你的 new 对象的代码放在了里面。但是 new 完的对象只是在 if 语句满足的时候才调用的。所以我就把这些 new 语句移动了一些位置,这样速度马上快了起来。
以上是我在日本工作期间的一些经历,希望对大家能有帮助。