一种结合hudson的算法自动化测试构想

作者:朱金灿

来源:http://blog.csdn.net/clever101

 

        有时我在思考:未来软件测试的趋势是什么?其实答案和其它行业一样简单:低技术含量的测试工作都将由机器承担,人只能干机器干不了的活。这意味着什么?所有的黑盒测试将不复存在,测试人员将用来分析测试结果。

 

        大话说完了,下面具体谈谈我构想的一种结合hudson的算法动化测试构想。大家知道,在编译完成之后hudson是可以执行一系列的批处理脚本。因此我们可以在编译完成后加入自动化测试的批处理脚本。批处理脚本具体执行哪些内容呢?我们假设这样一个应用场景,软件是由很多算法组成的,也就是说对于测试人员来说算法测试是一个工作量比较大的任务。算法模块以一个个dll的形式存在,因此我们可以开发一个算法加载器(AlgoRun.exe),专门来加载这些算法dll。算法加载器是一个带参数的命令行程序,其带的唯一参数是一个xml文件,具体用法是:

        AlgoRun.exe  xml文件。


       xml文件为一个算法参数配置文件,比如某个算法配置文件内容如下:

<?xml version="1.0" encoding="gb2312" standalone="no"?>
<RunConfig>    <!—统计算法配置  -->
<AlgoDll value="Algo.dll" />       <!--运行的算法库  -->
<ParaConfig>
<parameter value="E:\TestData\1.txt"/>  <!-- 输入文件 -->
<parameter value="0.65" />  <!-- 相关系数阈值 -->
   <parameter value="15" />  <!—迭代次数-->   
<parameter value="500" />  <!-- 特征点数 -->
</ParaConfig>
</RunConfig>

        然后自动化测试脚本可以写成这样:

AlgoRun.exe  algo1.xml
AlgoRun.exe  algo2.xml
AlgoRun.exe  algo3.xml

        这样可以在每日构建服务器上部署自动化测试的批处理脚本,每天晚上编译好最新的算法后运行算法自动化测试脚本,早上测试人员上班后就可以看到最新的测试输出了。如果要修改算法测试参数,只需要修改对应的xml文件即可。这样做的好处是充分利用服务器的计算资源和晚上的时间,测试人员只需要把精力放在分析处理结果的对错和精度方面。

posted on 2016-01-17 17:20  岚之山  阅读(152)  评论(0编辑  收藏  举报

导航