51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

测试开发精英班,通向高级软件测试工程师【好消息】企业内训服务上线啦!项目为王,自动化测试提升加速器 !横扫BAT,Python全栈测试开发技能大全
【第118期】:大厂测试平台建设与人才标准参与调查问卷 缔造行业趋势 月薪15K+的测试开发必备技能? 【活动】为视频UP主打CALL,互动领福利!
查看: 3510|回复: 2

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

[复制链接]

该用户从未签到

发表于 2019-4-4 15:50:02 | 显示全部楼层 |阅读模式
针对大部分的B2B系统,通过后台接口,例如http等方式交互。传统的黑盒测试难以测试出系统的细节问题。在了解交互接口的情况下,可以针对交互进行自动化测试,把控系统的运行状况。

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

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

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

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

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

优化资源配置

更好的利用无人值守时间

促进测试人员能力提升

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

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

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

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

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

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

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

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


4. 系统结构

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

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


系统管理


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


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


平台管理


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


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


用例管理


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


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


监控管理


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


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


日志管理


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


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


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

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


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


针对被测系统的接口


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


针对被测系统的数据库


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


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



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

x
回复

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2021-3-3 06:55 , Processed in 0.058771 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2021 Comsenz Inc.

快速回复 返回顶部 返回列表