張悅
摘要:如今互聯(lián)網(wǎng)產(chǎn)品迭代的速度越來越快,產(chǎn)品質(zhì)量尤為重要,軟件接口是保障產(chǎn)品質(zhì)量的基礎(chǔ)。本文通過java語言結(jié)合Spring boot與框架Vue.js框架,設(shè)計實現(xiàn)通用軟件接口測試平臺。平臺實現(xiàn)了對項目、產(chǎn)品、接口信息的管理,平臺集成了Test NG測試框架,實現(xiàn)了接口自動化測試的功能。當對接口信息進行操作時,會觸發(fā)系統(tǒng)的消息提醒功能,使得開發(fā)與測試人員成員及時掌握最新的接口信息。
關(guān)鍵詞:測試平臺;接口測試;自動化測試
中圖分類號:TP274 文獻標識碼:A 文章編號:1007-9416(2019)12-0145-02
0 引言
隨著互聯(lián)網(wǎng)產(chǎn)品迭代速度的加快,產(chǎn)品的質(zhì)量變得尤為重要。目前大多數(shù)項目都采用前后端分離的模式,項目中的接口都有著非常重要的作用。接口的URL和傳遞的參數(shù)格式會根據(jù)產(chǎn)品需求進行改變。接口的信息通常用word文檔進行管理,無法記錄接口的操作歷史,開發(fā)人員查閱不方便。手動測試以及UI測試不能完全保障產(chǎn)品的穩(wěn)定性,接口測試相比于UI(User Interface)自動化測試更加的高效,性價比更高。通用軟件接口測試平臺可以實現(xiàn)對項目中使用的接口進行管理,并集成接口測試框架實現(xiàn)接口的自動化測試。
1 平臺框架設(shè)計
1.1 Spring boot框架
Spring boot框架是基于Spring的框架的微服務(wù)框架。Spring是Rod Johnson提出的一個控制反轉(zhuǎn)(IoC)以及面向切面(AOP)的容器框架,為了解決Spring框架繁瑣的配置,催生出Spring boot框架。Spring boot框架能夠簡化配置文件,快速構(gòu)建web應用,內(nèi)置Tomcat,無需打包部署,直接運行[1]。
1.2 Vue.js框架
隨著前端技術(shù)迅速發(fā)展,前端框架層出不窮,Vue.js是目前流行的用于構(gòu)建用戶界面的漸進式框架。該框架通過可被調(diào)用的組件來構(gòu)造頁面。Vue.js簡單易學,與Element UI組件結(jié)合,可快速開發(fā)出美觀的界面[2]。因此,使用Vue.js框架開發(fā)平臺前端部分。
1.3 Test NG框架
Test NG是一個開源的自動化測試框架,其消除了大多數(shù)框架的限制,使測試人員能夠方便的編寫測試案例。Test NG可以并行執(zhí)行測試方法、測試類[3],相比于其他測試框架,Test NG有著明顯的優(yōu)勢。
1.4 軟件需求
在軟件接口測試過程中,可使用的接口測試工具較多,多數(shù)測試工具只是對單一的接口進行測試,且測試報告查看不是很直觀和方便。因此,開發(fā)一個高效、易用的通用軟件接口測試平臺可以節(jié)省測試資源,提高測試效率。
平臺功能需求如下:(1)具有通用性、靈活性等特點;(2)易于管理接口,便于維護;(3)具有接口自動化測試功能;(4)具有生成與查看測試報告功能。
2 平臺功能分析
2.1 架構(gòu)設(shè)計
通用軟件接口測試平臺采用前后端分離的模式。后端模塊使用當前流行的Spring boot+Mybatis框架進行開發(fā),前端模塊采用Vue.js框架進行開發(fā),接口自動化測試框架使用Java+Http Client+Test NG,基于Maven部署項目和管理依賴包,采用Jenkins持續(xù)集成構(gòu)建項目,使用GitHub對項目版本進行控制管理。
2.2 功能分析
(1)項目管理模塊。提供對項目及產(chǎn)品模塊的管理,包括名稱、狀態(tài)等配置。(2)接口管理模塊。提供對接口信息的管理。可配置接口信息,包括接口URL、請求參數(shù)信息、預期響應參數(shù)等,模塊如圖1所示。(3)接口測試用例模塊。提供測試集、測試用例的管理。包括管理測試集,測試集再關(guān)聯(lián)添加測試用例。創(chuàng)建接口測試用例時,將接口信息模塊的數(shù)據(jù)之間從數(shù)據(jù)庫中引入,更便于用例的編寫。(4)接口測試管理模塊。通過前端添加的測試用例數(shù)據(jù),經(jīng)過一系列封裝和處理之后,構(gòu)造接口請求的URL,使用Http Client工具發(fā)送URL來請求Web應用,校驗返回相應的數(shù)據(jù),檢驗接口是否有效。(5)報告管理模塊。測試報告以Html的形式生成在test-output目錄下,使用Report NG框架優(yōu)化測試報告,相比于Test NG生成的報告,Report NG生成測試報告的更加的美觀、易讀。報告包含通過/失敗的用例統(tǒng)計數(shù)、測試結(jié)果等。(6)消息通知模塊。用戶操作已有的接口信息時,包括編輯、刪除接口信息,平臺將記錄用戶操作后的結(jié)果,并以文本的形式,通過站內(nèi)信的形式通知相關(guān)用戶,消息通知流程如圖2所示。
2.3 測試分析
未在平臺進行接口管理時,只能通過word進行管理接口,消耗開發(fā)人員大量時間、精力,同時,測試人員需等開發(fā)人員完善好接口文檔后才能進行接口測試案例的編寫,再運用接口測試工具進行測試,這將消耗測試人員大量的時間。使用平臺后,測試人員可與開發(fā)人員同步進行工作,對已完善好信息的一部分接口先進行測試用例的編寫,進行接口測試,測試時間更是有了顯著的縮短,執(zhí)行完測試用例后,查看測試報告,在功能測試前解決接口方面的問題,提高了產(chǎn)品提測后的質(zhì)量,保障了上線的質(zhì)量。
3 結(jié)語
本文針對接口信息管理不規(guī)范、接口測試流程復雜等問題設(shè)計且實現(xiàn)了通用軟件接口測試平臺。首先介紹了開發(fā)接口測試平臺的框架設(shè)計,然后著重介紹了平臺的設(shè)計與實現(xiàn),最后介紹了使用平臺后執(zhí)行接口測試的情況,比較了使用平臺執(zhí)行測試用例與手動進行接口測試耗時的時間。通用軟件接口測試平臺對項目接口文檔進行了規(guī)范化管理,減少了重復性的工作,提高了接口測試的效率,保障了軟件的質(zhì)量。
參考文獻
[1] 王喜虎.基于Spring的接口測試環(huán)境智能配置管理組件的設(shè)計與實現(xiàn)[D].華南理工大學,2010.
[2] 尚潔.基于Django的測試工具平臺的設(shè)計與實現(xiàn)[D].北京交通大學,2019.
[3] 蔣靈仙.基于Testng的Web接口測試的自動化框架設(shè)計與實現(xiàn)[D].浙江工業(yè)大學,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