论文部分内容阅读
视频会议为异地企业、部门、用户提供语音、影像、文件等面对面的沟通服务,能够有效提高交流效率,降低企业运作成本。2020年新冠肺炎疫情爆发期间,远程办公、居家教学等使视频会议的使用频率及时间大幅增加,用户数量呈指数级上升,这大大推动了视频会议发展。随着视频会议广泛应用在日常生活中,视频会议的安全性、稳定性、可靠性、实时性、大容量等特性越来越受到人们的重视。如何通过稳定高效的自动化测试来评估视频会议性能质量,成为当前业界面临的关键挑战。为此,本文在研究视频会议系统大容量性能指标的基础上,设计并实现了一种自动化测试系统。主要工作如下:(1)设计与实现测试节点的管控分离。本文将管理和控制相分离的思想运用至分布式测试节点的部署中,允许测试人员通过测试系统对测试节点进行统一管理和规划。该模块通过Ganymed-SSH2连接装有测试节点机的Linux系统实现测试执行机的一键启动、禁用和校准功能;优化JMeter工具中的Distributed Runner类,实现对测试节点的权重个性化配置。(2)设计与实现测试脚本的自动执行。针对不同应用场景,脚本执行模式分为两种:非GUI脚本测试模式执行JMeter命令进行测试,适用于接口测试和简单性能测试;API内核测试模式通过优化JMeter核心接口JMeter Engine支持实时监控、多线程控制等,适用于复杂性能测试。系统集成定时任务框架Quartz,利用Cron插件设置测试时间,最终实现自动化测试。(3)设计与实现测试报告的自动生成。本文通过优化JMeter测试报告生成类Report Generator,实现多线程自动生成HTML测试报告,方便测试人员更为直观地分析测试结果。系统通过配置邮件发送工具类Java Mail Sender将测试结果第一时间自动发送到测试人员的邮箱,保证了整体测试进度。本文根据视频会议的测试需求,通过使用构建管理工具Maven和开发框架Spring Boot,优化测试驱动工具JMeter,研发了面向视频会议的大容量自动化测试系统。在实际投入视频会议系统性能的测试中,该系统能较好辅助测试人员统一管理测试资源、及时定位被测系统性能问题,经检验达到预期目标。