注册 / 登录

低成本实现系统接口测试--自动化、性能、持续集成&线上监控

分会场:  质量管理/智能运维/DevOps

分享时间: 2017年11月9日 - 12日

案例来源 :

案例讲师

九毫

大疆 测试开发工程师

笔名九毫,网络ID debugtalk。6年软件测试行业经历,先后就职于工业和信息化部电子第五研究所、阿里移动事业群(UC)、DJI大疆创新。在服务端性能测试、接口测试、持续集成、Android客户端性能等方面具有较多实践经验,当前在大疆互联网事业部负责测试开发方面的工作。

扫描二维码分享案例

所在软件研发中心介绍

大疆创新下属的互联网事业部,负责公司在互联网方向及IT领域的所有业务。

 

建议该分享案例适用范围:

初创型、成长期的公司和团队,基于HTTP协议类型的系统均适用。

 

为什么这个案例值得分享?

系统接口测试最佳工程实践的提炼,通用性强,投入成本低,可帮助绝大多数公司团队快速实现接口测试、性能测试、持续集成和线上监控的技术能力覆盖。 项目源码和文档全部开源,可供学习和参考。

 

 

案例简述

 

当前在大多数公司和项目中,都存在对系统接口进行自动化测试、性能测试、持续集成、线上监控的需求。但是,采用现有常规的方式都存在投入产出比低的问题,工具和技术栈多且杂,维护成本和学习成本居高不下。
针对这一普遍存在的痛点,我们探索出了一种低成本的最佳实践方案,并将其沉淀为一款开源的接口测试框架 ApiTestEngine。
ApiTestEngine的核心思想在于充分复用现有成熟的开源工具或框架,包括 Python Requests、Locust、allure、Jenkins等,在保障框架功能的丰富性和稳定性的同时,使用者的学习成本也降到了最低。
最终的效果是,项目组只需要针对系统的接口采用YAML或JSON格式维护一套脚本,即可同时满足接口自动化测试、接口性能测试、接口持续集成和线上监控的目的,投入产出比极高。

 

案例目标

 

当前普遍采用的接口测试方案都存在投入产出比低的问题,工具和技术栈多且杂,维护成本和学习成本居高不下。
项目组只需要针对系统的接口采用YAML或JSON格式维护一套脚本(格式简洁并且高度统一,便于编写和维护),即可同时满足接口自动化测试、接口性能测试、接口持续集成和线上监控的目的,投入产出比达到最高。

 

成功(或教训)要点

 

充分复用并整合现有成熟的开源工具和框架,将最佳工程实践以框架代码的形式进行沉淀。框架开发过程全程开源,在帮助其它公司解决类似痛点的同时,也接收到了大量的建议和bug反馈(以及PR),充分发挥了社区了力量,解决了框架开发人力不足的问题,也避免了闭门造车。

 

案例ROI分析

 

(1)解决了公司内部大多数项目存在的持续集成闭环缺失的问题;
(2)在项目中开展实施接口测试极其简单,对人员能力的要求也降到了最低,即使是经验不足的人员,上手也极快,并且编写出的自动化测试用例也都规范统一,不会出现难以维护的问题;
(3)只需要编写维护一套脚本,即可同时实现接口自动化测试、接口性能测试、接口持续集成和线上监控的目的,测试人力和时间成本大大降低,投入产出比极高。

 

案例启示

 

充分拥抱开源,发挥社区的力量。

 

案例在团队中的意义

 

系统接口测试最佳工程实践的提炼,通用性强,投入成本低,可帮助绝大多数公司团队快速实现接口测试、性能测试、持续集成和线上监控的技术能力覆盖。
项目源码和文档全部开源,可供学习和参考。