999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

HTTP接口性能測試腳本開發技術的研究

2020-07-04 02:13:18陸俊杰
電腦知識與技術 2020年13期

陸俊杰

摘要:對于接口性能測試,性能測試腳本開發是一個重要的環節,HTTP接口是目前常見的應用軟件的后臺接口,該文就該類型接口的性能測試腳本開發技術進行了討論,著重闡述了腳本開發過程中各環節需要關注的重點,并結合實際的項目案例,對一些常見的問題以及解決方法進行了描述。

關鍵詞:HTTP接口;接口性能測試;腳本開發;LoadRunner;性能問題定位

中圖分類號:TP391 文獻標識碼:A

文章編號:1009-3044(2020)13-0095-02

1引言

隨著大數據、云計算等技術的不斷發展,軟件規模越來越大,軟件系統的復雜度也越來越高,軟件的用戶數量也越來越龐大,越來越多的應用軟件采用服務化的方式進行設計,通過接口作為各個系統間通信的橋梁,接口的質量對于軟件的整體質量起到了重要的作用,接口性能測試是保障接口質量的重要手段,而在接口性能測試中,性能測試腳本開發是一個重要的環節,目前大部分應用軟件的后臺接口數據傳輸是基于HTTP協議的,本文將結合筆者的實際經驗,針對HTTP接口性能測試腳本開發技術進行探討。

2概述

本文選取了某移動應用軟件測試項目作為研究案例,本項目中,需要對被測軟件的后臺HTTP接口進行性能測試,并對性能測試中發現的問題進行分析和定位,結合本項目的實際情況,筆者采用了HP LoadRunner具,作為本次項目的性能測試工具。

3初步腳本開發

對于HTYP接口的數據傳輸,遵循一個完整的HTTP請求過程,包含建立連接、發送請求、回送響應、關閉連接4個階段,初步腳本開發就為了實現這一過程,通過編寫發送請求的代碼,使得測試腳本能夠成功向被測接口發送請求,并完成此過程的數據交互。因此在代碼中需要定義完成這個過程所需要的相關請求參數,例如:請求地址、請求方式、請求人參、請求頭域等。

接口的請求方式一般分為GET和POST方式,針對簡單的接口請求,例如本項目中無需人參直接以GET方式請求的接口,由于HPLoadRunner工具內置了默認的請求頭,所以一般僅需要在發送請求的代碼中定義請求地址、請求端口號、請求方式三個參數,即可實現請求的發送;對于一些復雜的接口請求,例如本項目中,以POST方式傳遞JSON格式參數的接口,在發送請求的代碼時,就還需要額外定義符合JSON格式的請求人參以及"application/json"請求頭域等參數。

完成發送請求的代碼的編寫,只是做到了腳本開發的第一步,即測試腳本實現了成功向接口發送請求和接收接口返回信息的功能,但這并不意味著腳本開發過程結束了,例如可能會發生接口未返回期望的響應、沒有能夠真實地模擬實際使用場景等,因此通常還需要對測試腳本進行諸多完善,才能使測試腳本達到最終測試目的。

4完善腳本開發

4.1動態參數的處理

HTTP接口請求中的一些參數經常是動態的,它們遵循一定的業務規則或技術規則,同時一些接口的后臺數據庫是存在緩存的,若是在測試中使用固定的參數重復請求,就可能觸發數據庫的緩存機制,因此不足以檢測出實際接口的性能嘲;針對一些安全性更高的接口,例如對參數加密的接口,若是用固定的參數發送請求,則可能導致請求發送失敗,因此在測試腳本中需要對這些動態參數進行合理的處理。

針對一些非加密的參數,可以通過在測試工具中建立參數池,根據業務的規則建立參數迭代的機制,并考慮參數的充足性。例如本項目中的某一業務數據查詢接口,考慮到數據庫緩存對性能測試結果的影響,腳本需要實現向被測接口每次查詢不同的數據,該項測試的并發要求為5,000個并發用戶,需要進行10次循環迭代的測試,因此在測試腳本中建立了50,000個不同數據的參數池,并設置了參數的唯一迭代。

針對一些加密參數,參數化的處理方式會相對復雜。經過筆者研究,一般有以下幾種解決方法:

1)若加密的參數可以通過某一接口動態獲取,則可以在測試腳本中先請求該接口,通過測試工具提取該接口返回信息中的加密參數。

2)由系統的開發方將加、解密方法封裝成組件,提供給測試方,供測試方在測試腳本中調用組件進行加解密操作。

3)測試方在了解加密算法的前提下,在測試腳本中實現加密參數的生成。

4)減弱或取消加密的限制,例如后臺延長密鑰的有效期、使用一個固定的萬能密鑰等,使用該方法將較大程度地減輕參數化工作量,但需要對因加密機制調整而導致的性能測試結果影響進行充分評估。

以本項目中涉及的一個加密接口為例,開發方通過SHA-256加密算法對接口的某一參數值進行了加密。由于其無法提供組件或提供可以動態獲取該加密信息的接口,同時加密機制不宜取消,因此采用了第三種方式進行參數化,即在測試腳本中實現加密參數的生成。筆者通過HPLoadRunner工具自帶的函數完成加密前字符串的處理,但工具不支持直接進行SHA-256加密,為了盡量使測試腳本簡潔、高效,筆者使用了C-FREE 5工具編譯了SHA-256算法的動態鏈接庫文件,利用HP LoadRunner工具的動態鏈接庫文件的調用機制,在測試腳本中調用該動態鏈接庫文件中封裝的SHA-256加密函數,從而在測試腳本中成功實現了該參數值的加密。

4.2檢查點的設計

在性能測試過程中,操作執行的成功率是一項重要的指標,尤其是對于接口,若是接口在性能測試中返回了未預期的響應,就意味著接口可能存在性能的缺陷,為了準確地衡量接口是否正確地處理了客戶端的請求,就需要我們在測試工具中設置合理的判斷。HP LoadRunner工具中可以通過設計檢查點m來判斷接口服務端的返回信息中是否包含了預期的結果,對于HTTP接口,在返回信息中,通常會有特定的狀態碼來表明接口請求的處理狀態,例如“code:0”經常是一個接口請求成功的響應標志。不同接口的成功響應標志取決于接口的設計,因此關于接口處理成功的標準需要與開發方確認并達成一致,若是用了不合理的檢查方式,將可能會影響性能缺陷的檢出率。

4.3集合點設置

通常在測試腳本中可以設置集合點,用以同步虛擬用戶以便恰好在同一時刻執行任務,對于接口測試來說,添加集合點,使虛擬用戶在同一時刻集中請求接口,可以檢測接口承受瞬時并發的能力,有助于快速發現接口在并發請求處理上的性能瓶頸。在本次測試中,對于接口的并發處理能力要求較高,因此在測試腳本中設置了集合點。

4.4輔助性能問題定位

對于一個成功的HTFP接口性能測試,不僅要能夠準確檢測接口實際性能情況,同時還應有利于協助開發方成功定位性能問題,測試腳本的開發對性能問題定位可以起到重要的作用,通過在腳本中有針對性地進行一些輔助問題定位的定制化開發,可以為性能問題的定位提供重要的支撐。一個接口如果發生問題,通常會向客戶端返回相關錯誤信息,而這個信息對于開發方定位性能問題起到了重要的作用,在分析性能問題時,報錯信息和報錯數量是一個重要的指標,在事務失敗時,HP LoadRunner工具可以輸出一些基本的報錯,例如檢查點不通過、非正常的HTrP響應代碼等錯誤類型,但不會將接口自身反饋的錯誤信息記錄到報錯中,若需要查看具體的返回,就需要在日志中查看。對于一些并發量大、報錯信息較多的測試,將會給錯誤信息的查找、統計、分析帶來較大的工作量。

在本次接口性能測試中,為了解決這一問題,在測試腳本中,編寫了自定義的字符串關聯函數,有選擇性地將接口返回的關鍵報錯信息關聯出來,并在檢查點未通過的情況下,將接口返回的錯誤信息定義為工具級別的報錯。性能測試執行完畢后,可以直接通過HP LoadRunner工具的結果分析模塊,將接口返回的錯誤和數量進行分類導出。由于本次測試的接口數量較多,測試迭代較為頻繁,通過這樣的方式有效地節省了測試數據分析的時間,使開發方能夠快速準確地定位到接口問題。

5結束語

本文結合了筆者對HTYP接口性能測試腳本開發技術的研究以及實際的項目案例,介紹了HTFP接口性能測試腳本開發過程中各個主要環節的技術要點,并對開發過程中遇到的問題和解決方法進行了描述。對于HTFP接口性能測試,測試腳本開發是一個重要的環節,測試腳本不僅要能夠有效地模擬實際使用場景,同時也應能夠盡可能地為性能問題分析和定位提供幫助,而在開發過程中,也需要根據實際情況,進行合理的設計和開發,使測試腳本能夠最大化地滿足最終測試目的。

主站蜘蛛池模板: 日韩少妇激情一区二区| 久久福利片| 国产成人一二三| 久久黄色视频影| 国产成人三级| 91无码国产视频| 亚洲无线一二三四区男男| 久久久久国产精品嫩草影院| 91亚洲国产视频| 四虎国产永久在线观看| 天天干天天色综合网| 亚洲熟女中文字幕男人总站| 亚洲大尺码专区影院| 欧美激情视频一区| 久久久久人妻精品一区三寸蜜桃| 国产成人精品18| 真实国产乱子伦视频| 亚洲视频二| 亚洲欧美另类久久久精品播放的| 国产一级精品毛片基地| 亚洲无线观看| 日韩在线播放欧美字幕| 久久国产精品夜色| 国产黄在线观看| 欧洲在线免费视频| 无码人中文字幕| 国产一级毛片yw| 成人午夜网址| 欧美日韩一区二区三区在线视频| 色偷偷男人的天堂亚洲av| 国产精品冒白浆免费视频| 精品综合久久久久久97超人| 91久久偷偷做嫩草影院免费看| 人妻中文字幕无码久久一区| 国产精品视频999| 欧美另类精品一区二区三区| 国内熟女少妇一线天| 91九色国产porny| 无码日韩人妻精品久久蜜桃| 久久精品丝袜| 精品无码国产一区二区三区AV| 精品在线免费播放| 亚洲男人天堂2018| 国产你懂得| 精品无码国产自产野外拍在线| 亚洲国产中文欧美在线人成大黄瓜 | 91无码人妻精品一区二区蜜桃| 国产免费网址| 秋霞国产在线| 成人日韩精品| 福利姬国产精品一区在线| 91丨九色丨首页在线播放| 找国产毛片看| 免费一看一级毛片| 亚洲男人的天堂网| 亚洲 欧美 中文 AⅤ在线视频| 国产成人精品一区二区免费看京| 熟妇丰满人妻| 日韩欧美国产区| 99久久国产综合精品女同| 亚洲一区二区三区麻豆| 国产一在线观看| 久久精品国产在热久久2019| 天堂网亚洲系列亚洲系列| 在线观看亚洲成人| 欧美午夜一区| 免费一级毛片在线观看| 国产成人91精品| 99视频只有精品| 欧美日韩资源| 99re视频在线| 伊人久久福利中文字幕 | 国产精品永久在线| 日韩欧美国产中文| 无码粉嫩虎白一线天在线观看| 国产福利在线免费观看| 亚洲婷婷丁香| 爆乳熟妇一区二区三区| 久久99精品久久久久纯品| 精品少妇人妻一区二区| 欧美不卡视频一区发布| 国内毛片视频|