测试需求:

本地图片上传到ftp服务器里和另外两台不同算法比对服务器进行比对,得出漏检和误检结果;这实际属于功能测试范畴。

测试思路:

第一种方法:使用实际场景的摄像机抓拍图片上传到服务器,用录屏软件录制client程序回头人工数出漏检误检张数,这种方式费时费力;

第二种方法,用模拟器模拟实际场景摄像机抓拍的图片,用jmeter上传图片到ftp服务器,获取测试日志中比对数据,方便快捷;

测试数据准备:

比对服务器中图片:标准清晰人脸数5千,1万,5万,10万张不同人脸;

本地图片:几组不同的人脸图片,结合实际场景抓拍的人脸图片

测试工具:jmeter和shell正则提取

测试前提:服务器部署完成

测试步骤:

第一步骤:写上传FTP脚本

ftp上传脚本写完了,就是这么简单。

其中这里面的name.dat为每组图片数据的文件名,获取目录中所有文件名方法为:

name.dat生成方法: ll -R >name.dat

本地图片上传到ftp服务器

第二步骤:获取对比日志信息

  1. killall java——杀进程;
  2. rm /usr/logs/test/*——删除程序日志;
  3. 运行jmeter脚本,模拟设备上传图片并比对,生成日志;
  4. 布控任务设置比对阀值为10%(根据实际情况而定);
  5. root@Test:/usr/logs/test#grep "strMatchFaces="(关键字) alarm(日志名) > /home/test/witest/***70_strMatchFaces.txt,日志比对提取;
  6. 从服务器获取文件到本地测试机:sftp> get ***70_strMatchFaces.txt;
  7. root@ranxf:/work/test/gs_face#sed 's/^.*=,,//' 70_strMatchFaces.txt | sed 's/,,.*$//' > 70_result.txt 得出比对结果(采用正则表达式)。
  8. 得出测试结果,半自动化测试优于人工测试,测试脚本可复用。

为了便于理解上面日志获取方法

解释:grep "strMatchFaces="(关键字) alarm获取日志中所有含这个关键字的一行。

解释:shell正则,sed 's/^.*=,,//' 70_strMatchFaces.txt | sed 's/,,.*$//' > 70_result.txt获取下图日志中所有红框标识部分。

本地多张图片采用jmeter上传到ftp服务器的方法和获取服务器日志中某些关键字的基本方法的更多相关文章

  1. Jmeter上传文件

    Jmeter上传文件 一.Fiddler抓包获取表单信息 操作被测系统,上传文件,Fiddler抓包获取提交表单信息如下:

  2. 【应用】:shell crontab定时生成oracle表的数据到txt文件,并上传到ftp

    一.本人环境描述      1.oracle服务端装在win7 32位上,oracle版本为10.2.0.1.0      2.Linux为centos6.5 32位,安装在Oracle VM Vir ...

  3. Jmeter 上传下载文件

    最近很多同学都在问jmeter上传.下载文件的脚本怎么做,要压测上传.下载文件的功能,脚本怎么做,网上查了都说的很含糊,这次呢,咱们就好好的把jmeter的上传下载文件好好缕缕,都整明白了,怎么个过程 ...

  4. 基于SqlSugar的开发框架循序渐进介绍(7)-- 在文件上传模块中采用选项模式【Options】处理常规上传和FTP文件上传

    在基于SqlSugar的开发框架的服务层中处理文件上传的时候,我们一般有两种处理方式,一种是常规的把文件存储在本地文件系统中,一种是通过FTP方式存储到指定的FTP服务器上.这种处理应该由程序进行配置 ...

  5. Linux 本地文件或文件夹上传服务器

    Linux 本地文件或文件夹上传服务器 一.权限设置 本地文件或文件夹上传服务器,你首先需要获取到root权限: 二.上传方式 上传方式有两种 : 1.通过 FTP 客户端上传文件或文件夹: 2.通过 ...

  6. git使用之如何将github库下载到本地与如何将代码上传github

    git使用之如何将github库下载到本地与如何将代码上传github ---------------------------------------------------------------- ...

  7. Jmeter上传附件EXCEL

    1.通过对上传附件接口进行抓包,获取的信息如下: 2.在jmeter脚本中添加http请求,并添加http请求头信息如下: 3.在http请求中添加上传附件的内容如下,由于我上传的是excel,所以M ...

  8. 将本地的一个新项目上传到GitHub上新建的仓库中去

    转载: 如何将本地的一个新项目上传到GitHub上新建的仓库中去 踩过的坑: 1.在git push时报错 error: RPC failed; curl 56 SSL read: error:000 ...

  9. 使用Git进行本地提交后,未上传提交,却不小心删除了本地提交或提交所在分支,怎么办?????

    使用Git进行本地提交后,未上传提交,却不小心删除了本地提交或提交所在分支,怎么办????? 不要紧!!!! 可以使用git reflog命令来帮助恢复删除的本地提交! 运行以下命令你就知道怎么用了! ...

随机推荐

  1. Linux 文件夹含义(转)

    1./bin :获得最小的系统可操作性所需要的命令 2./boot :内核和加载内核所需的文件 3./dev :终端.磁盘.调制解调器等的设备项 4./etc :关键的启动文件和配置文件 5./hom ...

  2. Git-fatal: unable to access 'xxx' : Could not resolve host: xxx

    解决办法:(在知乎上找到 确实好用) 1.查询代理 git config --global http.proxy 2.取消代理设置 git config --global --unset http.p ...

  3. android EditText自动弹出和自动关闭软键盘

    程序进入某个activity直接弹出软键盘,不能直接在OnCreate中设置,必须等View绘制事件完毕才可以弹出,需要用到Timer辅助实现,如果要实现输入的功能,必须让EditText获得焦点. ...

  4. MongoDB 聚合结果大小限制

    The aggregate command can return either a cursor or store the results in a collection. When returnin ...

  5. python - 用户交互/数据类型/格式化输出/运算符/流程控制单双多分支

    python:用户交互: 等用户输入,做反应: username=input("username:")password=input("password:")pr ...

  6. Spring的IOC底层实现

    IOC的底层实现 续图:

  7. understand EntityManager.joinTransaction()

    Join Transaction The EntityManager.joinTransaction() API allows an application managed EntityManager ...

  8. mysql 迁移数据

    一.导出导入所有数据库的数据 1.导出 mysqldump -u root -p123456 --all-databases > all.sql 2.导入 mysql -u root -p123 ...

  9. UILocalNotification 的使用

    @IBAction func sendNotification(sender: AnyObject) { var userInfo = Dictionary<String,String>( ...

  10. ambari rest api (三)

    1.获取指定主机指定组件的信息列表 http://ip:8080/api/v1/clusters/hdp_dev/hosts/hadoop003.edcs.org/host_components/DA ...