针对B2B平台的接口自动化测试系统

文章来源:公众号-智能化IT系统。

针对大部分的B2B系统,通过后台接口,例如http等方式交互。传统的黑盒测试难以测试出系统的细节问题。在了解交互接口的情况下,可以针对交互进行自动化测试,把控系统的运行状况。

本文介绍了自动化测试系统的一个案例,针对支付平台,自动化测试系统作为一个商户的角色,进行交互接口测试,并且从返回结果,以及业务系统的DB两个方面进行验证。

1. 自动化测试系统的意义

在预设条件下运行系统或应用程序,评估运行结果,预先条件应包括正常条件和异常条件。主要意义如下:

  • 避免重复工作,提高测试效率

  • 保证每次测试地一致性和可重复性

  • 优化资源配置

  • 更好的利用无人值守时间

  • 促进测试人员能力提升

2. 测试人员需要掌握的技能

一般测试行业分两个方向,测试开发以及系统测试。测试开发类似于开发自动化测试平台,而系统测试的主要任务是开发自动化测试的脚本,在本案例中,主要是需要模拟请求,并且验证结果。需要如下:

  • 基本的脚本语言,例如python,shell,本案例使用的是python

  • 熟悉被测系统的接口协议,以及接口内容

  • 熟悉被测系统的数据库,以及需要验证的数据对应的数据表以及字段

3. 自动化测试框架以及流程

自动化测试的性能指标要求较低,毕竟自动化测试不是无时无刻进行,所以后台的管理站点以及数据库偏轻量级,本案例采用java开发管理后台,mysql作为数据库存储用例,python作为自动化测试的脚本,从mysql数据库中读取用例并执行,并且将用例的执行结果存储在mysql,管理者通过管理后台查看。

对应的流程刚才已经说明,如下图:

针对B2B平台的接口自动化测试系统_第1张图片

 

4. 系统结构

结构如下图。自动化测试在下图的左半部分。

针对B2B平台的接口自动化测试系统_第2张图片

自动化测试管理后台”一共有五大核心功能模块,分为是:

  • 系统管理

共分为:用户管理、权限类型管理、预测类型管理、脚本方法列表、日志类型配置等五个子模块;

该模块主要用于配置系统的用户、权限和预测类型、脚本方法、日志的类型的基本配置。

  • 平台管理

共分为:平台管理列表、接口配置列表、请求模块列表、校验模块列表等四个子模块;

该模块主要用于项目平台的配置、对应平台的下单接口名称配置、接口的请求地址详情配置和通用校验脚本的配置。

  • 用例管理

共分为:用例管理平台一个子模块;

该模块主要用于配置所有的测试用例、以及用例的功能描述、执行的模块步骤以及对应模块的预测结果。

  • 监控管理

共分为:执行详情列表、用例平台统计、用例接口统计等三个子模块;

该模块主要用于查看具体用例的执行详情以及根据平台、用例的用例执行统计数据。

  • 日志管理

共分为:系统日志等一个子模块;

该模块主要用于查看后台的详细操作日志。

5. 自动化测试的用例构成

针对B2B平台的接口自动化测试系统_第3张图片

6. 自动化测试的用例对应的预期结果

上文已经提到,该案例主要采用两种方式进行自动化测试

  • 针对被测系统的接口

主要是在系统构造了请求后,针对返回的信息,进行判定,是否和预期结果一致,主要通过是否包含特定字段方式,通过正则表达式等均可实现。

  • 针对被测系统的数据库

 通过系统数据库的检测,判断系统是否针对请求正常的运转,通过写SQL语句进行判定。

不同的项目需求不一样,所有的技术和方案都会有不同。本文主要是通过一个案例,来打开思路,说明自动化测试系统的价值,以及在B2B平台应用的可行性。进一步了解请关注公众号。

———————————————————

公众号-智能化IT系统。每周都有技术文章推送,包括原创技术干货,以及技术工作的心得分享。扫描下方关注。

针对B2B平台的接口自动化测试系统_第4张图片

你可能感兴趣的:(AI相关,系统智能化)