APP下载

通用软件接口测试平台的设计与实现

2019-03-30张悦

数字技术与应用 2019年12期
关键词:自动化测试

张悦

摘要:如今互联网产品迭代的速度越来越快,产品质量尤为重要,软件接口是保障产品质量的基础。本文通过java语言结合Spring boot与框架Vue.js框架,设计实现通用软件接口测试平台。平台实现了对项目、产品、接口信息的管理,平台集成了Test NG测试框架,实现了接口自动化测试的功能。当对接口信息进行操作时,会触发系统的消息提醒功能,使得开发与测试人员成员及时掌握最新的接口信息。

关键词:测试平台;接口测试;自动化测试

中图分类号:TP274 文献标识码:A 文章编号:1007-9416(2019)12-0145-02

0 引言

随着互联网产品迭代速度的加快,产品的质量变得尤为重要。目前大多数项目都采用前后端分离的模式,项目中的接口都有着非常重要的作用。接口的URL和传递的参数格式会根据产品需求进行改变。接口的信息通常用word文档进行管理,无法记录接口的操作历史,开发人员查阅不方便。手动测试以及UI测试不能完全保障产品的稳定性,接口测试相比于UI(User Interface)自动化测试更加的高效,性价比更高。通用软件接口测试平台可以实现对项目中使用的接口进行管理,并集成接口测试框架实现接口的自动化测试。

1 平台框架设计

1.1 Spring boot框架

Spring boot框架是基于Spring的框架的微服务框架。Spring是Rod Johnson提出的一個控制反转(IoC)以及面向切面(AOP)的容器框架,为了解决Spring框架繁琐的配置,催生出Spring boot框架。Spring boot框架能够简化配置文件,快速构建web应用,内置Tomcat,无需打包部署,直接运行[1]。

1.2 Vue.js框架

随着前端技术迅速发展,前端框架层出不穷,Vue.js是目前流行的用于构建用户界面的渐进式框架。该框架通过可被调用的组件来构造页面。Vue.js简单易学,与Element UI组件结合,可快速开发出美观的界面[2]。因此,使用Vue.js框架开发平台前端部分。

1.3 Test NG框架

Test NG是一个开源的自动化测试框架,其消除了大多数框架的限制,使测试人员能够方便的编写测试案例。Test NG可以并行执行测试方法、测试类[3],相比于其他测试框架,Test NG有着明显的优势。

1.4 软件需求

在软件接口测试过程中,可使用的接口测试工具较多,多数测试工具只是对单一的接口进行测试,且测试报告查看不是很直观和方便。因此,开发一个高效、易用的通用软件接口测试平台可以节省测试资源,提高测试效率。

平台功能需求如下:(1)具有通用性、灵活性等特点;(2)易于管理接口,便于维护;(3)具有接口自动化测试功能;(4)具有生成与查看测试报告功能。

2 平台功能分析

2.1 架构设计

通用软件接口测试平台采用前后端分离的模式。后端模块使用当前流行的Spring boot+Mybatis框架进行开发,前端模块采用Vue.js框架进行开发,接口自动化测试框架使用Java+Http Client+Test NG,基于Maven部署项目和管理依赖包,采用Jenkins持续集成构建项目,使用GitHub对项目版本进行控制管理。

2.2 功能分析

(1)项目管理模块。提供对项目及产品模块的管理,包括名称、状态等配置。(2)接口管理模块。提供对接口信息的管理。可配置接口信息,包括接口URL、请求参数信息、预期响应参数等,模块如图1所示。(3)接口测试用例模块。提供测试集、测试用例的管理。包括管理测试集,测试集再关联添加测试用例。创建接口测试用例时,将接口信息模块的数据之间从数据库中引入,更便于用例的编写。(4)接口测试管理模块。通过前端添加的测试用例数据,经过一系列封装和处理之后,构造接口请求的URL,使用Http Client工具发送URL来请求Web应用,校验返回相应的数据,检验接口是否有效。(5)报告管理模块。测试报告以Html的形式生成在test-output目录下,使用Report NG框架优化测试报告,相比于Test NG生成的报告,Report NG生成测试报告的更加的美观、易读。报告包含通过/失败的用例统计数、测试结果等。(6)消息通知模块。用户操作已有的接口信息时,包括编辑、删除接口信息,平台将记录用户操作后的结果,并以文本的形式,通过站内信的形式通知相关用户,消息通知流程如图2所示。

2.3 测试分析

未在平台进行接口管理时,只能通过word进行管理接口,消耗开发人员大量时间、精力,同时,测试人员需等开发人员完善好接口文档后才能进行接口测试案例的编写,再运用接口测试工具进行测试,这将消耗测试人员大量的时间。使用平台后,测试人员可与开发人员同步进行工作,对已完善好信息的一部分接口先进行测试用例的编写,进行接口测试,测试时间更是有了显著的缩短,执行完测试用例后,查看测试报告,在功能测试前解决接口方面的问题,提高了产品提测后的质量,保障了上线的质量。

3 结语

本文针对接口信息管理不规范、接口测试流程复杂等问题设计且实现了通用软件接口测试平台。首先介绍了开发接口测试平台的框架设计,然后着重介绍了平台的设计与实现,最后介绍了使用平台后执行接口测试的情况,比较了使用平台执行测试用例与手动进行接口测试耗时的时间。通用软件接口测试平台对项目接口文档进行了规范化管理,减少了重复性的工作,提高了接口测试的效率,保障了软件的质量。

参考文献

[1] 王喜虎.基于Spring的接口测试环境智能配置管理组件的设计与实现[D].华南理工大学,2010.

[2] 尚潔.基于Django的测试工具平台的设计与实现[D].北京交通大学,2019.

[3] 蒋灵仙.基于Testng的Web接口测试的自动化框架设计与实现[D].浙江工业大学,2016.

Design and Implementation of  General Software Interface Test Platform

ZHANG Yue

(Soochow University,School of  Electronic and Information Engineer, Suzhou  Jiangsu  215006)

Abstract:Nowadays,the speed of Internet product iteration is faster and faster,product quality is particularly important,and software interface is the basis of ensuring product quality.In this thesis,a general software interface test platform is designed and implemented by java language combining spring boot and framework Vue.js.The platform realizes the management of project,module and interface information.The platform integrates the Test NG framework and realizes the function of interface automatic test.When the interface information is operated,it will trigger the message reminder function of the system,so that the developer and tester can grasp the latest interface information in time.

Key words:test platform;interface test;automation test

猜你喜欢

自动化测试
浅谈空调控制器自动化测试