米哈游-平台部

基于 HttpRunner 搭建接口自动化测试体系

公司(业务)介绍

米哈游成立于 2011 年,致力于为用户提供美好的、超出预期的产品与内容。米哈游陆续推出了多款高品质人气产品,包括《崩坏学园2》、《崩坏3》、《未定事件簿》、《原神》,动态桌面软件《人工桌面》以及社区产品《米游社》,并围绕原创IP打造了动画、漫画、音乐、小说及周边等多元产品。秉承着「技术宅拯救世界」的使命,米哈游始终致力于技术研发、探索前沿科技,在卡通渲染、人工智能、云游戏技术等领域积累了领先的技术能力。

案例提供人:平台部-测试团队

为什么选择 HttpRunner

背景

整个部门没有系统性的开展接口自动化测试,都是一些比较零散的个人项目,框架不同、风格不同,随着规模的扩大,无法有效的管理 case、统计以及评估产出收益比。

需求

希望搭建一套完善的接口自动化体系以便于更好的开展质量保障工作。

对测试框架的期望包括:

  • 框架能统一用例格式
  • 提供接入 CI 和巡检的能力
  • 可以对执行的结果进行持久化存储用来进行分析
  • 同时希望易于上手不需要很高的学习成本
  • 框架要灵活、扩展性高、最好有一定的受众方便交流

这样看下来 HttpRunner 似乎是不二之选。

HttpRunner 的使用情况

二次开发

  • 小伙伴基于 HttpRunner v3.1.6 进行二次开发,定制化解决特定的使用场景
  • 目前平台部门以 HttpRunner 作为用例执行引擎搭建了一个接口自动化的 Web 服务,用来满足调试用例、运行用例、定时任务执行用例、开发提交代码通过 CI 自动触发对应模块的测试用例,执行的结果会通过企业微信进行通知、告警,且内部制定了一套完整的工作流
  • 接入了代码覆盖率,更好的衡量代码质量以及自动化 case 的覆盖率

使用场景

  • 测试阶段通过手动调用运行用例服务、CI 触发进行测试环境辅助回归验证
  • 上线之后通过 CI 触发、定时任务覆盖测试环境,线上环境则只通过定时任务进行巡检
  • 平台部门的大部分业务基本都在使用中,接口自动化测试用例的数量 2000+,每分钟都会有 case 在运行

收益

  • 明显减少回归人力成本
  • 通过机器的巡检发现一些偶现的问题
  • 测试环境:能够第一时间发现服务的异常(比如配置问题、环境依赖问题、明显的代码逻辑问题),且自动通知相关开发同学进行处理
  • 线上环境:通过高频率的巡检 case 检查服务的运行状态,第一时间通报异常

些许展望

  • 对以上的功能进行完善以及补充,同时探索更多的可能性,比如结合 HttpRunner 的性能测试能力进行实战
  • 最后希望 HttpRunner 做大做强哈哈~

私货

借助本次案例分享的机会,期待大家加入米哈游,如下是简历投递二维码。