国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Postman+Newman的接口業(yè)務自動化測試應用

2024-09-19 00:00:00劉小玲殷珊珊李慧云郝穎許杰輝
現(xiàn)代信息科技 2024年13期

摘 要:電商系統(tǒng)作為公司所有產品的關鍵業(yè)務支撐,由于業(yè)務更新和發(fā)展需要,提測頻率大幅增加,然而,回歸測試受業(yè)務場景復雜性和測試周期限制,導致人工測試無法充分覆蓋業(yè)務場景,可能會引發(fā)問題。為解決上述問題,文章選用Postman和Newman工具,結合電商系統(tǒng)實際業(yè)務特點,設計出一套測試用例,通過數(shù)據(jù)參數(shù)關聯(lián)技術實現(xiàn)電商系統(tǒng)接口業(yè)務場景自動化測試。自動化測試提高了回歸測試效率,節(jié)省了測試成本,同時提升了系統(tǒng)質量。

關鍵詞:接口自動化測試;自動化測試;接口測試;業(yè)務場景測試

中圖分類號:TP311 文獻標識碼:A 文章編號:2096-4706(2024)13-0056-05

Application of Interface Business Automatic Testing Based on Postman+Newman

LIU Xiaoling, YIN Shanshan, LI Huiyun, HAO Ying, XU Jiehui

(Tongfang Knowledge Network Digital Publishing Technology Co., Ltd., Beijing 100192, China)

Abstract: As a key business support for all products of the company, the E-commerce system has been found a significant increase in testing frequency due to business updates and development promotions. However, regression testing is limited by the complexity of business scenarios and testing cycles, resulting in manual testing not being able to fully cover business scenarios, which may lead to problems. Based on this, by selecting Postman and Newman tools and combining them with the actual business characteristics of E-commerce systems, a set of test cases is designed, and data parameter correlation technology is used to achieve automatic testing of E-commerce system interface business scenarios. Through automatic testing, regression testing efficiency is improved, testing costs is saved, and system quality is improved.

Keywords: interface automation testing; automatic testing; interface testing; business scenario testing

0 引 言

隨著公司業(yè)務的快速發(fā)展,作為公司關鍵業(yè)務支撐服務的電商系統(tǒng),為公司所有產品提供著重要的業(yè)務支撐。然而,由于業(yè)務更新和發(fā)展的需求[1],電商系統(tǒng)的測試頻率大幅增加,每次測試不僅要測試新功能新業(yè)務,還要確保已有業(yè)務的正確和穩(wěn)定。由于業(yè)務場景的復雜性以及測試周期的限制,人工測試無法充分覆蓋所有場景,因此難以保證電商系統(tǒng)的質量。

為解決上述問題,我們根據(jù)公司電商系統(tǒng)業(yè)務特點,提出了接口業(yè)務場景自動化測試方案及應用,通過引入接口自動化測試技術[2]來提高測試效率、改善測試質量、增強回歸測試能力。Postman是一款功能強大的接口測試工具,通過接口關聯(lián)[3]實現(xiàn)復雜的業(yè)務場景的組合測試和自動化測試。本文主要介紹基于Postman+Newman的自動化測試應用,并結合實際案例來闡述測試過程及效果。因此,本文將重點介紹如何使用Postman+Newman進行自動化測試以及在實踐中的應用效果。

1 Postman+Newman功能簡介

Postman是一個功能強大的網頁調試工具的客戶端[4],它為用戶提供了出色的Web接口和HTTP請求調試功能,具有請求集管理、環(huán)境配置、參數(shù)化、斷言、批量執(zhí)行等功能,憑借其能夠發(fā)送任何類型的HTTP請求(GET、HEAD、POST、PUT等)以及附帶任何數(shù)量的參數(shù)和headers的特點,Postman成為一款非常實用的測試工具。

Postman Newman是一個強大的命令行工具,允許用戶直接從命令行運行Postman集合,可以將測試結果輸出為多種格式的報告,如JOSN、HTML等,為開發(fā)人員和測試人員提供方便的問題定位和分析工具。

1.1 創(chuàng)建項目請求集

在Postman中,集合(Collections)類似文件夾,Collection里面還可以再建子文件夾目錄,可以把同一個項目的請求放在一個Collections里進行管理和分享。通過Collections創(chuàng)建項目請求集,然后添加請求即創(chuàng)建接口測試用例,根據(jù)接口文檔選擇請求方式、請求url、請求頭、請求體,請求內容無誤后執(zhí)行測試用例,在響應區(qū)查看響應結果。

1.2 設置環(huán)境配置

Postman提供環(huán)境變量和全局變量來存儲和管理數(shù)據(jù),以便在多個請求之間共享和重復使用數(shù)據(jù)。環(huán)境變量是針對特定環(huán)境的變量(比如測試環(huán)境、開發(fā)環(huán)境、灰度環(huán)境、生產環(huán)境),環(huán)境變量可以存儲接口的URL、Token_id等公共信息,以便在特定環(huán)境下的多個請求中共用。全局變量是定義在全局中的變量,可以存儲全局信息,比如用戶名、密碼等,在所有環(huán)境下的所有請求中使用。

1.3 參數(shù)化

在自動化迭代的測試過程中,數(shù)據(jù)參數(shù)化是Postman比較重要的特征之一,它能夠將變量進行參數(shù)化,從而避免重復相同的測試。Postman參數(shù)化的形式主要有三種:內置變量、Pre-request-Script頁簽中使用腳本代碼、外部文件引用。內置變量是Postman自帶的系統(tǒng)變量,常使用在Request里。比較推薦Pre-request-Script頁簽內使用代碼實現(xiàn)參數(shù)的方法,在執(zhí)行接口測試用例時會先執(zhí)行Pre-request-Script頁簽內的代碼,然后再發(fā)送請求。外部文件引用是指通過csv文件或者json格式的文件實現(xiàn)參數(shù)化,csv的運用需要先通過設置字段,多個關鍵字之間需要用英文逗號隔開,第一行寫定義的參數(shù)變量,文件保存為.csv格式,csv文件比較常用。

1.4 編寫斷言校驗

Postman的Test模塊可實現(xiàn)請求斷言,斷言模塊是自動化測試中比較重要的一部分。一個完整的接口測試,包括請求、響應、斷言,斷言[5]通過JavaScript語言編寫,在Tests下方系統(tǒng)會提供部分斷言內容,斷言結果是在請求返回之后顯示,并根據(jù)斷言返回結果的PASS和FAIL狀態(tài)體現(xiàn)在最終的測試結果中。斷言的主要作用是將實際結果和預期結果的對比,如果測試返回結果一致,則測試用例通過;如果測試返回結果不一致,則斷言失敗,即測試用例執(zhí)行失敗。

1.5 批量執(zhí)行

Postman提供Run功能實現(xiàn)批量運行,首先點擊要批量運行的項目請求集文件,然后點擊Run按鈕,系統(tǒng)默認全選,可勾選需要運行的請求,進行設置重復次數(shù)和運行間隔,最后點擊“Run接口—請求集名稱”即可批量運行測試用例。

Postman通過與Newman結合也可以實現(xiàn)批量運行接口達到接口自動化測試的目的,當對大量的接口進行自動化測試時,比較推薦使用Newman進行批量運行,使用Newman可以測試接口的功能、性能、可靠性和安全性,測試結果支持輸出多種格式的報告,比如HTML、JSON等,以方便開發(fā)人員進行問題定位和分析。

2 測試項目

選用Postman+Newman作為測試工具,按照測試流程[6]:測試需求分析、測試方案設計、測試用例執(zhí)行及測試報告,對電商系統(tǒng)接口進行接口業(yè)務場景自動化測試。

2.1 測試內容

根據(jù)對公司電商系統(tǒng)在實際應用中的特點,分析出常用用戶使用的業(yè)務場景,包括測試用戶登錄、檢索、獲取產品權限和價格、瀏覽和下載,其中用戶類型包含計費賬號、包庫賬號以及兩種賬號的不同綁定關系,產品權限包含有權限、無權限、繼承權限、資源包權限、漫游和并發(fā),下載量限制和余額判斷等核心業(yè)務,其中下載限制包含我的賬戶系統(tǒng)下組限制和電商管理平臺下設置的下載限制。根據(jù)這些功能業(yè)務進行設計接口業(yè)務測試用例,對每個業(yè)務場景的響應結果測試分析,并通過參數(shù)化關聯(lián)、斷言實現(xiàn)接口測試用例可復用,從而實現(xiàn)快速回歸測試。

2.2 測試方案設計

分析公司底層電商系統(tǒng)基礎功能和核心業(yè)務,具有基礎需求變更不頻繁,研發(fā)和維護周期長,且需要重復運行相同業(yè)務場景的特點。選用了Postman接口測試工具進行單接口測試,并根據(jù)系統(tǒng)中每個業(yè)務特征將多個單接口組建成日常用戶使用的業(yè)務場景,通過上下接口數(shù)據(jù)關聯(lián)實現(xiàn)了業(yè)務場景用例的復用性[7]。電商系統(tǒng)的每個業(yè)務均涉及5個接口,為了便于快速問題定位,確保測試用例的有效性,在設計多個業(yè)務用例場景時應保證不同的業(yè)務場景之間相互獨立,互不影響。

基本設計方案為:

1)按照業(yè)務大模塊創(chuàng)建項目(文件夾),包含4個部分:核心業(yè)務驗證(包含權限、漫游、并發(fā))、下載限制(電商管理平臺)、下載限制(我的賬戶組內管理)和產品下載限制(電商管理平臺)。

2)每個大業(yè)務(文件夾)下繼續(xù)創(chuàng)建子業(yè)務(子文件夾),根據(jù)實際業(yè)務情況決定子業(yè)務深度,如核心業(yè)務驗證(包含權限、漫游、并發(fā))大業(yè)務包含3個子業(yè)務:產品下載權限限制、IP范圍限制可漫游下載和并發(fā)限制。

3)在子業(yè)務文件下根據(jù)賬號類型創(chuàng)建對應的業(yè)務,比如計費賬號核心業(yè)務,包含業(yè)務場景有計費賬號余額不足、余額充足扣費下載、免費下載單篇免費文獻、使用包次卡次下載等業(yè)務。

4)最底層的項目(文件夾)內編寫接口的業(yè)務請求,涉及5個接口:登錄、檢索、獲取產品權限和價格、瀏覽和下載。

5)運行分析測試結果。

2.3 測試用例設計

根據(jù)接口文檔以及測試方案設計測試套件,在設計接口測試用例時,不但要包含覆蓋業(yè)務邏輯的正例測試,還要設計異常場景測試以及觸發(fā)接口功能錯誤的場景[8]。電商系統(tǒng)接口的請求響應格式均為JSON格式,以其中一個正向業(yè)務場景為例,涉及5個接口:登錄—獲取產品購買方式—查詢文獻扣費信息—下載—退出,首先需要根據(jù)測試要求選擇滿足一定策略的測試數(shù)據(jù)[9],創(chuàng)建登錄請求,通過pm.environment.set函數(shù)獲取請求返回jsonData.IdenId到變量中,在下一接口中引用此變量,應用實例如圖1所示。

在最底層的文件夾下創(chuàng)建業(yè)務測試用例之后,對返回結果分析并在Tests標簽下編寫斷言,通過設置變量實現(xiàn)接口上下關聯(lián),如圖2所示。后面的接口獲取前面接口返回的數(shù)據(jù)作為入參,格式如圖3所示。

通過此方法實現(xiàn)后面3個接口的關聯(lián)后,運行業(yè)務場景,先選中最底層文件夾(case01開頭的文件夾),然后點擊Run按鈕,可實現(xiàn)這組用例集的批量運行,運行結果如圖4所示。

2.4 測試報告

按照以上測試過程對原有的XLS表格內人工執(zhí)行的核心業(yè)務測試用例,全部通過Postman工具完成自動化測試,并調試通過后將自動化測試腳本導出為JSON格式文件,使用Newman從命令行運行Postman集合:“newman run collections.json -r html,cli”,運行完成后,可自動生成HTML格式的測試報告。本次測試涉及4大業(yè)務模塊,創(chuàng)建4個文件夾,以其中2個業(yè)務Yx0bTh9gW4dxd1hbYF06C+hmaWFNHp6xrC83ctVt4sc=的運行情況為例,查看導HTML格式的測試報告,分別如圖5、圖6所示。

3 測試效果分析

根據(jù)電商系統(tǒng)業(yè)務場景用例設計方案分為4大文件夾,從以上2個測試報告截圖中可以分析出Requests是11 843個,一個業(yè)務場景包含5個請求(登錄、檢索、獲取產品權限和價格、瀏覽和下載),共覆蓋2 368個不同的業(yè)務場景,運行完成時間是0.5小時,平時人工執(zhí)行XLS表內的相同數(shù)量的業(yè)務場景用例,需要5人日合計40小時完成。自動化測試執(zhí)行速度是人工測試的80倍。對于多次需要回歸的情況[10],隨著業(yè)務場景數(shù)量的增加,產生的效益也會越大。

4 結 論

通過使用Postman和newman對電商系統(tǒng)的接口進行測試分析,結合電商系統(tǒng)的實際業(yè)務特點,設計接口業(yè)務測試用例,并通過數(shù)據(jù)參數(shù)關聯(lián)技術完成了測試用例集的可復用,從而實現(xiàn)了電商系統(tǒng)接口業(yè)務場景自動化測試。通過測試數(shù)據(jù)分析,自動化測試提高了回歸測試效率,節(jié)省了測試成本,同時提高了產品質量。因此,企業(yè)應根據(jù)產品業(yè)務特點選擇適當?shù)淖詣踊瘻y試手段,以提高回歸測試效率和提升生產力。

參考文獻:

[1] 張清睿,黃松,孫樂樂.Web功能自動化測試綜述 [J].軟件導刊,2023,22(3):227-236.

[2] 黃志輝,蔡杰峰,蔡漢釣.接口自動化測試的應用實踐 [J].廣播電視網絡,2023,30(7):103-105.

[3] 周燕,肖玉,許華.基于JMeter接口關聯(lián)技術研究 [J].信息技術與信息化,2023(3):160-163.

[4] STORM.接口自動化測試持續(xù)集成 [M].北京:人民郵電出版社,2019.

[5] 許禮捷,葛華.基于Selenium的Web自動化測試研究與實踐 [J].沙洲職業(yè)工學院學報,2022,25(4):1-6.

[6] 仇振安,王鋒,任志偉.軟件測試的難點及應對策略 [J].電光與控制,2023,30(9):106-111.

[7] 李昊,柳溪.基于知識圖譜的雷達軟件測試用例復用研究 [J].測控技術,2021,40(6):18-26.

[8] 談麗君.基于Robot Framework的API接口自動化測試系統(tǒng)的設計與實現(xiàn) [D].上海:華東師范大學,2022.

[9] 姚香娟,田甜,黨向盈,等.智能優(yōu)化在軟件測試中的應用綜述 [J].控制與決策,2022,37(2):257-266.

[10] 郭貝貝.基于Selenium的自動化測試平臺的設計與實現(xiàn) [D].西安:西安電子科技大學;2022.

作者簡介:劉小玲(1980.08—),女,漢族,江蘇徐州人,高級工程師,本科,研究方向:軟件測試管理。

繁昌县| 抚顺市| 湖南省| 会理县| 敦煌市| 尼木县| 杨浦区| 宜君县| 敦化市| 财经| 七台河市| 兴义市| 缙云县| 贵港市| 友谊县| 老河口市| 留坝县| 米泉市| 新竹市| 乐都县| 女性| 尉犁县| 肇州县| 嵊泗县| 新乐市| 金昌市| 林州市| 抚松县| 吐鲁番市| 桃江县| 望奎县| 青铜峡市| 大邑县| 商都县| 贡嘎县| 泗洪县| 阳春市| 丽江市| 金秀| 施甸县| 景宁|