基于微服务的分布式自动化测试平台

一、项目背景

因公司项目包含服务器(tomcat、redis、dubbox、zookeeper)和客户端(android/ios/macos/windows),在测试中会使用Java/C++/OC/多种语言进行开发,增加了测试人员的技术要求,也增加了公司的成本,需要一款使用单一语言支持测试用例开发的框架,但开源框架中没有找到能够支撑以上需求的测试框架,所以参照webdriver的模式开发了适应公司项目的基于微服务的分布式自动化测试平台。

二、测试方向

 1、服务器端

  1)功能测试

      a)服务器单独模块插桩测试

      能Mock被测模块的上下游依赖模块,控制数据输入和检查数据输出。

      b)服务器模块间测试

      Mock客户端协议用以驱动服务器运行,控制数据输入和检查数据输出。

        2)性能测试

            a)单独模块性能

      复用功能测试模块插桩夹具,对单独模块加压。

       b)整体性能

     locust 或Jmeter

    2、客户端

  1)API功能测试

    提供Platform cross运行能力。

  2)UI功能测试

    Appnium或ATX

  3)性能测试

三、框架要求

    1、测试执行可横向扩展

    2、测试资源动态分配(测试资源主动注册)

    3、客户端测试库有platform cross能力,测试用例不依赖于客户端

    4、测试用例统一开发语言(Python)

    5、接口测试覆盖率动态可控(Pair)

    6、测试数据与测试用例分离

    7、框架控制命令无平台依赖性(json)

    8、支持服务器间,客户端与服务器间的协议测试(Rest/Websocket/etc..)

    9、支持CI/CD

四、架构图

原文地址:https://www.cnblogs.com/gavinliu1982/p/10517210.html