探底服務虛擬化工具 應對服務測試挑戰(zhàn)
快速推進合成應用的部署讓質量管理團隊的度日艱難,因為有些服務已經完成并在運行,而另外一些還在開發(fā)中。不幸的是,所有的這些服務都要經歷不斷更新的版本。隨著內容的不斷更新,企業(yè)后端系統(tǒng)和互聯(lián)網天生的固態(tài)正影響著虛擬化測試。
2003年,Parasoft聲稱其棄產品SOATest體現(xiàn)了服務虛擬化概念。這一術語是在2007年由iTKO在LISA平臺發(fā)布時發(fā)明出來的,2011年CA收購了iTKO。近年來,包括IBM及惠普在內的主流企業(yè)軟件供應商已經開發(fā)或收購了一些服務虛擬化工具,服務虛擬化已蓄勢待發(fā),準備成為主流的工具類型。

服務虛擬化
服務虛擬化成為一類新興的組件建模工具的基礎。利用一種新的仿真方式,在軟件服務實現(xiàn)之前,開發(fā)團隊就可以與這些服務協(xié)同工作了。這涉及到在創(chuàng)建高質量的復合應用時遇到的某些最大的瓶頸,并幫助敏捷開發(fā)工作,努力跟上快節(jié)奏的Web應用的步伐。
在應用開發(fā)生命周期中植入虛擬化的想法值得推廣,而且會令面臨困境的企業(yè)感到興奮。CA Technologies服務虛擬化高級顧問王志明表示:“這會使得包括開發(fā)、測試及運營團隊在內的IT組織管理可以管理典型的成本、質量及時間進度的三角關系。”
服務虛擬化工具使得軟件開發(fā)團隊可以在已有或計劃服務的上下文中,使用預期要交互的新代碼測試新服務的性能及行為。這降低了在開發(fā)中測試代碼的門檻,使得在開發(fā)過程可以更早更容易地發(fā)現(xiàn)缺陷,并打開了應用敏捷開發(fā)之門。
最近的一項調查發(fā)現(xiàn)組織與平均8到10個受測應用存在依賴關系。而開發(fā)者在任何時間點上只能接觸到這些依賴關系的30%。服務虛擬化工具可以移除若干開發(fā)過程中對測試硬件可用性、服務及隱私方面的約束。

服務虛擬化解耦約束
通過服務虛擬化,開發(fā)團隊還可以針對新服務的特定行為進行測試,而不是等待代碼開發(fā)完畢再開始。極大地改善并加快了尋找、解決缺陷問題的能力,同時強化了朝著更敏捷、高度迭代開發(fā)技術趨勢的演進。
傳統(tǒng)上開發(fā)者已經建立了stub和mock來表示新代碼需要交互的服務。這一方案把開發(fā)者的注意力從寫代碼上轉移,從而減少了其有用的輸出。開發(fā)者針對mock進行測試的時候,他們將服務預期表現(xiàn)出來的行為進行編碼,而不是根據實際情況進行。而最令人生厭的集成問題就是由于不好的假設導致的。服務虛擬化對代碼有可能需要交互的服務的行為建模。這跟對所有的底層代碼邏輯都進行建模相比要容易得多。
針對客戶在開發(fā)復雜應用時所遇到的系統(tǒng)約束和測試數據相關性等問題,CA LISA產品套件可對傳統(tǒng)虛擬化技術不能涉及的無法任意使用的系統(tǒng)進行建模和模擬。通過采用CA LISA,多團隊可以進行并行開發(fā),更好地管理測試數據和用例,并減少所需的實時環(huán)境數量。

CA LISA服務虛擬化
在以往的開發(fā)流程中,團隊通常會花費30%的時間進行開發(fā),剩余的時間則都進行服務整體驗證等。在現(xiàn)場演示中,CA LISA虛擬化服務更容易實現(xiàn)和管理,不到幾分鐘就能建立幾個虛擬化服務了。
另外,考慮到服務仿真模擬中的數據安全問題,王志明在演示過程中介紹了CA LISA的“去敏感化”功能,保護了客戶環(huán)境的真實數據。而且目前,LISA支持大部分主流傳輸協(xié)議,包括HTTP、JDBC、TCP、MQ等,同時也支持自主開發(fā)的協(xié)議加入到環(huán)境中。目前CA LISA按照Licence出售,提供功能測試和性能測試兩個版本。
CA Technologies中國區(qū)總經理孫志偉表示市場已經準備好聆聽服務虛擬化在幫助管理成本方面能做些什么。這已經在金融服務、零售、電信及其他組織內部署了高度復合的應用。在測試組織無法接觸大型主機的時候這很有用。此外,云計算也是服務虛擬化測試的推動力之一。















 
 
 
 
 
 
 