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

针对大部分的B2B系统,通过后台接口,例如http等方式交互。传统的黑盒测试难以测试出系统的细节问题。但是在出现问题的情况下,通常会造成较大的损失。这一点小编深有感触。在了解交互接口的情况下,可以针对交互进行自动化测试,把控系统的运行状况。

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

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

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

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

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

优化资源配置

更好的利用无人值守时间

促进测试人员能力提升

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

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

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

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

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

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

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

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

4.系统结构

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

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

系统管理

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

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

平台管理

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

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

用例管理

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

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

监控管理

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

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

日志管理

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

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

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

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

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

针对被测系统的接口

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

针对被测系统的数据库

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

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

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180505G05C0R00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券