2013年回顾和2014年目标

2013年完成了兼容性测试平台

前端针对性环境,发现属于你的前端浏览器!
公司内首款解决前端兼容性多浏览器环境的公共平台!
可以非常方便的为前端需求提供服务,一起解决前端兼容性环境的统一问题!  立即使用 »


  • 秒懂你的需求 — 登陆域账号后,选择你需要的浏览器环境,后端服务器自动为 你创建属于你的操作系统环境,5s内解读你对浏览器的需求,无需负责的选择和安装,记录你的操作日志,越用越懂你。
  • 汇集热门浏览器 — 首页dashboard定期动态更新所有浏览器市场份额, 为您在调试前端页面时提供参考。
    从此你就是最贴近市场的前端人士!
  • 支持同时在线 — 后台部署多台服务器,前台实时负载均衡,可动态横向Scale Out (现在人穷志短服务器资
    源数量很少,大家留情轻拍),支持多人同时在线,前台可以看到现在的用户情况哦~
  • 实时监控平台动态 --- 平台所属服务器系统资源的占用,网络情况,调度服务负载等等 都会有监控报警,我
    们的运维人员会实时处理故障以保证平台的平稳运行

    2、性能测试数据收集工具

    在性能测试中,监控被测试服务器的性能指标是个重要的工作,包括CPU/Memory/IO/Network,但大多数人估计都是直接在被测试服务器的运行监控程序。我们开始也是这样做的。

    但这样做带来一个问题是,测试人员需要在每台被测试服务器上部署监控程序,增加了部署的工作量,而且经常因为python版本的问题,有些模块不兼容,或者第三方模块需要再次安装。而该工具是python编写最后编译成了exe程序所以就算没有python环境照样可以正常运行。

    工具介绍:

    能远程同时监控多台被测试服务器,这样测试人员就不需要在每个被测试机器安装监控工具了,并且能够同时回收这些数据,这样就不需要测试人员到每台服务器上取测试数据,可以指定下载的文件


    3、工具开发背景:

           由于crm系统没有监控系统,线上出现了问题不能第一时间得知,因此专门开发监控工具
        工具功能:
          该脚本可以定期分析erro log,如果有新的erro信息会及时发短信通知相关人员,需要开发人员需要将erro日志打开,已经在crm(中小、代理商管理平台、ka、渠道、客服、学习、市场)系统中使用

    #!/bin/bash
    ErroLogPath="/data/log/ka/error.log" #erro log的路径
    Date=`date '+%Y-%m-%d'`
    StartTime=`env LANG=en_US.UTF-8 date -d ' -5 minutes'|awk '{print $4}'`
    EndTime=` env LANG=en_US.UTF-8 date -d   ' minutes' |awk '{print $4}'`


    #echo $Date
    #echo $EndTime
    #echo $StartTime


    #获取满足条件的erro信息
    MSG=` cat $ErroLogPath |grep $Year|awk -v date1=$EndTime -v date2=$StartTime  '{if ($4>=date2 && $4<=date1) print}'|sed 's/.*Info://g'|sed 's/ /,/g'`


    if [ -n  "$MSG" ] ;then
         #要发送人的手机号
         for Ph_num in 13810697234 
            do
              for utf_msg in $MSG
                do
                    #将信息转成gbk的编码
                    gbk_msg=`echo $utf_msg |iconv -f UTF-8 -t GBK`
                    #echo $gbk_msg
                    #发送消息
                    /usr/bin/curl --data "mobiles=$Ph_num&msg=$gbk_msg"  "http://alarms.ops.qihoo.net:8360/intfs/sms_intf"
                    sleep 5
                done
        done
    fi


    4、XHPROF的学习和优化

    <?php


    include_once "/usr/local/apache2/htdocs/xhprof_lib/utils/xhprof_lib.php";
    include_once "/usr/local/apache2/htdocs/xhprof_lib/utils/xhprof_runs.php";


    define('XHPROF_ENABLE',true); //是否开启监控
    define('XHPROF_LOG_DATA','/usr/local/apache2/htdocs/xhprof/');//log存放路径 
    define('PERCENT',2);//记录日志的概率
    define('PAGEVIEW',true);//是否开启页面监控


    $percent= mt_rand(1,PERCENT);
    class performace
    {




       static public function init()
        {
            global $percent;
            if(XHPROF_ENABLE == true && function_exists('xhprof_enable')){
                if($percent == 1){
                   // register_shutdown_function('performace::save');
                    xhprof_enable(XHPROF_FLAGS_CPU + XHPROF_FLAGS_MEMORY+XHPROF_FLAGS_NO_BUILTINS);
                }
            }
        }


        static public function save()
        {
            global $percent;
            $xhprof_data = xhprof_disable();
            $xhprof_runs = new XHProfRuns_Default();
            if(is_array($xhprof_data))
            {
              foreach($xhprof_data as $key=>$PerformaceInfo)
              {
                $mu = $PerformaceInfo['mu']; //内存
                $wt = $PerformaceInfo['wt']; //响应时间
                $ct = $PerformaceInfo['ct']; //调用次数
                $cpu= $PerformaceInfo['cpu']; //cpu
                $wt = $wt/1000;
                 if($ct > 0 ){
                       performace::log("$key,$mu,$wt,$ct,$cpu");
                 }
             }
            }
           if($percent == 1 && PAGEVIEW == true ){
               $run_id = $xhprof_runs->save_run($xhprof_data, "sourcejoy");
               echo "<a href='/xhprof_html/index.php?run=".$run_id."&source=sourcejoy'>查看结果</a>";
           }
        }


        static public function log($msg)
        {   $hostname=gethostbyaddr("127.0.0.1");
            $sp_hostname=(explode('.',$hostname));
            $hn=$sp_hostname[0]."-".$sp_hostname[1]."-".$sp_hostname[2];
            $filename = XHPROF_LOG_DATA.$hn.'-'.'xhprof-'.date('Y-m-d').'.log';
            $current = time() ;
            #$uri = $_SERVER['REQUEST_URI'];
            $LogContent = $current.","."$msg\n";
            file_put_contents($filename,$LogContent, FILE_APPEND);
        }
    }

    ?>



    2014年:

    a、完成性能自动化平台的搭建

         1、可以自动生成一些简单的脚本

          2、可以支持负责的jmeter脚本

          3、可以自动收集测试结果并且保存测试场景和结果方便多次性能测试结果的对比

          4、可以定制不同机房的负载机器(支持分布式)

          5、自动收集性能测试服务器的各种性能指标(如 cpu、内存、io、load并且超出阀值自动报警)

          6、php性能瓶颈的定位,至少能定位到较慢class或者function

          7、db性能瓶颈的定位,如自动分析慢查询日志并且自动分析原因

    b、使用python实现一套简单的自动化接口测试的工具

        1、包括常用的各种签名算法工具,如md5 base64、rc4等

        2、支持post、get方法的选择

        3、导入excel表的测试用例自动分析和运行,如果用例fail自动标注

        4、支持将返回结果抓回并且写入测试结果


    c、尝试写一套简单的android兼容测试环境(web形式管理可以尝试)

       1、可以参考浏览器兼容环境来模拟一套

       2、通过远程连接的方式进行

       3、可以远程批量执行monkey test测试


     


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值