团队内部使用的 API 自动测试化工具,贴出来,抛砖引玉。


abao.png

为了提高测试,工程师需要对自己提交的产物进行测试,一般是单元测试、集成测试。
之后提交物流转到 QA 团队,QA 团队根据需求描述对提交物进行测试,
这个测试过程非常耗费人力。
尤其是当开发交付的质量不高时候,很可能自身没有经过测试,会遇到主干流程都无法进行的状况。

如果在 QA 人工介入测试之前,就进行一轮黑盒自动化集成测试,可以大大地提高 QA 团队的工作效率。
基于这样的判断,我们团队花了一些时间,将基于 API 的自动化测试系统搭建起来。
现在将这个系统的选型和运行状况拎出来,和大家分享。

确认测试范围、目标和意义

特性需求

选型一个系统,不是看市面上有哪些可以供选择,而是看我需要什么样特性的一款产品。
如果自己的需求和市面上的现成产品差异过大,也可以考虑自己定制。

挑选出来的选型和评价

这部分工作,是和团队的其他成员一起去看的,大家各自分头寻找一些产品,然后进行评测,给出结论。

经过讨论,我们将重点关注放在这么几款下面:

搭建 demo,进行试用

在确定选用那几款产品之后,就可以集中精力在几款候选者里面。搭建相应的环境,对他们进行实际测试。

supertest:

pyresettest:

hippie-swagger:

robotframework:

使用感觉

经过一个季度的试用,我们基于 pyresttest 的项目 abao 运行较稳定。
尽量在工程师提交代码之后,运行一次,从而可以在早期发现问题。

由于是基于 Python 的源代码,我们还给 pyresttest 开发了几款插件:

在和 CI 的配合方面,我们在 Jinkins 搭建了 abao / abao-master 项目,
前者响应每次 Push 请求,都会自动构建一遍,后者每天凌晨会将 master 运行一遍。

感谢项目贡献者:

project  : abao
 repo age : 5 months
 active   : 32 days
 commits  : 109
 authors  :
    39  Chery.Peng  35.8%
    33  3D          30.3%
    17  yanqi.chen  15.6%
    11  橙子        10.1%
     7  fiona66     6.4%
     2  雪糕        1.8%

参考文档


PS:我们还在招人哦。

原文地址:https://blog.alswl.com/2016/08/api-integration-test/


↙↙↙阅读原文可查看相关链接,并与作者交流