中文字幕无码日韩视频无码三区

一種軟件性能測試方法及裝置的制造方法

文檔序號:10724818閱(yue)讀:849來源:國知局
一種軟件性能測試方法及裝置的制造方法
【專利摘要】本申請公開了一種軟件性能測試方法,用以解決現有技術中軟件性能測試的結果不準確的問題。該方法包括:獲取線上軟件系統接收到的第一業務請求;將獲得的第一業務請求轉換成預定格式的請求數據,并存儲到數據庫中;根據所述數據庫中存儲的請求數據,和預設的第二業務請求生成規則,生成第二業務請求;利用生成的第二業務請求,進行軟件性能測試。本申請還公開了一種軟件性能測試裝置。
【專利說明】
一種軟件性能測試方法及裝置
技術領域
[0001]本申請涉及計算機技術領域,尤其涉及一種軟件性能測試方法及裝置。
【背景技術】
[0002]隨著互聯網技術的飛速發展,網民的數量越來越多,對互聯網服務端軟件系統性能的要求也越來越高。比如,當服務端的并發用戶數量超過系統的承受能力時,可能會出現系統響應變慢等情況,導致用戶的體驗較差。
[0003]開發人員可以通過對軟件系統進行軟件性能測試來測試軟件系統的性能,對軟件系統進行軟件性能測試是通過性能測試工具來進行的。所述性能測試工具可以模擬用戶通過客戶端對服務端的訪問行為,并發地向服務端發起大量的業務請求,同時檢測服務端的運行情況,以獲得服務端的承受能力,如可以承受多大的并發請求數量,判斷軟件系統是否符合預期要求。
[0004]現有技術中,在進行軟件性能測試時,開發人員會根據經驗,編寫測試時使用的業務請求,然后由軟件性能測試系統將編寫好的業務請求,并發地發送給被測試軟件系統進行軟件性能測試。由于開發人員編寫的業務請求,無法完全涵蓋被測試軟件線上真實運行時會接收到的業務請求,導致軟件性能測試時無法得到被測試軟件在線上真實運行時可能會出現的性能問題,從而導致軟件性能測試的結果不準確。

【發明內容】

[0005]本申請實施例提供一種軟件性能測試方法,用以解決現有技術中軟件性能測試的結果不準確的問題。
[0006]本申請實施例還提供一種軟件性能測試裝置,用以解決現有技術中軟件性能測試的結果不準確的問題。
[0007]本申請實施例采用下述技術方案:
[0008]—種軟件性能測試方法,包括:
[0009]獲取線上軟件系統接收到的第一業務請求;
[0010]將獲得的第一業務請求轉換成預定格式的請求數據,并存儲到數據庫中;
[0011]根據所述數據庫中存儲的請求數據,和預設的第二業務請求生成規則,生成第二業務請求;
[0012]利用生成的第二業務請求,進行軟件性能測試。
[0013]一種軟件性能測試裝置,包括:
[0014]線上業務請求獲取單元,用于獲取線上軟件系統接收到的第一業務請求;
[0015]請求數據存儲單元,用于將獲得的第一業務請求轉換成預定格式的請求數據,并存儲到數據庫中;
[0016]第二業務請求生成單元,用于根據所述數據庫中存儲的請求數據,和預設的第二業務請求生成規則,生成第二業務請求;
[0017]性能測試單元,用于利用生成的第二業務請求,進行軟件性能測試。
[0018]本申請實施例采用的上述至少一個技術方案能夠達到以下有益效果:
[0019]通過獲取線上軟件系統接收到的第一業務請求,并利用根據第一業務請求生成的請求數據,生成第二業務請求,然后利用第二業務請求進行性能測試,從而可以模擬線上真實的場景,以便發現被測試軟件在線上真實運行時可能會出現的性能問題。相對于現有技術中利用開發人員根據經驗編寫的業務請求進行軟件性能測試,提高了軟件性能測試結果的準確性。
【附圖說明】
[0020]此處所說明的附圖用來提供對本申請的進一步理解,構成本申請的一部分,本申請的示意性實施例及其說明用于解釋本申請,并不構成對本申請的不當限定。在附圖中:
[0021]圖1為本申請實施例1提供的一種軟件性能測試方法的實現流程示意圖;
[0022]圖2為本申請實施例2提供的一種軟件性能測試方法的實現流程示意圖;
[0023]圖3為本申請實施例3提供的一種軟件性能測試裝置的具體結構示意圖。
【具體實施方式】
[0024]為使本申請的目的、技術方案和優點更加清楚,下面將結合本申請具體實施例及相應的附圖對本申請技術方案進行清楚、完整地描述。顯然,所描述的實施例僅是本申請一部分實施例,而不是全部的實施例。基于本申請中的實施例,本領域普通技術人員在沒有做出創造性勞動前提下所獲得的所有其他實施例,都屬于本申請保護的范圍。
[0025]以下結合附圖,詳細說明本申請各實施例提供的技術方案。
[0026]實施例1
[0027]為解決現有技術中軟件性能測試的結果不準確的問題,本申請實施例1提供一種軟件性能測試方法。本申請實施例提供的軟件性能測試方法的執行主體可以是軟件性能測試系統,例如,對服務端進行性能測試的軟件性能測試系統,等等。
[0028]為便于描述,下文以該方法的執行主體為軟件性能測試系統為例,對該方法的實施方式進行介紹。可以理解,該方法的執行主體為軟件性能測試系統只是一種示例性的說明,并不應理解為對該方法的限定。
[0029]該方法的實現流程示意圖如圖1所示,包括下述步驟:
[0030]步驟11:獲取線上軟件系統接收到的第一業務請求;
[0031]本申請實施例中,所述業務請求為用于使得軟件系統處理某項業務的請求。比如,對于賬號登錄請求而言,軟件系統在響應該請求時,便會處理賬號登錄業務。對于WEB服務端而言,所述業務請求為超文本傳輸協議(HyperText Transfer Protocol,HTTP)請求。
[0032]在對被測試軟件系統進行測試時,為了盡可能真實地模擬線上運行時的場景,使軟件性能測試時的結果更接近線上真實結果,在本申請實施例中,可以直接使用線上軟件系統接收到的業務請求,為了便于描述,將線上軟件系統接收到的業務請求稱為第一業務請求。所述線上軟件系統為與被測試軟件系統相同的軟件系統,或對被測軟件系統進行優化前的系統。
[0033]在實際應用中,可以通過對線上軟件系統的服務端口進行監聽,即可獲得線上軟件系統接收的第一業務請求。在監聽過程中,可以對端口接收到的所有業務請求進行篩選,只獲取性能測試需要的業務請求。
[0034]步驟12:將獲得的第一業務請求轉換成預定格式的請求數據,并存儲到數據庫中;
[0035]直接利用線上軟件系統接收到的業務請求,對被測試系統進行測試,只能通過查看被測試系統對硬件的使用情況,來對被測試系統進行測試。本申請實施例中,在后續進行軟件性能測試時,為了全面地檢測被測試軟件的性能,性能測試模塊會利用預定格式的請求數據,生成第二業務請求,然后利用第二業務請求對被測試軟件進行測試。那么,本申請實施例中,可以將獲得的第一業務請求,轉換成性能測試模塊可以利用的預定格式的請求數據。
[0036]本申請實施例中,將獲得的第一業務請求轉換成預定格式的請求數據,具體可以是,將第一業務請求中的請求接口、請求方式、參數值等數據進行提取,然后轉換為JSONArray格式的數據。
[0037]在實際應用中,可以將得到的請求數據進行存儲,以便后續軟件性能測試時使用,那么,在將獲得的第一業務請求轉換成預定格式的請求數據時,可以對獲得的第一業務請求執行序列化操作,對業務請求進行序列化,指將業務請求轉換為便于存儲的預定格式的請求數據的過程。
[0038]本申請實施例中,在將請求數據進行存儲時,可以將得到的請求數據保存到數據庫中。該數據庫比如可以是Redis數據庫,那么,可以以鍵(key)-值(value)對的形式將請求數據持久化到Redis數據庫中。具體地,可以以業務請求的錄制時間、主機名和接口名等數據為key,以根據業務請求生成的JSON Array為value,對請求數據進行保存。
[0039]步驟13:根據所述數據庫中存儲的請求數據,和預設的第二業務請求生成規則,生成第二業務請求;
[0040]基于上述存儲方式將第一業務請求轉換成預定格式的請求數據并存儲后,在進行軟件性能測試時,只需從存儲有請求數據的數據庫中,獲取請求數據,然后根據預設的第二業務請求生成規則,即可生成第二業務請求。如果該數據庫為Redis數據庫,那么,可以利用Jedis讀取Redis中的請求數據,作為性能測試的請求物料,生成第二業務請求。
[0041]本申請實施例中,可以將存儲有請求數據的數據庫中存儲的請求數據,還原為步驟11中獲取到的第一業務請求。由于第二業務請求所請求的主機為被測試軟件系統所在的主機,與第一業務請求所請求的主機可能不同,則第二業務請求與第一業務請求的區別可以僅為主機名不同。那么所述業務請求生成規則,可以根據對第一業務請求進行序列化的規則確定。此處生成第二業務請求的過程,即為對存儲有請求數據的數據庫中存儲的請求數據進行反序列化,得到線上軟件系統接收到的業務請求的過程。
[0042]本申請實施例中,第一業務請求可能是觸發軟件系統執行多項業務操作的請求,如果只期望測試被測試軟件系統執行其中某一項業務操作的性能,那么,可以只利用第一業務請求中、用于觸發被測試軟件系統執行期望測試的業務操作的請求數據,生成第二業務請求。
[0043]本申請實施例中,在對被測試軟件系統進行軟件性能測試時,可能會用到線上的第三方平臺的業務,那么,可以在第二業務請求中添加用于和真實用戶發起的業務請求進行區別的標識,以便于第三方平臺可以區別測試用的業務請求和真實用戶的業務請求。
[0044]本申請實施例中,第二業務請求的來源信息可以由測試人員自行定義。比如,當期望測試被測試軟件系統在響應由安卓客戶端發來的業務請求的性能時,可以在生成第二業務請求時,將第二業務請求的來源信息全部定義為安卓客戶端。
[0045]本申請實施例中,所述第二業務請求和所述第一業務請求,可以是觸發被測試軟件系統處理相同業務的請求,具體而言,所述第二業務請求和第一業務請求中的請求數據可以相同。那么,利用第二業務請求進行軟件性能測試時,得到的軟件性能測試結果,可以等同于利用第一業務請求進行軟件性能測試的結果,由于第一業務請求為線上軟件系統接收到的請求,那么利用第二業務請求進行軟件性能測試,可以全面覆蓋線上真實環境中的各種業務請求,更加全面地對被測試軟件系統進行測試,盡可能地預見被測試軟件系統在線上環境中可能出現的性能問題。
[0046]步驟14:利用生成的第二業務請求,進行軟件性能測試。
[0047]本申請實施例中,利用生成的第二業務請求,進行軟件性能測試的過程主要包括如下子步驟:
[0048]子步驟SlOl:并發地向被測試軟件系統發送預定數量的第二業務請求;
[0049]本申請實施例中,所述預定數量為測試人員預先設定的數量,在進行軟件性能測試時,測試人員往往會預估被測試軟件系統在上線后,可能會接收到的業務請求的數量,然后確定軟件性能測試時的并發業務請求數量。軟件測試時并發的業務請求數量,即為軟件系統的并發用戶數量。
[0050]需要說明的是,開發人員會根據上次軟件性能測試的結果,調整本次軟件性能測試時的所述預定數量,以便得到被測試軟件系統能夠承受的最大并發用戶數。在軟件性能測試時,如果被測試軟件系統的響應時長小于預設的響應時長,則說明被測試軟件系統能夠承受本次測試的并發業務請求數,可以在下次測試時調大并發業務請求數的值,直至得到被測軟件系統的最大并發用戶數量。
[0051]本申請實施例中,在并發地向被測試軟件系統發送預定數量的第二業務請求后,可以認為,被測試軟件系統的并發用戶數量即為所述預定數量。
[0052]由于線上軟件系統接收到的并發第一業務請求的數量,可能尚未達到被測試軟件系統的最大并發業務請求數量,因此無法獲知被測試軟件系統的性能瓶頸。那么,可以并發地發送預定數量的第二業務請求,來對軟件系統進行性能測試。
[0053]或者,線上的被測試系統接收到的并發第一業務請求的數量達到了被測試軟件系統的最大并發業務請求量,現在要測試的是優化后的被測試軟件系統。那么,同樣可以并發地發送預定數量的第二業務請求,來對優化后的被測試軟件系統進行性能測試。
[0054]子步驟S102:獲取各性能指標數據;
[0055]所述各性能指標數據,分別反映所述被測試軟件系統的部分或全部模塊各自在響應所述第二業務請求時的性能。所述各性能指標數據,是被測試軟件系統通過執行預先注入被測試軟件系統的監控代碼得到的。
[0056]所述監控代碼所實現的功能,包括:對所述部分或全部模塊的運行情況進行監控,并根據監控結果,生成所述各性能指標數據。
[0057]軟件系統在接收到業務請求時,往往會調用不止一個模塊,來響應該業務請求,完成整個業務處理過程。單個模塊指能夠執行至少一個操作步驟的代碼,在實際應用中,開發人員可以根據測試需要將被測試軟件系統劃分為多個模塊。
[0058]本申請實施例中,可以通過檢測被測試軟件系統在對第二業務請求進行響應時,各個模塊的性能指標數據,來確定被測試軟件系統的性能。在實際應用中,各個模塊的性能指標數據包括下述至少一種:各個模塊執行操作耗費的時長、各個模塊執行操作的錯誤率。
[0059]比如對于賬號登錄請求而言,軟件系統在響應賬號登錄請求時,會經過至少三個步驟:首先接收用戶輸入的賬號密碼,然后校驗賬號密碼是否正確,最后將登錄結果反饋給用戶終端,至此完成整個業務處理過程。如果上述三個步驟中,某一步驟耗費的時長大于預設的時長閾值,則說明執行該步驟的模塊的處理性能較低,需要對該模塊進行性能優化。或者,如果上述三個步驟中,某一步驟執行操作的錯誤率大于預設的錯誤率,則說明執行該步驟的模塊的處理性能較低,需要對該模塊進行性能優化。
[0060]在進行軟件性能測試時,還可以根據軟件系統的響應時長來評估軟件系統的性能,所述響應時長指,從向軟件系統發送業務請求到接收到軟件系統的反饋所耗費的時長。[0061 ]本申請實施例中,可以在被測試軟件系統的代碼中注入監控代碼,對所述部分或全部模塊的運行情況進行監控,并根據監控結果,生成所述各性能指標數據。比如,該監控代碼可以記錄代碼開始執行操作的時刻,也可以記錄代碼結束操作的時刻,然后即可得到整個操作執行過程耗費的時長。開發人員可以在期望監控的模塊的代碼中,注入監控代碼,即可監控該模塊的性能指標。
[0062]在監測所述被測試軟件系統在對每個第二業務請求進行響應時,各個模塊執行操作耗費的時長后,可以將被測試軟件系統中各個模塊在對同一第二業務請求進行處理時耗費的時長存儲到數據庫的同一條數據記錄中,該條數據記錄的主鍵的值為該第二業務請求的唯一標識。該數據庫可以是分布式時序數據庫,比如可以是InfluxDB。利用分布式時序數據庫,可以使用與時間有關的相關函數對數據庫中的時間進行分析,比如得到各個模塊執行操作的平均耗時、最短耗時、最長耗時、總計耗時等數據。
[0063]在得到各個模塊執行操作的平均耗時、最短耗時、最長耗時、總計耗時等數據后,可以將本次軟件性能測試中,被測試軟件系統中各個模塊的執行操作耗費的時間進行展不O
[0064]子步驟S103:根據所述各性能指標數據,確定被測試軟件系統的性能。
[0065]本申請實施例中,在得到各性能指標數據后,便可以根據所述各性能指標數據,確定被測試軟件系統的性能。進而,根據被測試軟件系統的性能,即可確定處理性能低的模塊,處理性能低的模塊指對業務請求進行處理時耗費的硬件資源超出開發人員預期的模塊,如果軟件系統中某個模塊占用的硬件資源過多,那么在硬件資源緊張的情況下,將會導致該模塊的處理速度變慢,進而導致整個軟件系統的處理速度變慢,執行操作的錯誤率升高,該處理性能低的模塊即為軟件系統性能的瓶頸。
[0066]對于各個模塊執行操作耗費的時長而言,在得到各個模塊執行操作的平均耗時、最短耗時、最長耗時、總計耗時等數據后,可以將各個模塊中執行操作耗費的時長大于預設時長的模塊,作為處理性能低的模塊,即精準地定位到了被測試軟件中處理性能低的模塊。該預設時長的具體值,可以由測試人員根據經驗值來設定。比如,可以將處理操作平均耗時大于3秒的模塊作為處理性能低的模塊。
[0067]在得到處理性能低的模塊后,開發人員便可以有針對性地對確定的軟件系統中處理性能低的模塊進行性能優化。
[0068]需要說明的是,本申請實施例中,還會記錄被測試軟件在當前并發請求數時,對第二業務請求的響應時間,以及響應錯誤率等信息。所述響應時間,為從向被測試軟件系統發送業務請求到接收到業務請求返回的結果所耗費的時長。所述響應錯誤率,為被測試軟件系統返回錯誤結果的數量占總業務請求數量的比例。
[0069]對業務請求的響應時間和響應錯誤率可以反映被測試系統是否達到了最大并發用戶數量。具體的,如果被測試軟件系統的響應時間小于預設的響應時間,則說明被測試軟件系統能夠承受本次測試的并發業務請求數,可以在下次測試時調大并發業務請求數的值。同樣,如果被測試軟件系統的響應錯誤率小于預設的錯誤率閾值,則可以在下次測試時調大并發業務請求數的值。直至得到被測軟件系統的最大并發用戶數量。如果被測試軟件系統的最大并發用戶數量小于開發人員預期的最大并發用戶數量,則開發人員會對被測軟件系統中的代碼進行性能優化,以便被測試系統的最大并發用戶數量符合開發人員的預期。
[0070]本申請實施例1提供的軟件性能測試方法,通過獲取線上軟件系統接收到的第一業務請求,并利用根據第一業務請求生成的請求數據,生成第二業務請求,然后利用第二業務請求進行性能測試,從而可以模擬線上真實的場景,以便發現被測試軟件在線上真實運行時可能會出現的性能問題。相對于現有技術中利用開發人員根據經驗編寫的業務請求進行軟件性能測試,提高了軟件性能測試結果的準確性。
[0071]需要說明的是,實施例1所提供方法的各步驟的執行主體均可以是同一設備,或者,該方法也由不同設備作為執行主體。比如,步驟11的執行主體可以為設備I,步驟12的執行主體可以為設備2;又比如,步驟11和步驟12的執行主體均為設備I;等等。
[0072]實施例2
[0073]基于前述實施例1詳細敘述了本申請的發明構思,為了便于更好的理解本申請的技術特征、手段和效果,下面對本申請的軟件性能測試方法做進一步說明,從而形成了本申請的又一個實施例。
[0074]本申請實施例2中的軟件性能測試過程與實施例1中所述軟件性能測試過程相似,實施例2中沒有介紹到的其它一些步驟可以參見實施例1中的相關描述,此處不再贅述。
[0075]在對該方案的實現方式進行詳細介紹前,先對該方案的實施場景進行簡單介紹。
[0076]該實施場景中,需要對WEB服務端進行軟件性能測試,服務端與客戶端之間的通信協議類型為HTTP協議,那么本申請實施例中的業務請求為HTTP請求。
[0077]基于上述場景,實施例2中實現軟件性能測試的過程如圖2所示,包括下述步驟:
[0078]步驟21:監聽線上的HTTP服務端的服務端口,得到第一HTTP請求;
[0079]步驟22:將得到的第一HTTP請求序列化成JSON Array,并保存到Redis數據庫中;
[0080]步驟23:讀取Redis中的JSON Array,并對其進行反序列化,得到第二HTTP請求;[0081 ]步驟24:向線下的被測試HTTP服務端并發地發送預定數量的第二HTTP請求;
[0082]步驟25:監測所述被測試HTTP服務端在對每個第二HTTP請求進行響應時,各個模塊耗費的時長;
[0083]步驟26:得到各個模塊執行操作的平均耗時;
[0084]步驟27:將處理操作平均耗時大于3秒的模塊作為處理性能低的模塊。
[0085]本申請實施例2提供的軟件性能測試方法,通過獲取線上HTTP服務端接收到的第一 HTTP請求,并利用根據第一 HTTP請求生成的請求數據,生成第二 HTTP請求,然后利用第二HTTP請求進行性能測試,從而可以模擬線上真實的場景,以便發現被測試HTTP服務端在線上真實運行時可能會出現的性能問題。相對于現有技術中利用開發人員根據經驗編寫的業務請求進行軟件性能測試,提高了軟件性能測試結果的準確性。
[0086]實施例3
[0087]為解決現有技術中軟件性能測試的結果不準確的問題,本申請實施例3提供一種軟件性能測試裝置。該軟件性能測試裝置的結構示意圖如圖3所示,主要包括下述功能單元:
[0088]線上業務請求獲取單元31,用于獲取線上軟件系統接收到的第一業務請求;
[0089]請求數據存儲單元32,用于將獲得的第一業務請求轉換成預定格式的請求數據,并存儲到數據庫中;
[0090]第二業務請求生成單元33,用于根據所述數據庫中存儲的請求數據,和預設的第二業務請求生成規則,生成第二業務請求;
[0091]性能測試單元34,用于利用生成的第二業務請求,進行軟件性能測試。
[0092]本申請實施例中,軟件性能測試裝置的【具體實施方式】有很多種,在一種實施方式中,所述請求數據存儲單元32,具體用于對獲得的第一業務請求執行序列化操作,得到預定格式的請求數據;將得到的預定格式的請求數據持久化到數據庫中。
[0093]在一種實施方式中,所述性能測試單元34,具體用于并發地向被測試軟件系統發送預定數量的第二業務請求;
[0094]獲取各性能指標數據;所述各性能指標數據,分別反映所述被測試軟件系統的部分或全部模塊各自在響應所述業務請求時的性能;所述各性能指標數據,是被測試軟件系統通過執行預先注入被測試軟件系統的監控代碼得到的;所述監控代碼所實現的功能,包括:對所述部分或全部模塊的運行情況進行監控,并根據監控結果,生成所述各性能指標數據;
[0095]根據所述各性能指標數據,確定被測試軟件系統的性能。
[0096]在一種實施方式中,所述各個模塊的性能指標數據包括下述至少一種:
[0097]各個模塊執行操作耗費的時長;各個模塊執行操作的錯誤率。
[0098]在一種實施方式中,線上業務請求獲取單元31,具體用于通過對線上軟件系統的服務端口進行監聽,獲取線上軟件系統接收到的第一業務請求。
[0099]在一種實施方式中,所述裝置還包括測試結果展示單元35,用于在確定被測試軟件系統的性能后,將獲取的各項性能指標數據進行展示。
[0100]本申請實施例3提供的軟件性能測試裝置,通過獲取線上軟件系統接收到的第一業務請求,并利用根據第一業務請求生成的請求數據,生成第二業務請求,然后利用第二業務請求進行性能測試,從而可以模擬線上真實的場景,以便發現被測試軟件在線上真實運行時可能會出現的性能問題。相對于現有技術中利用開發人員根據經驗編寫的業務請求進行軟件性能測試,提高了軟件性能測試結果的準確性。
[0101]本領域內的技術人員應明白,本發明的實施例可提供為方法、系統、或計算機程序產品。因此,本發明可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本發明可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。
[0102]本發明是參照根據本發明實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合。可提供這些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
[0103]這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
[0104]這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
[0105]在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出接口、網絡接口和內存。
[0106]內存可能包括計算機可讀介質中的非永久性存儲器,隨機存取存儲器(RAM)和/或非易失性內存等形式,如只讀存儲器(ROM)或閃存(flash RAM)。內存是計算機可讀介質的示例。
[0107]計算機可讀介質包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現信息存儲。信息可以是計算機可讀指令、數據結構、程序的模塊或其他數據。計算機的存儲介質的例子包括,但不限于相變內存(PRAM)、靜態隨機存取存儲器(SRAM)、動態隨機存取存儲器(DRAM)、其他類型的隨機存取存儲器(RAM)、只讀存儲器(ROM)、電可擦除可編程只讀存儲器(EEPROM)、快閃記憶體或其他內存技術、只讀光盤只讀存儲器(CD-ROM)、數字多功能光盤(DVD)或其他光學存儲、磁盒式磁帶,磁帶磁磁盤存儲或其他磁性存儲設備或任何其他非傳輸介質,可用于存儲可以被計算設備訪問的信息。按照本文中的界定,計算機可讀介質不包括暫存電腦可讀媒體(transitory media),如調制的數據信號和載波。
[0108]還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
[0109]本領域技術人員應明白,本申請的實施例可提供為方法、系統或計算機程序產品。因此,本申請可采用完全硬件實施例、完全軟件實施例或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-R0M、光學存儲器等)上實施的計算機程序產品的形式。
[0110]以上所述僅為本申請的實施例而已,并不用于限制本申請。對于本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的權利要求范圍之內。
【主權項】
1.一種軟件性能測試方法,其特征在于,包括: 獲取線上軟件系統接收到的第一業務請求; 將獲得的第一業務請求轉換成預定格式的請求數據,并存儲到數據庫中; 根據所述數據庫中存儲的請求數據,和預設的第二業務請求生成規則,生成第二業務請求; 利用生成的第二業務請求,進行軟件性能測試。2.如權利要求1所述方法,其特征在于,獲取線上軟件系統接收到的第一業務請求,具體包括: 通過對線上軟件系統的服務端口進行監聽,獲取線上軟件系統接收到的第一業務請求。3.如權利要求1所述方法,其特征在于,將獲得的第一業務請求轉換成預定格式的請求數據,并存儲到數據庫中,具體包括: 對獲得的第一業務請求執行序列化操作,得到預定格式的請求數據; 將得到的預定格式的請求數據持久化到數據庫中。4.如權利要求1所述方法,其特征在于,利用生成的第二業務請求,進行軟件性能測試,具體包括: 并發地向被測試軟件系統發送預定數量的第二業務請求; 獲取各性能指標數據;所述各性能指標數據,分別反映所述被測試軟件系統的部分或全部模塊各自在響應所述第二業務請求時的性能;所述各性能指標數據,是被測試軟件系統通過執行預先注入被測試軟件系統的監控代碼得到的;所述監控代碼所實現的功能,包括:對所述部分或全部模塊的運行情況進行監控,并根據監控結果,生成所述各性能指標數據; 根據所述各性能指標數據,確定被測試軟件系統的性能。5.如權利要求4所述方法,其特征在于,所述各個模塊的性能指標數據包括下述至少一種: 各個模塊執行操作耗費的時長; 各個模塊執行操作的錯誤率。6.如權利要求4所述方法,其特征在于,在確定被測試軟件系統的性能后,所述方法還包括:將獲取的各項性能指標數據進行展示。7.一種軟件性能測試裝置,其特征在于,包括: 線上業務請求獲取單元,用于獲取線上軟件系統接收到的第一業務請求; 請求數據存儲單元,用于將獲得的第一業務請求轉換成預定格式的請求數據,并存儲到數據庫中; 第二業務請求生成單元,用于根據所述數據庫中存儲的請求數據,和預設的第二業務請求生成規則,生成第二業務請求; 性能測試單元,用于利用生成的第二業務請求,進行軟件性能測試。8.如權利要求7所述裝置,其特征在于: 所述請求數據存儲單元,具體用于對獲得的第一業務請求執行序列化操作,得到預定格式的請求數據; 將得到的預定格式的請求數據持久化到數據庫中。9.如權利要求7所述裝置,其特征在于: 所述性能測試單元,具體用于并發地向被測試軟件系統發送預定數量的第二業務請求; 獲取各性能指標數據;所述各性能指標數據,分別反映所述被測試軟件系統的部分或全部模塊各自在響應所述業務請求時的性能;所述各性能指標數據,是被測試軟件系統通過執行預先注入被測試軟件系統的監控代碼得到的;所述監控代碼所實現的功能,包括:對所述部分或全部模塊的運行情況進行監控,并根據監控結果,生成所述各性能指標數據;根據所述各性能指標數據,確定被測試軟件系統的性能。10.如權利要求9所述裝置,其特征在于,所述裝置還包括: 測試結果展示單元,用于在確定被測試軟件系統的性能后,將獲取的各項性能指標數據進行展示。
【文檔編號】G06F11/36GK106095688SQ201610465993
【公開日】2016年11月9日
【申請日】2016年6月23日
【發明人】胡剛, 王曉宇, 王駿, 鄢雷, 甘成
【申請人】微夢創科網絡科技(中國)有限公司
網友詢問(wen)留言(yan) 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1