分布式自動(dòng)化測(cè)試工具
隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,大量分布式系統(tǒng)被部署在網(wǎng)絡(luò)中,常見的如Web應(yīng)用、Web Service等。分布式系統(tǒng)不同于一般軟件系統(tǒng),它通常由物理分布的多個(gè)子系統(tǒng)組成,這些子系統(tǒng)通過相互間的協(xié)作完成計(jì)算任務(wù),具有物理分布、并發(fā)訪問、時(shí)序敏感、平臺(tái)異構(gòu)等特點(diǎn)。此外,分布式系統(tǒng)中的諸多子系統(tǒng)在觸發(fā)方式、工作方式等方面往往也不屬于同一類型,比如,通過網(wǎng)絡(luò)協(xié)議傳遞消息的子系統(tǒng)和利用本地接口進(jìn)行方法調(diào)用的子系統(tǒng)等。 因此,對(duì)分布式系統(tǒng)的測(cè)試也不同于一般軟件系統(tǒng)的測(cè)試,需要采用分布式測(cè)試。
一、什么是分布式測(cè)試
分布式測(cè)試是指通過局域網(wǎng)和Internet,把分布于不同地點(diǎn)、獨(dú)立完成特定功能的測(cè)試計(jì)算機(jī)連接起來,以達(dá)到測(cè)試資源共享、分散操作、集中管理、協(xié)同工作、負(fù)載均衡、測(cè)試過程監(jiān)控等目的的計(jì)算機(jī)網(wǎng)絡(luò)測(cè)試。
二、分布式測(cè)試系統(tǒng)的特點(diǎn)
分布式測(cè)試系統(tǒng)是傳統(tǒng)網(wǎng)絡(luò)化測(cè)試系統(tǒng)的進(jìn)一步發(fā)展,具有以下主要特點(diǎn):
(1)網(wǎng)絡(luò)化。
網(wǎng)絡(luò)化的目的是實(shí)現(xiàn)多個(gè)測(cè)試節(jié)點(diǎn)間基本的互連、互通功能,實(shí)現(xiàn)資源共享,是分布式測(cè)試系統(tǒng)的底層支撐結(jié)構(gòu)。
(2)分布性。
分布式測(cè)試系統(tǒng)不僅在地域上分布,而且在計(jì)算上也應(yīng)是分布的。這對(duì)測(cè)試系統(tǒng)提出了一些更高的要求,如測(cè)試子系統(tǒng)間協(xié)同工作、整體視圖、負(fù)載均衡、具有可擴(kuò)展性和高可用性等。同時(shí),分布式測(cè)試系統(tǒng)對(duì)用戶具有位置透明性,測(cè)試信息“唾手可得”。
(3)開放性。
開放性包含四個(gè)方面的特征,即可移植性、可互操作性、可伸縮性、易獲得性。分布式測(cè)試系統(tǒng)能夠采用各種COTS(Commercial-Off-The-Shelf,商業(yè)上現(xiàn)成的產(chǎn)品和技術(shù))軟/硬件模塊,給系統(tǒng)的構(gòu)造帶來諸多便利。
(4)實(shí)時(shí)性。
分布式測(cè)試系統(tǒng)本質(zhì)上是一個(gè)實(shí)時(shí)系統(tǒng),任務(wù)間協(xié)同工作處理各種測(cè)試信息都必須是實(shí)時(shí)的,對(duì)過程之間的同步、操作的時(shí)限有著嚴(yán)格要求。
(5)動(dòng)態(tài)性。
測(cè)試系統(tǒng)可以動(dòng)態(tài)地運(yùn)行操作,支持測(cè)試過程中的所有的管理和測(cè)試活動(dòng),能靈活地根據(jù)測(cè)試實(shí)施方案,進(jìn)行測(cè)試過程對(duì)象和活動(dòng)的映射。
(6)處理不確定性。
分布式測(cè)試環(huán)境的初始狀態(tài)是確定的、已知的,但隨著系統(tǒng)的運(yùn)行,各種動(dòng)態(tài)實(shí)體在環(huán)境中變化,同時(shí)對(duì)環(huán)境產(chǎn)生影響,使得環(huán)境也發(fā)生某些變化,這種動(dòng)態(tài)變化帶來了不確定性,分布式測(cè)試系統(tǒng)必須具有處理這種不確定性的能力。
(7)容錯(cuò)能力強(qiáng),可靠性高、安全性好。
三、分布式測(cè)試系統(tǒng)關(guān)鍵技術(shù)
(1)分布式環(huán)境
對(duì)分布式測(cè)試而言,測(cè)試過程是一種對(duì)流程控制要求很高的活動(dòng),因此系統(tǒng)需要適時(shí)地獲取全局狀態(tài)以正確地指導(dǎo)流程;其次,在測(cè)試過程中,系統(tǒng)要能夠方便地監(jiān)視和操縱測(cè)試過程。因此,分布式測(cè)試系統(tǒng)適合采用集中式的分布式策略,即,由一臺(tái)中心計(jì)算機(jī)控制若干臺(tái)受控計(jì)算機(jī)的執(zhí)行,整個(gè)測(cè)試過程和資源管理由中心來完成,它掌握整個(gè)分布式測(cè)試環(huán)境的狀態(tài),從而發(fā)出控制命令。
(2)分布式環(huán)境下的節(jié)點(diǎn)通信
分布式測(cè)試環(huán)境中的活動(dòng)均帶有很強(qiáng)的流程性,某一步操作的失敗會(huì)導(dǎo)致整個(gè)測(cè)試流程的中斷和異常,因此需要一個(gè)穩(wěn)定的通信環(huán)境。同時(shí),通信主要是在中心節(jié)點(diǎn)和執(zhí)行節(jié)點(diǎn)之間進(jìn)行,兩種節(jié)點(diǎn)的主要工作都集中在測(cè)試活動(dòng)并且在邏輯上中心節(jié)點(diǎn)和執(zhí)行節(jié)點(diǎn)相互并發(fā),具有一定的獨(dú)立性。因此,分布式測(cè)試系統(tǒng)相對(duì)于提供服務(wù)的分布式系統(tǒng)而言,適合用基于消息通信的方式來實(shí)現(xiàn)。
(3)測(cè)試任務(wù)調(diào)度
分布式測(cè)試的優(yōu)點(diǎn)是測(cè)試人員可以事先定制任務(wù)執(zhí)行的時(shí)間表,如在指定時(shí)間、指定設(shè)備上執(zhí)行指定的測(cè)試任務(wù)。但同時(shí)也面臨一個(gè)問題,在硬件和軟件資源有限的情況下,如何以最有效的方式完成測(cè)試任務(wù)?其中關(guān)鍵的問題就是測(cè)試調(diào)度。分布式測(cè)試調(diào)度是指把組成測(cè)試任務(wù)的一組測(cè)試用例,分配到分布式測(cè)試系統(tǒng)的不同執(zhí)行節(jié)點(diǎn)上,并按照一定的測(cè)試時(shí)序調(diào)度執(zhí)行,以滿足事先制定的測(cè)試需求。
分布式測(cè)試調(diào)度方法可分為靜態(tài)調(diào)度、動(dòng)態(tài)調(diào)度和混合調(diào)度三類。
靜態(tài)調(diào)度是指假設(shè)系統(tǒng)的拓?fù)浣Y(jié)構(gòu)和性能參數(shù)固定不變,設(shè)計(jì)調(diào)度算法時(shí)只考慮當(dāng)前系統(tǒng)狀況,并針對(duì)當(dāng)前狀況盡量?jī)?yōu)化調(diào)度性能。
動(dòng)態(tài)調(diào)度則是指在測(cè)試執(zhí)行過程中,根據(jù)系統(tǒng)的運(yùn)行狀況(如執(zhí)行節(jié)點(diǎn)加入或退出、執(zhí)行節(jié)點(diǎn)資源使用情況等),動(dòng)態(tài)地決定各個(gè)用例的執(zhí)行節(jié)點(diǎn)和相應(yīng)的執(zhí)行時(shí)間。動(dòng)態(tài)調(diào)度比靜態(tài)調(diào)度更加靈活,但也會(huì)帶來更多的調(diào)度開銷,有可能影響最終的調(diào)度性能。
混合調(diào)度是靜態(tài)調(diào)度和動(dòng)態(tài)調(diào)度二者的組合方法,一般來說,它根據(jù)測(cè)試用例和系統(tǒng)的特點(diǎn),對(duì)部分用例采取靜態(tài)調(diào)度策略,對(duì)另一部分用例則采取動(dòng)態(tài)調(diào)度策略。這三種方法各有利弊,需要測(cè)試人員根據(jù)具體測(cè)試情況來選擇使用哪種調(diào)度方法。
以上對(duì)分布式測(cè)試系統(tǒng)的特點(diǎn)和部分關(guān)鍵技術(shù)進(jìn)行了簡(jiǎn)單分析。隨著越來越多的領(lǐng)域活動(dòng)依賴于分布式應(yīng)用,分布式測(cè)試將受到人們更大的關(guān)注,測(cè)試系統(tǒng)實(shí)現(xiàn)技術(shù)也將不斷發(fā)展成熟,以便快速高效地發(fā)現(xiàn)軟件中存在的功能和性能缺陷。
【編輯推薦】