# auto_test-video_analysis_platform **Repository Path**: dianetian/auto_test-video_analysis_platform ## Basic Information - **Project Name**: auto_test-video_analysis_platform - **Description**: 针对视频分析平台,自动执行测试视频用例集,验证平台是否正常运行分析、是否存在误报或漏报。 - **Primary Language**: Python - **License**: Not specified - **Default Branch**: develop - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 1 - **Created**: 2019-09-27 - **Last Updated**: 2022-03-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # auto_test-video_analysis_platform #### 项目背景 随着版本不断迭代,视频分析平台支持的事件分析类型越来越多; 而在有限的测试时间内,很难在测试新增事件分析类型的功能的同时,还能回归测试原有事件分析类型的功能; 这时,迫切需要引入自动化测试,保证版本发布前所有事件分析类型的功能正确性,减少上线后原有功能出错的风险; #### 项目介绍 基于熟悉产品的基本实现,前期准备测试视频、画线区域信息、事件类型、预期结果等数据,通过测试脚本实现对测试用例数据的读取、执行和判断,实现自动化测试视频分析平台,验证平台是否对关注的事件类型是否正常分析且是否触发告警; #### TO YOU AND MYSELF 不同于其他自动化测试,目前该项目对视频分析平台的依赖较强,如不同视频分析平台访问的数据库的表结构、以及本身实现机制都不同; 该项目更希望传达的是,除了网络上流行的Web界面自动化测试、Web接口自动化测试等,还可根据实际工作,主动思考、发现就职公司的产品本身是否可实现自动化测试; #### 软件架构 unittest+ddt+HTMLTestRunner架构 其中,unittest是单元测试框架,ddt是数据驱动,BeautifulReport或HTMLTestRunner是生成更直观的测试报告模板; #### 依赖环境 1. Ubuntu 16.04 2. Python 3.7.0 - unittest - ddt - BeautifulReport or HTMLTestRunner - xlrd - pymysql 3. MySql 5.7.27 #### 使用说明 1. 克隆项目到本地 ``` git clone https://gitee.com/dianetian/auto_test-video_analysis_platform.git ``` 2. 安装项目依赖第三方库 ``` cd auto_test-video_analysis_platform/requirement python3 -m pip install -r requirement.txt ``` 3. 修改配置 ``` cd auto_test-video_analysis_platform/data vim test_data.ini [test] event_types # 列表类型,指定待测试的事件类型,如[11,24] case_level # 测试用例等级,指定测试级别——0表示冒烟测试、1表示回归测试 [server] db_ip # 数据库所在服务器的IP地址 db_username # 数据库登录用户名 db_password # 数据库登录用户密码 db_name # 数据库测试库 stream_server_port # 待测试视频分析平台的端口号 project_path # 待测试平台的项目主路径 test_video_dir_name # 测试视频的目录名 wrong_event_video_dir_name # 误报视频的目录名 model_verify_dir_name # 模型验证工具的目录名 [camera] unit_id # 摄像机第一级节点id sub_unit_id # 摄像机第二级节点id tree_name # 摄像机第一级节点名称 sub_tree_name # 摄像机第二级节点名称 ip # 摄像机IP地址 port # 摄像机端口号 username # 登录摄像机用户名 password # 登录摄像机用户密码 ``` 4. 运行该项目,进行视频分析平台的自动化测试 ``` cd auto_test-video_analysis_platform/ python3 run_test.py ``` #### 待优化清单 - ~~代码待优化,虽有模块分级~~ (完成 测试模块与业务隔离) - ~~添加对每个测试视频的case_level,测试人员可根据实际需求执行不同测试级别的自动化测试~~(完成 0表示冒烟测试、1表示回归测试)