微服务测试—接口自动化测试

微服务测试—接口自动化测试

    • 一、微服务
    • 二、接口自动化测试框架
    • 三、接口自动化测试执行
    • 四、 接口自动化测试迭代

一、微服务

一、微服务的说明
定义:一种软件开发技术- 面向服务的体系结构(SOA)架构样式的一种变体,将应用程序构造为一组松散耦合的服务。在微服务体系结构中,服务是细粒度的,协议是轻量级的
简单的说:就是每个微服务项目都做自己份内的事情,然后通过网关系统不同系统直接的相互调用,可以实现不同项目之间的独立维护

二、微服务的测试
1.问题:针对微服务,测试需要测试的东西是什么,采用什么样的方法/技术/工具/语言进行测试,能否实现自动化测试?

2.注意:微服务的需求方:往往是开发
解答:
1.测试需要测试的是:微服务的架构、设计逻辑、设计的规则是否合理
2.测试更加具体的测试对象是:接口、数据库、规则、业务功能
3.采用的测试方法:走读代码、开发反串讲、接口测试、数据库的测试
4.测试的工具:postman(测试接口)、navicat(数据库的测试)、pycharm(代码走读)
5.可以实现接口自动化,使用自研的接口自动化项目+ci实现自动化测试项目+被测项目的自动化

二、接口自动化测试框架

1.项目的实现原理
数据驱动,使用脚本参数分离等思想,尽可能降低代码的耦合度,request+unittest+HTMLTestRunner+csv

2.项目的框架:
微服务测试—接口自动化测试_第1张图片
3.项目的说明:

1.config 配置文件
2.public 存放公共方法的目录
5.report 存放测试报告,目前使用html报告
6.test_case 执行测试用例的方法
7.test_case_data 用来存储我们的测试数据,目前使用csv管理测试用例
8.runner.py 主运行文件,运行后可以生成相应的测试报告

4.项目在ci上面如何进行自动化测试,可以具体查看.gitlab-ci.yml文件,还有被测项目的.gitlab-ci.yml文件

5.这个项目实现的功能:

1.get、post请求的api测试
2.多个请求之间参数的依赖的测试
3.请求url的参数化(get、post)
4.请求参数的随机取值
5.接口的少量的性能测试

三、接口自动化测试执行

1.这个项目的执行命令:
python runner.py + wk_router(被测试项目的名称) + http://111.230.46.224:12345(被测项目启动的地址)

2.测试过程中,最核心的就是:理解微服务项目的逻辑、需求、设计原理,梳理出测试点,确保项目关联的业务是正常的

3.难点:接口自动化保持和功能测试一起测试,上线;但是这也是趋势所需

4.这个项目的入门:必须走读项目代码,了解项目的整体设计思路,和具体的方法实现

四、 接口自动化测试迭代

1.后续的项目维护,核心的工作量就是:测试用例的设计、被测项目的逻辑/需求的梳理,偶尔需要优化代码来实现目前没有的功能

你可能感兴趣的:(接口测试的专栏)