亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種軟件性能測試中無應答事務的測量方法

文檔序號:7678056閱讀:304來源:國知局
專利名稱:一種軟件性能測試中無應答事務的測量方法
技術領域
本發(fā)明涉及計算機技術領域,特別是涉及一種軟件性能測試中無應答事務的測量方法。
背景技術
軟件性能測試的目的是為了驗證系統(tǒng)是否達到用戶提出的性能指標,同時發(fā)現(xiàn)系統(tǒng)中存在的性能瓶頸,起到優(yōu)化系統(tǒng)的目的。軟件性能測試的方法為采用軟件開發(fā)技術,編寫自動執(zhí)行的測試代碼(即客戶端程序),在每種需要測試的事務開始和結束的時候加入標記,按照測試設計執(zhí)行代碼,統(tǒng)計每個事務的響應時間和單位時間內(nèi)業(yè)務的完成量(TPQ、事務成功率來衡量軟件的性能。軟件性能測試中的事務從功能的角度理解是應用程序完成的功能單元,從性能測試代碼內(nèi)部來看,是一個請求和其對應的應答的集合,或者幾組這樣的請求應答對的集
I=I O無應答事務由于業(yè)務的特殊原因,客戶端程序在請求過服務器后,服務器應答客戶端程序“請求已收到”(或服務器不做任何應答),之后不在繼續(xù)通知客戶端最終的處理結果的方式,稱為無應答事務。圖1是無應答事務的一個示意流程圖。如圖1所示,客戶端程序發(fā)送請求A到服務器(這里是將該請求標記為A,后續(xù)的文字中稱為請求A),服務器向客戶端程序返回‘請求A已收到’的回執(zhí),然后服務器處理請求A,將請求A的處理結果發(fā)送到外部系統(tǒng)程序。這里,服務器是指運行被測試軟件的機器;外部系統(tǒng)程序是無應答事務的處理結果的發(fā)送目的地,例如,在一個即時通信系統(tǒng)中,一個即時通信客戶端給另外一個即時通信客戶端發(fā)送無應答消息,那么該另外一個客戶端就是外部系統(tǒng)。按照現(xiàn)有的性能測試方案,客戶端程序只能把請求A發(fā)送前標記為A事務的開始, 把‘回請求A已收到’的回執(zhí)當作A事務的結束,由此得到事務的響應時間、TPS、成功率。但事實上,A事務的結束應該是以外部系統(tǒng)收到處理結果為結束標志的,這個事務度量才能真正反映出被測試系統(tǒng)的處理性能。相比之下,現(xiàn)有的性能測試方案得到的結果只有部分的測試意義或者完全沒有意義。

發(fā)明內(nèi)容
本發(fā)明提供了一種軟件性能測試中無應答事務的測量方法,該方法能夠準確地對包括無應答事務軟件的性能進行測試。為達到上述目的,本發(fā)明的技術方案是這樣實現(xiàn)的本發(fā)明公開了一種軟件性能測試中無應答事務的測量方法,其特征在于,該方法包括客戶端程序向服務器發(fā)送請求A,服務器向客戶端程序返回請求A已收到的回執(zhí);服務器處理請求A,并將請求A的處理結果發(fā)送給外部系統(tǒng)程序;
客戶端程序獲知外部系統(tǒng)程序接收到請求A的處理結果;客戶端程序?qū)l(fā)送請求A標記為無應答事務的開始,將獲知外部系統(tǒng)程序接收到請求A的處理結果標記為無應答事務的結束,由此測量無應答事務。由上述可見,本發(fā)明這種客戶端程序向服務器發(fā)送請求A,服務器向客戶端程序返回請求A已收到的回執(zhí),服務器處理請求A,并將請求A的處理結果發(fā)送給外部系統(tǒng)程序, 客戶端程序獲知外部系統(tǒng)程序接收到請求A的處理結果,客戶端程序?qū)l(fā)送請求A標記為無應答事務的開始,將獲知外部系統(tǒng)程序接收到請求A的處理結果標記為無應答事務的結束,由此測量無應答事務的技術方案,由于客戶端程序獲知外部系統(tǒng)程序接收到請求A的處理結果,并將獲知外部系統(tǒng)程序接收到請求A的處理結果標記為無應答事務的結束,相對于現(xiàn)有技術中將服務器發(fā)送的請求A已收到的回執(zhí)作為無應答事務的結束,能夠準確地對包括無應答事務軟件的性能進行測試。


圖1是無應答事務的一個示意流程圖;圖2是本發(fā)明實施例中的一種無應答事務的性能測試方法的流程圖;圖3是本發(fā)明實施例中采用方案一實現(xiàn)無應答事務的性能測試的流程圖;圖4是本發(fā)明實施例中采用方案二實現(xiàn)無應答事務的性能測試的流程圖;圖5是本發(fā)明實施例中采用方案三實現(xiàn)無應答事務的性能測試的流程圖。
具體實施例方式為了使本發(fā)明的目的、技術方案和優(yōu)點更加清楚,下面結合附圖和具體實施例對本發(fā)明進行詳細描述。圖2是本發(fā)明實施例中的一種無應答事務的性能測試方法的流程圖。如圖2所示, 該方法包括201,客戶端程序向服務器發(fā)送請求A,服務器向客戶端程序返回請求A已收到的回執(zhí)。202,服務器處理請求A,并將請求A的處理結果發(fā)送給外部系統(tǒng)程序。203,客戶端程序獲知外部系統(tǒng)程序接收到請求A的處理結果。204,客戶端程序?qū)l(fā)送請求A標記為無應答事務的開始,將獲知外部系統(tǒng)程序接收到請求A的處理結果標記為無應答事務的結束,由此測量無應答事務。在圖2所示的方案中,將客戶端程序和外部系統(tǒng)程序以某種方式聯(lián)系起來,使得客戶端程序能過獲知外部系統(tǒng)程序接收到請求A的處理結果,并把該事件作為無應答事務的結束,從而能夠準確地檢測出無應答事務的響應時間等。在本發(fā)明的實施例中提供三種客戶端程序獲知外部系統(tǒng)程序接收到請求A的處理結果的方案方案一將客戶端程序和外部系統(tǒng)程序?qū)崿F(xiàn)在同一個進程中,當服務器向外部系統(tǒng)程序發(fā)送請求A的處理結果時,客戶端程序能獲知外部系統(tǒng)程序接收到了請求A的處理結果。就是說在測試代碼中,同時實現(xiàn)客戶端和外部系統(tǒng)功能,在運行時,通過事前的安排,請求A的發(fā)送和最后請求A的處理結果都發(fā)生在同一個測試進程內(nèi),方便最后事務的計算,具體過程如圖3所示。圖3是本發(fā)明實施例中采用方案一實現(xiàn)無應答事務的性能測試的流程圖。如圖3 所示,客戶端程序和外部系統(tǒng)程序在同一個進程中,客戶端程序向服務器發(fā)送請求A,服務器向客戶端程序返回請求A已收到的回執(zhí),服務器處理請求A,并向外部系統(tǒng)程序返回請求 A的處理結果,由于客戶端程序和外部系統(tǒng)程序在同一個進程中,因此客戶端程序也能獲知外部系統(tǒng)程序接收到的請求A的處理結果。方案一的優(yōu)點在于在測試代碼中解決了事務定義的問題,方法簡潔,事務定義沒有引入其它必需添加的過程。但是方案一也有一個缺點當有多個客戶端程序?qū)κ聞誂進行測試,而外部系統(tǒng)程序只有1或有限的幾個時,這種方案不適用。因為不知道該將這有限的外部系統(tǒng)程序合并到哪些客戶端程序的進程中。方案二客戶端程序在啟動后向外部系統(tǒng)程序(又稱為擋板程序)注冊自己的位置信息; 外部系統(tǒng)程序在接收到請求A的處理結果后,通過查找客戶端注冊的位置信息,確定所述客戶端程序的位置,將請求A的處理結果發(fā)送給所述客戶端程序。具體如圖4所示圖4是本發(fā)明實施例中采用方案二實現(xiàn)無應答事務的性能測試的流程圖。如圖4 所示,客戶端程序在啟動后向外部系統(tǒng)程序注冊自己的位置信息,具體為客戶端程序?qū)⒆陨淼臉俗R以及自身所在進程的IP地址和端口號發(fā)送給外部系統(tǒng)程序,外部系統(tǒng)程序?qū)⑺隹蛻舳顺绦虻臉俗R以及IP地址和端口號對應保存。客戶端程序向服務器發(fā)送請求AJg 務器向客戶端程序返回請求A已收到的回執(zhí)。服務器處理請求A,并將請求A的處理結果發(fā)送給外部系統(tǒng)程序。所述外部系統(tǒng)程序在接收到請求A的處理結果后,通過查找客戶端注冊的位置信息,確定所述客戶端程序的位置,具體為外部系統(tǒng)程序從請求A的處理結果中獲取所述客戶端程序的標識(這是因為客戶端程序向服務器發(fā)送的請求A,以及服務器向外部系統(tǒng)程序發(fā)送的請求A的處理結果中都一直攜帶客戶端程序的標識),根據(jù)該標識查詢所保存的信息,得到對應的IP地址和端口號,根據(jù)所得到的IP地址和端口號確定所述客戶端程序的位置。然后外部系統(tǒng)程序?qū)⒄埱驛的處理結果返回給客戶端程序。方案二的特點在于實現(xiàn)方法簡單直接,適合測試壓力不是很大的情況。方案三建立客戶端程序和客戶端程序所在客戶端進程之間的匹配規(guī)則;客戶端進程根據(jù)所述匹配原則確定自身對應的客戶端程序并啟動該客戶端程序;外部系統(tǒng)程序在接收到請求A的處理結果后,根據(jù)所述匹配原則確定客戶端進程的位置,將請求A的處理結果返回給所述客戶端進程,進而所述客戶端程序獲知外部系統(tǒng)接收到請求A的處理結果。具體如圖 5所示。圖5是本發(fā)明實施例中采用方案三實現(xiàn)無應答事務的性能測試的流程圖。在本方案中,預先建立配置文件,在該配置文件中保存客戶端程序的標識與客戶端進程的IP地址和端口號之間的對應關系。則具體流程如圖5所示,客戶端進程根據(jù)自身的IP地址和端口號查找配置文件,找到對應客戶端程序的標識,啟動該客戶端程序標識對應的客戶端程序。 客戶端程序啟動后向服務器發(fā)送請求A,服務器向客戶端程序返回請求A已收到的回執(zhí)。服
6務器處理請求A,并將請求A的處理結果發(fā)送給外部系統(tǒng)程序。外部系統(tǒng)程序在接收到請求 A的處理結果后,從請求A的處理結果中獲取客戶端程序的標識,根據(jù)客戶端程序的標識查找配置文件,找到對應客戶端進程的IP地址和端口號,向客戶端進程返回請求A的處理結果。由于所述客戶端程序在所述客戶端進程中,因此能夠獲知外部系統(tǒng)程序接收到了請求 A的處理結果。在本發(fā)明的一個實施例中,當有N (N為大于1的自然數(shù))個客戶端進程時在配置文件中保存客戶端程序的標識模N后的余數(shù)與客戶端進程的IP地址和端口號之間的對應關系??蛻舳诉M程根據(jù)匹配原則確定自身對應的客戶端程序為客戶端進程根據(jù)自身的IP 地址和端口號查找所述配置文件,找到對應的余數(shù),然后找到其標識模N后余數(shù)等于該找到的余數(shù)的客戶端程序。外部系統(tǒng)程序在接收到請求A的處理結果后,根據(jù)匹配原則確定客戶端進程的位置具體為外部系統(tǒng)程序從請求A的處理結果中獲取客戶端程序的標識, 根據(jù)客戶端程序的標識模N后的余數(shù)查找配置文件,找到對應客戶端進程的IP地址和端口號。例如,有50個客戶端進程,客戶端程序的標識是數(shù)字或者可以轉(zhuǎn)化成數(shù)字,則對每個客戶端程序的標識進行模50取余數(shù),同一個余數(shù)對應一個IP地址和端口號對,這樣建立起來一個匹配關系,將該匹配關系保存到配置文件中??蛻舳顺绦蚝屯獠肯到y(tǒng)程序遵循同樣的規(guī)則完成整個測試過程。方案三的特點是能夠完成大壓力情況下的性能測試。綜上所述,本發(fā)明這種客戶端程序向服務器發(fā)送請求A,服務器向客戶端程序返回請求A已收到的回執(zhí),服務器處理請求A,并將請求A的處理結果發(fā)送給外部系統(tǒng)程序,客戶端程序獲知外部系統(tǒng)程序接收到請求A的處理結果,客戶端程序?qū)l(fā)送請求A標記為無應答事務的開始,將獲知外部系統(tǒng)程序接收到請求A的處理結果標記為無應答事務的結束, 由此測量無應答事務的技術方案,由于客戶端程序獲知外部系統(tǒng)程序接收到請求A的處理結果,并將獲知外部系統(tǒng)程序接收到請求A的處理結果標記為無應答事務的結束,相對于現(xiàn)有技術中將服務器發(fā)送的請求A已收到的回執(zhí)作為無應答事務的結束,能夠準確地對包含無應答事務的軟件的性能進行測試。以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所做的任何修改、等同替換、改進等,均應包含在本發(fā)明保護的范圍之內(nèi)。
權利要求
1.一種軟件性能測試中無應答事務的測量方法,其特征在于,該方法包括客戶端程序向服務器發(fā)送請求A,服務器向客戶端程序返回請求A已收到的回執(zhí);服務器處理請求A,并將請求A的處理結果發(fā)送給外部系統(tǒng)程序;客戶端程序獲知外部系統(tǒng)程序接收到請求A的處理結果;客戶端程序?qū)l(fā)送請求A標記為無應答事務的開始,將獲知外部系統(tǒng)程序接收到請求 A的處理結果標記為無應答事務的結束,由此測量無應答事務。
2.根據(jù)權利要求1所述的方法,其特征在于,所述由此測量無應答事務包括測量無應答事務的響應時間、單位時間內(nèi)業(yè)務的完成量和成功率。
3.根據(jù)權利要求1或2所述的方法,其特征在于,所述客戶端程序獲知外部系統(tǒng)程序接收到請求A的處理結果包括將客戶端程序和外部系統(tǒng)程序?qū)崿F(xiàn)在同一個進程中,當服務器向外部系統(tǒng)程序發(fā)送請求A的處理結果時,客戶端程序能獲知外部系統(tǒng)程序接收到了請求A的處理結果。
4.根據(jù)權利要求1或2所述的方法,其特征在于,所述客戶端程序獲知外部系統(tǒng)程序接收到請求A的處理結果包括客戶端程序在啟動后向外部系統(tǒng)程序注冊自己的位置信息;外部系統(tǒng)程序在接收到請求A的處理結果后,通過查找客戶端注冊的位置信息,確定所述客戶端程序的位置,將請求A的處理結果發(fā)送給所述客戶端程序。
5.根據(jù)權利要求4所述的方法,其特征在于,所述客戶端程序在啟動后向外部系統(tǒng)程序注冊自己的位置信息包括客戶端程序?qū)⒆陨淼臉俗R以及自身所在進程的IP地址和端口號發(fā)送給外部系統(tǒng)程序,外部系統(tǒng)程序?qū)⑺隹蛻舳顺绦虻臉俗R以及IP地址和端口號對應保存;所述外部系統(tǒng)程序在接收到請求A的處理結果后,通過查找客戶端注冊的位置信息, 確定所述客戶端程序的位置包括外部系統(tǒng)程序從請求A的處理結果中獲取所述客戶端程序的標識,根據(jù)該標識查詢所保存的信息,得到對應的IP地址和端口號,根據(jù)所得到的IP 地址和端口號確定所述客戶端程序的位置。
6.根據(jù)權利要求1或2所述的方法,其特征在于,所述客戶端程序獲知外部系統(tǒng)程序接收到請求A的處理結果包括建立客戶端程序和客戶端程序所在客戶端進程之間的匹配規(guī)則;客戶端進程根據(jù)所述匹配原則確定自身對應的客戶端程序并啟動該客戶端程序;外部系統(tǒng)程序在接收到請求A的處理結果后,根據(jù)所述匹配原則確定客戶端進程的位置,將請求A的處理結果返回給所述客戶端進程,進而所述客戶端程序獲知外部系統(tǒng)接收到請求A的處理結果。
7.根據(jù)權利要求6所述的方法,其特征在于,所述建立客戶端程序和客戶端程序所在客戶端進程之間的匹配規(guī)則包括建立配置文件,在該配置文件中保存客戶端程序的標識與客戶端進程的IP地址和端口號之間的對應關系;所述客戶端進程根據(jù)所述匹配原則確定自身對應的客戶端程序包括客戶端進程根據(jù)自身的IP地址和端口號查找所述配置文件,找到對應客戶端程序的標識;所述外部系統(tǒng)程序在接收到請求A的處理結果后,根據(jù)所述匹配原則確定客戶端進程的位置包括外部系統(tǒng)程序從請求A的處理結果中獲取客戶端程序的標識,根據(jù)客戶端程序的標識查找配置文件,找到對應客戶端進程的IP地址和端口號。
8.根據(jù)權利要求7所述的方法,其特征在于,當有N個客戶端進程時 N為大于1的自然數(shù);在配置文件中保存客戶端程序的標識模N后的余數(shù)與客戶端進程的IP地址和端口號之間的對應關系;所述客戶端進程根據(jù)所述匹配原則確定自身對應的客戶端程序包括客戶端進程根據(jù)自身的IP地址和端口號查找所述配置文件,找到對應的余數(shù),然后找到其標識模N后余數(shù)等于該找到的余數(shù)的客戶端程序;所述外部系統(tǒng)程序在接收到請求A的處理結果后,根據(jù)所述匹配原則確定客戶端進程的位置包括外部系統(tǒng)程序從請求A的處理結果中獲取客戶端程序的標識,根據(jù)客戶端程序的標識模N后的余數(shù)查找配置文件,找到對應客戶端進程的IP地址和端口號。
全文摘要
本發(fā)明公開了一種軟件性能測試中無應答事務的測量方法。該方法包括客戶端程序向服務器發(fā)送請求A,服務器向客戶端程序返回請求A已收到的回執(zhí);服務器處理請求A,并將請求A的處理結果發(fā)送給外部系統(tǒng)程序;客戶端程序獲知外部系統(tǒng)程序接收到請求A的處理結果;客戶端程序?qū)l(fā)送請求A標記為無應答事務的開始,將獲知外部系統(tǒng)程序接收到請求A的處理結果標記為無應答事務的結束,由此測量無應答事務。本發(fā)明的技術方案解決了包含無應答事務的軟件性能測試場景中,如何準確地測量無應答事務的問題。
文檔編號H04L29/06GK102333004SQ20111013979
公開日2012年1月25日 申請日期2011年5月27日 優(yōu)先權日2011年5月27日
發(fā)明者林謖 申請人:北京新媒傳信科技有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1