云服務(wù)健壯性測試系統(tǒng)及測試方法
【專利摘要】云服務(wù)健壯性測試系統(tǒng)及測試方法,涉及云服務(wù)健壯性測試領(lǐng)域。實(shí)現(xiàn)了對(duì)云服務(wù)健壯性的測試。本發(fā)明提供用戶選擇界面,用于實(shí)現(xiàn)人機(jī)交互,用戶可以選擇待測云服務(wù),管理控制模塊將測試信息打包成消息通過通信模塊作用于具體測試對(duì)象,并管理測試的控制邏輯,包括測試的開始與終止、結(jié)果清空與數(shù)據(jù)分析等,通信模塊將測試控制信息發(fā)送給測試對(duì)象并將測試對(duì)象返回的測試結(jié)果輸出到測試平臺(tái)的相應(yīng)控制界面。實(shí)現(xiàn)對(duì)云服務(wù)的健壯性的測試,并通過結(jié)果分析實(shí)現(xiàn)對(duì)云服務(wù)健壯性的評(píng)估。本發(fā)明適用于對(duì)云服務(wù)做健壯性測試。
【專利說明】云服務(wù)健壯性測試系統(tǒng)及測試方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及云服務(wù)健壯性測試領(lǐng)域。
【背景技術(shù)】
[0002] 近年來,隨著云服務(wù)的普及與推廣,云服務(wù)的健壯性顯得越來越重要。為了加快云 服務(wù)產(chǎn)業(yè)的成型與發(fā)展,加速云服務(wù)平臺(tái)與應(yīng)用的技術(shù)研究,云服務(wù)器系統(tǒng)與云服務(wù)平臺(tái) 的健壯性評(píng)測具有重要的研究意義。
[0003] 云計(jì)算體系三種包括核心云服務(wù)SaaS (Software-as-a-Service,軟件即服務(wù))、 PaaS(Platform-as-a-Service,平臺(tái)即服務(wù))和 IaaS(Infrastructure-as-a-Service,基 礎(chǔ)設(shè)施即服務(wù)),雖然三者彼此之間存在依賴關(guān)系,但對(duì)用戶來說,其服務(wù)的內(nèi)容及與用戶 的交互方式存在較大的差異,盡管如此,也可以從整體的角度來理解云服務(wù)的健壯性,將其 看成一種提供給用戶使用的服務(wù)資源,可以這樣定義其健壯性:在外界壓力或具有異常的 服務(wù)調(diào)用申請情況下,云服務(wù)能夠保持正常提供給用戶使用狀態(tài)的一種能力的度量。
[0004] 健壯性測試的結(jié)果大體分為兩種即通過與失效,具體結(jié)果隨著服務(wù)模式的不同而 有所區(qū)別。經(jīng)典的crash模型能夠定義和度量操作系統(tǒng)的健壯性,針對(duì)系統(tǒng)的失效定義了 不同的crash類別,如表1所示:
[0005] 表 1 CRASH 類別
[0006]
【權(quán)利要求】
1. 一種云服務(wù)健壯性測試系統(tǒng),其特征在于,它包括用戶選擇模塊(1)、管理控制模塊 (2)、通信模塊(3)和具體測試模塊(4); 用戶選擇模塊(1)包括選擇待測服務(wù)層次模塊(1-1)、選擇測試服務(wù)模塊(1-2)和選擇 測試接口類型模塊(1-3); 選擇待測服務(wù)層次模塊(1-1)用于為用戶提供云服務(wù)層次選擇端口,同時(shí)向管理控制 模塊(2)發(fā)送用戶所選擇的服務(wù)層次信息;云服務(wù)層次包括laaS層、paaS層和SaaS層; 選擇測試服務(wù)模塊(1-2)用于向用戶提供云服務(wù)的類型的選擇端口,并將用戶所選擇 的云服務(wù)類型發(fā)送至管理控制模塊(2); 擇測試接口類型模塊(1-3)用于向用戶提供云測試接口類型的選擇端口,并將用戶所 選擇的云服務(wù)測試接口類型發(fā)送至管理控制模塊(2); 管理控制模塊(2)包括測試結(jié)果輸出顯示模塊(2-1)、測試執(zhí)行模塊(2-2)、測試結(jié) 果清空模塊(2-3)、測試結(jié)果分析模塊(2-4)、測試停止模塊(2-5)和測試?yán)^續(xù)執(zhí)行模塊 (2-6); 測試結(jié)果輸出顯示模塊(2-1)用于接收通信模塊(3)發(fā)送的測試結(jié)果信息,并對(duì)測試 結(jié)果進(jìn)行輸出顯示; 測試執(zhí)行模塊(2-2)用于向用戶提供開始執(zhí)行測試操作端口,接收選擇待測服務(wù)層次 模塊(1-1)、選擇測試服務(wù)模塊(1-2)和選擇測試接口類型模塊(1-3)所發(fā)送的用戶選擇信 息,并將用戶選擇的信息進(jìn)行打包后經(jīng)通信模塊(3)發(fā)送至具體測試模塊(4); 測試結(jié)果清空模塊(2-3)用于向用戶提供清空測試結(jié)果操作端口,同時(shí)向測試結(jié)果分 析模塊(2-4)和測試結(jié)果輸出顯示模塊(2-1)發(fā)送結(jié)果清空命令; 測試結(jié)果分析模塊(2-4)用于向用戶提供分析測試結(jié)果操作端口,接收通信模塊(3) 發(fā)送的測試結(jié)果信息,并根據(jù)用戶的操作對(duì)測試結(jié)果進(jìn)行健壯性分析; 測試停止模塊(2-5)用于向用戶提供控制測試停止的操作端口,同時(shí)向測試執(zhí)行模塊 (2-2)發(fā)送測試停止命令,并經(jīng)通信模塊(3)向具體測試模塊(4)發(fā)送測試停止命令; 測試?yán)^續(xù)執(zhí)行模塊(2-6)用于向用戶提供控制測試?yán)^續(xù)執(zhí)行的操作端口,并將繼續(xù)執(zhí) 行操作命令通過通信模塊(3)發(fā)送至具體測試模塊(4); 通信模塊(3)用于接收管理控制模塊(2)發(fā)送的測試控制信息,并將接收的控制信息 發(fā)送至具體測試模塊(4),同時(shí)接收具體測試模塊(4)的發(fā)送的測試結(jié)果信號(hào),并將接收的 測試結(jié)果信號(hào)發(fā)送至管理控制模塊(2); 具體測試模塊(4)包括IaaS層云服務(wù)健壯性測試模塊(4-1)、PaaS層云服務(wù)健壯性測 試模塊(4-2)和SaaS層云服務(wù)健壯性測試模塊(4-2); IaaS層云服務(wù)健壯性測試模塊(4-1)用于接收通信模塊(3)發(fā)送的測試控制信息,并 根據(jù)接收的信息判斷用戶所選擇的測試服務(wù)是否屬于IaaS層的服務(wù),若是,則根據(jù)用戶的 選擇信息做IaaS層云服務(wù)的健壯性測試,并將測試結(jié)果進(jìn)行發(fā)送至通信模塊(3),并對(duì)測 試結(jié)構(gòu)進(jìn)行存儲(chǔ),同時(shí)接收通信模塊發(fā)送的測試執(zhí)行、測試結(jié)果清空、測試結(jié)果分析、測試 停止或測試?yán)^續(xù)執(zhí)行控制命令執(zhí)行相應(yīng)的操作; PaaS層云服務(wù)健壯性測試模塊(4-2)用于接收通信模塊(3)發(fā)送的測試控制信息,并 根據(jù)接收的信息判斷用戶所選擇的測試服務(wù)是否屬于PaaS層的服務(wù),若是,則根據(jù)用戶的 選擇信息做PaaS層云服務(wù)的健壯性測試,并將測試結(jié)果發(fā)送至通信模塊(3),并對(duì)測試結(jié) 構(gòu)進(jìn)行存儲(chǔ),同時(shí)接收通信模塊發(fā)送的測試執(zhí)行、測試結(jié)果清空、測試結(jié)果分析、測試停止 或測試?yán)^續(xù)執(zhí)行控制命令執(zhí)行相應(yīng)的操作; SaaS層云服務(wù)健壯性測試模塊(4-2)用于接收通信模塊(3)發(fā)送的測試控制信息,并 根據(jù)接收的信息判斷用戶所選擇的測試服務(wù)是否屬于SaaS層的服務(wù),若是,則根據(jù)用戶的 選擇信息做SaaS層云服務(wù)的健壯性測試,并將測試結(jié)果發(fā)送至通信模塊(3),并對(duì)測試結(jié) 構(gòu)進(jìn)行存儲(chǔ),同時(shí)接收通信模塊發(fā)送的測試執(zhí)行、測試結(jié)果清空、測試結(jié)果分析、測試停止 或測試?yán)^續(xù)執(zhí)行控制命令執(zhí)行相應(yīng)的操作。
2. 根據(jù)權(quán)利要求1所述的一種云服務(wù)健壯性測試系統(tǒng),其特征在于,IaaS層云服務(wù)健 壯性測試模塊(4-1)、PaaS層云服務(wù)健壯性測試模塊(4-2)和SaaS層云服務(wù)健壯性測試模 塊(4-2)均包括服務(wù)接口分析模塊、測試用例生成模塊、服務(wù)調(diào)用模塊和測試結(jié)果分析模 塊; 接口分析模塊用于接收通信模塊發(fā)送的用戶選擇的信息包選擇信息包和控制信息,并 對(duì)用戶選擇的云服務(wù)提供的接口進(jìn)行分析; 測試用例生成模塊用于列表描述接口分析模塊中的接口參數(shù),并在接口分析模塊中的 參數(shù)庫中參數(shù)進(jìn)行隨機(jī)選擇生成測試用例; 服務(wù)調(diào)用模塊用于對(duì)用戶選擇的具體云服務(wù)的接口調(diào)用方式進(jìn)行測試用例的服務(wù)申 請; 測試結(jié)果回收模塊用于采用測試端結(jié)果輸出與云服務(wù)日志查看兩種方式來回收測結(jié) 果,并根據(jù)測試結(jié)果分析模塊(2-4)經(jīng)通信模塊(3)發(fā)送的控制信息進(jìn)行健壯性評(píng)估,并將 健壯性評(píng)估結(jié)構(gòu)發(fā)送至通信模塊(3)。
3. 根據(jù)權(quán)利要求2所述的一種云服務(wù)健壯性測試系統(tǒng),其特征在于,接口分析模塊還 包括:接口的參數(shù)分析模塊,參數(shù)預(yù)定義模塊、參數(shù)庫生成策略模塊和分類并生成參數(shù)庫模 塊; 接口的參數(shù)分析模塊用于根據(jù)用戶所選擇的具體云服務(wù),收集改云服務(wù)的接口信息, 獲得用戶所選擇的具體云服務(wù)的接口信息; 參數(shù)預(yù)定義模塊根據(jù)高覆蓋率與合理性的原則對(duì)用戶所選擇的具體云服務(wù)進(jìn)行接口 參數(shù)數(shù)據(jù)類型定義,獲得預(yù)定義參數(shù)庫;所述高覆蓋率是定義出的數(shù)據(jù)類型必須完全覆蓋 所有接口參數(shù)的類型;合理性是接口參數(shù)的數(shù)據(jù)類型分類合理,預(yù)定義的參數(shù)數(shù)據(jù)類型合 理; 參數(shù)庫生成策略模塊用于選擇參數(shù)數(shù)據(jù)類型的邊界值、空值、異常值和有效值加入到 預(yù)定義后的參數(shù)類型的參數(shù)庫中; 測試用例隨機(jī)生成模塊用于描述預(yù)先定義好參數(shù)數(shù)據(jù)類型每個(gè)接口的信息,將接口與 其參數(shù)生成接口與參數(shù)列表; 參數(shù)列表的格式為:
服務(wù)調(diào)用模塊用于接口參數(shù)列表中查詢是否有用戶選擇的測試接口類別描述信息,并 根據(jù)用戶選擇接口類型進(jìn)行接口類別匹配; 若類別匹配,則說明該接口符合測試標(biāo)準(zhǔn),若類別不匹配該接口不在測試范圍內(nèi),進(jìn)行 下一個(gè)接口的類別匹配直至匹配到接口信息后,針對(duì)其參數(shù)類型從其參數(shù)庫中隨機(jī)選擇參 數(shù)生成測試用例。
4.云服務(wù)健壯性測試方法,其特征在于,該方法的具體步驟為: 用戶選擇步驟;該步驟包括的具體子步驟為: 用于為用戶提供云服務(wù)層次選擇端口,同時(shí)向管理控制模塊(2)發(fā)送用戶所選擇的服 務(wù)層次信息選擇待測服務(wù)層次的子步驟;該步驟中所述的云服務(wù)層次包括laaS層云服務(wù)、 paaS層云服務(wù)和SaaS層云服務(wù); 用于向用戶提供云服務(wù)的類型的選擇端口,并將用戶所選擇的云服務(wù)類型發(fā)送至管理 控制模塊(2)的選擇測試服務(wù)的子步驟; 用于向用戶提供云測試接口類型的選擇端口,并將用戶所選擇的云服務(wù)測試接口類型 發(fā)送至管理控制模塊(2)的選擇測試接口類型的子步驟; 管理控制步驟,該步驟包括的具體子步驟為: 包括測試結(jié)果輸出顯示模塊(2-1)擇測試接口類型模塊(1-3)、測試執(zhí)行模塊(2-2)、 測試結(jié)果清空模塊(2-3)、測試結(jié)果分析模塊(2-4)、測試停止模塊(2-5)和測試?yán)^續(xù)執(zhí)行 模塊(2-6); 用于接收通信模塊(3)發(fā)送的測試結(jié)果信息,并對(duì)測試結(jié)果進(jìn)行輸出顯示的測試結(jié)果 輸出顯示的子步驟; 用于向用戶提供開始執(zhí)行測試操作端口,接收測試停止模塊(2-5)發(fā)送的停止測試命 令和測試?yán)^續(xù)執(zhí)行模塊(2-6)的繼續(xù)執(zhí)行測試命令的測試執(zhí)行子步驟;該步驟同時(shí)接收選 擇待測服務(wù)層次模塊(1-1)、選擇測試服務(wù)模塊(1-2)和選擇測試接口類型模塊(1-3)所發(fā) 送的用戶選擇信息,并將用戶選擇的信息進(jìn)行打包后經(jīng)通信模塊(3)發(fā)送至具體測試模塊 ⑷; 用于向用戶提供清空測試結(jié)果操作端口,同時(shí)向測試結(jié)果分析模塊(2-4)和測試結(jié)果 輸出顯示模塊(2-1)發(fā)送結(jié)果清空命令的測試結(jié)果清空的子步驟; 用于向用戶提供分析測試結(jié)果操作端口,接收通信模塊(3)發(fā)送的測試結(jié)果信息,并 根據(jù)用戶的操作對(duì)測試結(jié)果進(jìn)行分析的測試結(jié)果健壯性分析的的子步驟; 用于向用戶提供控制測試停止的操作端口,同時(shí)向測試執(zhí)行模塊(2-2)發(fā)送測試停止 命令,并經(jīng)通信模塊(3)向具體測試模塊(4)發(fā)送測試停止命令的測試停止的測試執(zhí)行的 子步驟; 用于向用戶提供控制測試?yán)^續(xù)執(zhí)行的操作端口,并將繼續(xù)執(zhí)行操作命令通過通信模塊 (3)發(fā)送至具體測試模塊(4)的測試?yán)^續(xù)執(zhí)行的子步驟; 通信步驟;該步驟用于接收管理控制模塊(2)發(fā)送的測試控制信息,并將接收的控制 信息發(fā)送至具體測試模塊(4),同時(shí)接收具體測試模塊(4)的發(fā)送的測試結(jié)果信號(hào),并將接 收的測試結(jié)果信號(hào)發(fā)送至管理控制模塊(2); 具體測試步驟,該步驟包括的具體子步驟為: 用于接收通信模塊(3)發(fā)送的測試控制信息,并根據(jù)接收的信息中用戶選擇的云服務(wù) 是否屬于IaaS層的服務(wù),若是,則根據(jù)用戶的選擇信息做IaaS層云服務(wù)健壯性測試,并將 測試結(jié)果發(fā)送至通信模塊(3)的IaaS層云服務(wù)健壯性測試的子步驟;該步驟同時(shí)接收通信 模塊發(fā)送的測試執(zhí)行、測試結(jié)果清空、測試結(jié)果分析、測試停止或測試?yán)^續(xù)執(zhí)行控制命令執(zhí) 行相應(yīng)的操作; 用于接收通信模塊(3)發(fā)送的控制信息,并根據(jù)接收的信息判斷用戶所選擇的測試服 務(wù)是否屬于PaaS層的服務(wù),若是,則根據(jù)用戶的選擇信息做PaaS層云服務(wù)健壯性測試,并 將測試結(jié)果發(fā)送至通信模塊(3)的PaaS層云服務(wù)健壯性測試的子步驟;該步驟同時(shí)接收通 信模塊發(fā)送的測試執(zhí)行、測試結(jié)果清空、測試結(jié)果分析、測試停止或測試?yán)^續(xù)執(zhí)行控制命令 執(zhí)行相應(yīng)的操作; 用于接收通信模塊(3)發(fā)送的測試控制信息,并根據(jù)接收的信息判斷用戶所選擇的測 試服務(wù)是否屬于SaaS層的服務(wù),若是,則根據(jù)用戶的選擇信息做SaaS層服務(wù)的健壯性測 試,并將測試結(jié)果發(fā)送至通信模塊(3)的SaaS層云服務(wù)健壯性測試的子步驟;該步驟同時(shí) 接收通信模塊發(fā)送的測試執(zhí)行、測試結(jié)果清空、測試結(jié)果分析、測試停止或測試?yán)^續(xù)執(zhí)行控 制命令執(zhí)行相應(yīng)的操作。
5. 根據(jù)權(quán)利要求4所述的云服務(wù)健壯性測試方法,其特征在于,IaaS層云服務(wù)健壯性 測試子步驟、PaaS層云服務(wù)健壯性測試的子步驟和SaaS層云服務(wù)健壯性測試的子步驟均 包括: 用于接收通信模塊發(fā)送的用戶選擇的信息包選擇信息包和控制信息,并對(duì)用戶選擇的 云服務(wù)提供的接口進(jìn)行分析的接口分析的步驟; 用于列表描述接口分析模塊中的接口參數(shù),并在接口分析模塊中的參數(shù)庫中參數(shù)進(jìn)行 隨機(jī)選擇生成測試用例的測試用例生成的步驟; 用于對(duì)用戶選擇的具體云服務(wù)的接口調(diào)用方式進(jìn)行測試用例的服務(wù)申請的服務(wù)調(diào)用 的步驟; 用于采用測試端結(jié)果輸出與云服務(wù)日志查看兩種方式來回收測結(jié)果的測試結(jié)果回收 的步驟,該步驟還根據(jù)測試結(jié)果分析模塊(2-4)經(jīng)通信模塊(3)發(fā)送的控制信息進(jìn)行健壯 性評(píng)估,并將健壯性評(píng)估結(jié)構(gòu)發(fā)送至通信模塊(3)。
6. 根據(jù)權(quán)利要求5所述的云服務(wù)健壯性測試方法,其特征在于,用于接收通信模塊發(fā) 送的用戶選擇的信息包選擇信息包和控制信息,并對(duì)用戶選擇的云服務(wù)提供的接口進(jìn)行分 析的接口分析的步驟還包括: 用于根據(jù)用戶所選擇的具體云服務(wù),收集該云服務(wù)的接口信息,獲得用戶所選擇的具 體云服務(wù)的接口信息的接口的參數(shù)分析的步驟; 用于根據(jù)高覆蓋率與合理性的原則對(duì)用戶所選擇的具體云服務(wù)進(jìn)行接口參數(shù)數(shù)據(jù)類 型定義,獲得預(yù)定義參數(shù)庫的參數(shù)預(yù)定義的步驟;所述高覆蓋率是定義出的數(shù)據(jù)類型必須 完全覆蓋所有接口參數(shù)的類型;合理性是接口參數(shù)的數(shù)據(jù)類型分類合理,預(yù)定義的參數(shù)數(shù) 據(jù)類型合理; 用于選擇參數(shù)數(shù)據(jù)類型的邊界值、空值、異常值和有效值加入到預(yù)定義后的參數(shù)類型 的參數(shù)庫中的參數(shù)庫生成策略的步驟; 用于描述預(yù)先定義好參數(shù)數(shù)據(jù)類型每個(gè)接口的信息,將接口與其參數(shù)生成接口與參數(shù) 列表的測試用例隨機(jī)生成的步驟; 所述參數(shù)列表的格式為:
用于接口參數(shù)列表中查詢是否有用戶選擇的測試接口類別描述信息,并根據(jù)用戶選擇 接口類型進(jìn)行接口類別匹配的服務(wù)調(diào)用的步驟; 若類別匹配,則說明該接口符合測試標(biāo)準(zhǔn),若類別不匹配,該接口不在測試范圍內(nèi),進(jìn) 行下一個(gè)接口的類別匹配直至匹配到接口信息后,針對(duì)其參數(shù)類型從其參數(shù)庫中隨機(jī)選擇 參數(shù)生成測試用例。
【文檔編號(hào)】H04L29/08GK104298604SQ201410620689
【公開日】2015年1月21日 申請日期:2014年11月6日 優(yōu)先權(quán)日:2014年11月6日
【發(fā)明者】劉宏偉, 左德承, 張展, 封威, 溫東新, 董劍, 吳智博, 羅丹彥, 舒燕君, 宋曉彤, 吳娜, 薛利興, 馮懿, 王旭 申請人:哈爾濱工業(yè)大學(xué)