序言:什么是自動化測試平臺?這個是沒有一個好的定義的,個人拙見,自動化測試平臺就是根據自身公司或者部門的流程,將自動化測試的需求融于上述測試流程,然后提供一個軟件平臺的形式表現出來,也就是用規范和協議的形式表現出的一套自動化測試體系。
一、編程工具中的“即插即用”型
Eclipse平臺是IBM向開發源碼社區捐贈的開發框架,其是一個成熟的、精心設計的以及可擴展的體系結構。這個平臺允許任何人構建與環境和其它工具無縫集成的工具。工具與Eclipse無縫集成的關鍵是插件。除了小型的運行時內核之外,Eclipse中的所有東西都是插件。從這個角度來講,所有功能部件都是以同等的方式創建的。
你可以在安裝好的eclipse的文件夾下有一個plugins的文件夾中有其各種插件,eclipse的核心較小,幾乎都是由插件組成,而所有的插件庫有四個基礎庫:
● 標準Widget工具包(SWT):Eclipse中處處使用的圖形化組件:按鈕,圖像、光標、標簽等等。布局管理類。通常這個庫被用于代替Swing。
● JFace:菜單、工具條、對話框、參數選擇、字體、圖像、文本文件的類和向導基類。
● 插件開發環境(PDE):輔助數據操作、擴展、建立過程和向導的類。
● Java開發者工具包(JDT):用于編程操作Java代碼的類。
基于這個基礎庫,然后遵照其eclipse開發插件的過程,你就可以將自己的工具與eclipse集成起來,即根據自己的需要去定制自己的開發平臺的需求。
二、軟件交付平臺的“即插即用”型
IBM其軟件產品有一個詞叫jazz,之前很不理解這種想法,后來慢慢的為其龐大的理念而感到心動,雖心動卻也只能研究一下。
Jazz是一個用于整個軟件生命周期的團隊協作平臺,旨在支持跨所有軟件生命周期階段的任務的無縫集成。Jazz平臺的主要作用是為工具編寫人員提供要使用的機制和要遵循的規則,這些機制和規則可產生無縫集成的生命周期工具。這些機制通過定義良好的API來公開。
Jazz是一個基于客戶端-服務器體系結構的平臺。通常在受保護的服務器級計算機上運行的Jazz服務器承載一組服務,并在其存儲庫中存放數據。遠程客戶端通過網絡使用HTTP與Jazz服務器通信。
個人理解的話:jazz提供了一個開放式的平臺,其中基于了一些國際上的組件規范(例如:OSGi等,OSGi稱做Java語言的動態模塊系統,它為模塊化應用的開發定義了一個基礎架構。這樣,一個大的系統可以被劃分為很多模塊或組件,其通過標準化的接口進行交互通信),然后,IBM的大多數工具可以集成到這個平臺上成為軟件交互生命周期的一個整體,盡量使得各個工具在使用上能夠進行交互,之后,可以根據自身的開發流程情況,基于軟件實現定制自己的開發和交付流程。
三、自動化測試平臺的“即插即用”型
自動化測試中因為其應用特殊性,所以,會有各種工具的使用(界面測試工具、命令行測試工具等)以及各種自動化測試的模式(例如:回歸測試、例行測試等)來提高測試效率。所以,個人覺得,自動化測試也需要提供一個開放式的平臺來集成這些工具和測試模式。
可以參考的是:開源的自動化測試框架STAF,其提供了一個“即插即用”型的概念,任何工具或者模塊只要遵從其規范,則能作為其中的一個服務與構建與其上的各種服務進行通信。其還是作為一個分布式的框架,其意思即每臺運行STAF的機器都是等同的,都可以擁有各自的功能模塊與數據,也可以在分布式網絡中進行共享與交互。或者,不基于STAF也可以自己進行類似框架的開發,需要的是提供一個標準的接口形式,各個模塊能通過這個標準的接口互相進行交互。
當然,以上的形式需要根據自身的情況來定,是在自動化測試需求發展到一定程度上,如果連自動化測試需求和流程都沒有定義下來,那么,開發這套平臺的意義將會變得很空洞,而且容易脫離實際需求,反而越走越遠,浪費了成本,所以,“效率為上、需求為導”,不同的時候應該采取不同的策略來應用自動化測試來提高自身的測試效率。