本地多张图片采用jmeter上传到ftp服务器的方法和获取服务器日志中某些关键字的基本方法
测试需求:
本地图片上传到ftp服务器里和另外两台不同算法比对服务器进行比对,得出漏检和误检结果;这实际属于功能测试范畴。
测试思路:
第一种方法:使用实际场景的摄像机抓拍图片上传到服务器,用录屏软件录制client程序回头人工数出漏检误检张数,这种方式费时费力;
第二种方法,用模拟器模拟实际场景摄像机抓拍的图片,用jmeter上传图片到ftp服务器,获取测试日志中比对数据,方便快捷;
测试数据准备:
比对服务器中图片:标准清晰人脸数5千,1万,5万,10万张不同人脸;
本地图片:几组不同的人脸图片,结合实际场景抓拍的人脸图片
测试工具:jmeter和shell正则提取
测试前提:服务器部署完成
测试步骤:
第一步骤:写上传FTP脚本
ftp上传脚本写完了,就是这么简单。
其中这里面的name.dat为每组图片数据的文件名,获取目录中所有文件名方法为:
name.dat生成方法: ll -R >name.dat
本地图片上传到ftp服务器
第二步骤:获取对比日志信息
- killall java——杀进程;
- rm /usr/logs/test/*——删除程序日志;
- 运行jmeter脚本,模拟设备上传图片并比对,生成日志;
- 布控任务设置比对阀值为10%(根据实际情况而定);
- root@Test:/usr/logs/test#grep "strMatchFaces="(关键字) alarm(日志名) > /home/test/witest/***70_strMatchFaces.txt,日志比对提取;
- 从服务器获取文件到本地测试机:sftp> get ***70_strMatchFaces.txt;
- root@ranxf:/work/test/gs_face#sed 's/^.*=,,//' 70_strMatchFaces.txt | sed 's/,,.*$//' > 70_result.txt 得出比对结果(采用正则表达式)。
- 得出测试结果,半自动化测试优于人工测试,测试脚本可复用。
为了便于理解上面日志获取方法
解释:grep "strMatchFaces="(关键字) alarm获取日志中所有含这个关键字的一行。
解释:shell正则,sed 's/^.*=,,//' 70_strMatchFaces.txt | sed 's/,,.*$//' > 70_result.txt获取下图日志中所有红框标识部分。