• 一种结合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:TestData1.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文件即可。这样做的好处是充分利用服务器的计算资源和晚上的时间,测试人员只需要把精力放在分析处理结果的对错和精度方面。

  • 相关阅读:
    Unity shader with lightmap
    清理数据库日志
    Sqlserver数据库还原一直显示“正在还原…”解决方法
    如何查看 SQL Server 执行的历史 SQL 语句记录?
    MYSQL 命令行大全 (简洁、明了、全面)
    C#Datatable导入sqlserver数据库中,三种常见,快捷的方法
    MongoDB下载页面
    等级保护和分级保护区别与联系
    等级保护和分级保护
    SQL2005EXPress自动备份
  • 原文地址:https://www.cnblogs.com/lanzhi/p/6469982.html
Copyright © 2020-2023  润新知