2013年完成了兼容性测试平台
前端针对性环境,发现属于你的前端浏览器!
公司内首款解决前端兼容性多浏览器环境的公共平台!
可以非常方便的为前端需求提供服务,一起解决前端兼容性环境的统一问题! 立即使用 »
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测试