具有 Rational QualityArchitect 的組件測試
Rational QualityArchitect 為我們提供了開啟經濟高效的全面單元測試之門的鑰匙:它充分利用了軟件開發人員在開發過程的早期創建工件(即可視模型),來生成測試工具。開發人員可以用IBM Rational Rose產生可視化的模型,一旦開發人員知道各個組件所必須執行的行為,他們就可以在一個模型之中將該行為記錄下來。由于這些模型是用來為組件自動生成代碼的,所以在這個意義上,開發人員能夠使用 IBM Rational Rose 來生成的可視模型顯得功能特別強大。這也正是 Rational QualityArchitect 作為Rational Rose Enterprise 包中的一個組件的原因。
對于單元測試來說,開發人員必須完成以下三個目標:
測試單個的軟件組件的單個方法。 依次測試多個組件中的多個方法。 為不完整或未完成的組件生成存根,以使一個組件的測試不依賴于其他組件的存在。這三種測試中的每一種又由兩部分組成:
驅動測試過程的測試工具或框架代碼 測試用例數據這就是需要做的全部工作。是不是很簡單?為了闡述更具體一點,讓我們來看一個例子。假設我要測試一個 Enterprise JavaBean(EJB)組件。我需要做兩項工作:
首先,創建所有要連接到服務器(EJB 就駐留在其中)的測試代碼(A),然后實例化 bean,調用 bean 的操作并驗證返回的結果。 接下來,創建用來調用單個操作的測試數據(B)。雖然創建測試數據很具挑戰性,但實際上創建測試代碼更加費時,且很枯燥。
記住,可視模型中已經包含了創建測試代碼所需的全部信息?梢暷P桶私M件及其操作的結構描述,還有操作的參數及返回的值類型。在設計階段或在基于現有組件的逆向工程階段,可視模型是由分析師創建還是由開發人員創建并不重要。創建測試框架代碼所需的全部輸入已經"各就各位"。
這時該輪到 Rational QualityArchitect 接管我的工作了。通過分析可視模型中給出的組件結構,Rational QualityArchitect 可以生成測試單個組件或涉及到多個組件的一系列操作所需的全部代碼。QualityArchitect 甚至可以在真正的組件被部署之前生成存根組件作為占位符來運行。
測試代碼只是解決方案的一半。我還需要測試數據。這里,QualityArchitect 使開發人員的工作容易得多。由于不必再為創建測試代碼的繁瑣過程所困擾,我可以將注意力集中在創建我們感興趣的和有意義的測試數據上。QualityArchitect 甚至可以在不需要特殊的測試用例時,幫助生成隨機的測試數據。當需要特定的測試數據時,QualityArchitect 可以提供一個簡單的像電子數據表一樣的界面來輸入數據。
節省成本,節省時間,沒有返工
在沒有 Rational QualityArchitect 時,全面單元測試過程中的早期測試是那樣的費時和低效,以致于很多公司都放棄了這項工作,盡管它的價值是顯而易見的。有了 Rational QualityArchitect,使我們能夠進行早期測試,因為 QualityArchitect 自動生成了測試工具和存根--且隨著模型在開發過程當中的不斷演進,測試工具和存根的生成也不是一次性的而是增量式的。對一個從事單元測試工作的開發人員來說,Rational QualityArchitect 實際上消除了創建一次性的測試代碼的耗時耗力工作,現在所要做的只是向一個電子數據表中輸入數據這樣簡單的工作。
更重要的是,在開發過程的最早幾個階段,所有這些測試都是在可視化模型以外完成的。通過利用用于測試操作的現有資產,Rational QualityArchitect 使得軟件開發團隊能夠采用以設計求質量的方法,而又不占用過多的軟件基礎開發時間。
盡管在軟件業中召回事件不常發生,但存在缺陷的軟件系統與存在缺陷的汽車一樣具有破壞性,其所造成的后果可能比后者更加嚴重。在軟件項目中采用以設計求質量的方法,這一目標值得我們為之奮斗。早期的測試可能為一個汽車制造商節省 1.14 億美元,它也會為軟件系統開發公司帶來類似的成本節省。波音公司已經證實可以利用計算機設計來安全地測試整個飛機。Rational QualityArchitect 確保您能夠在復雜的軟件系統中實現同樣的目標。
文章來源于領測軟件測試網 http://www.kjueaiud.com/