[摘 要]本文結(jié)合Rational測試工具的使用,對Rational的測試理念及其優(yōu)勢和成功經(jīng)驗進行闡釋。
[關(guān)鍵詞]Rational 軟件測試 軟件設(shè)計
Rational 軟件開發(fā)平臺集成了軟件工程的最佳經(jīng)驗、工具和服務(wù)。利用 Rational 軟件開發(fā)平臺,各組織機構(gòu)可以獲得更快的反應(yīng)能力和更強的適應(yīng)性,并可以集中精力關(guān)注核心任務(wù),在隨需應(yīng)變的時代取得更大的發(fā)展。Rational 基于標準的跨平臺解決方案有助于軟件開發(fā)團隊創(chuàng)建和擴展業(yè)務(wù)應(yīng)用程序、嵌入式系統(tǒng)及軟件產(chǎn)品。
一、Rational軟件現(xiàn)狀
軟件生態(tài)系統(tǒng)是隨需應(yīng)變時代的動力,而軟件開發(fā)能力對于構(gòu)建并改善軟件生態(tài)系統(tǒng)至關(guān)重要。軟件生態(tài)系統(tǒng)指的是:能夠創(chuàng)造戰(zhàn)略優(yōu)勢、迅速適應(yīng)不斷變化的業(yè)務(wù)需求并具備高度可靠性與伸縮性的應(yīng)用程序。通過提高他們的軟件開發(fā)能力,IBM 的 Rational 軟件可以幫助各組織機構(gòu)創(chuàng)造商業(yè)價值。
一個軟件開發(fā)過程從需求分析到設(shè)計建模,到架構(gòu),到質(zhì)量管理、配置管理,到測試,一直到最后交付,中間涉及到了眾多環(huán)節(jié),光Rational產(chǎn)品家族就有20多個工具分別用來解決軟件開發(fā)過程中不同階段、不同種類的問題。而這個過程還涉及到各種各樣的相關(guān)人員,開發(fā)者、項目經(jīng)理、架構(gòu)師、產(chǎn)品經(jīng)理、測試人員、客戶等等,他們都要參與進來,互相交互,共同合作。Rational中國區(qū)產(chǎn)品經(jīng)理寧德軍認為是流程的統(tǒng)一和后臺存儲庫的統(tǒng)一。以前開發(fā)過程各模塊都有自己單獨的數(shù)據(jù)庫,例如有需求庫、編程管理庫、配置變更庫等,這些數(shù)據(jù)庫還沒有實現(xiàn)統(tǒng)一,不能方便的交換、調(diào)取數(shù)據(jù)。雖然之前的Rational產(chǎn)品線在一定程度上進行了統(tǒng)一,但是整體的統(tǒng)一還是沒有做到。對于Rational原有產(chǎn)品線的客戶,IBM軟件集團Rational總經(jīng)理Daniel Sabbah表示,IBM 會繼續(xù)支持原有的產(chǎn)品線,保證新老產(chǎn)品共同發(fā)展,新的客戶會在新的Jazz平臺上,老的客戶會根據(jù)他們的需求逐步過渡的新的平臺上,或者繼續(xù)在原有平臺上,保證原Rational產(chǎn)品的客戶投資得到保障。
二、Rational統(tǒng)一過程
Rational統(tǒng)一過程(RUP),是一種迭代的、以架構(gòu)為中心、用例驅(qū)動的軟件開發(fā)方法,也是一種明確定義和結(jié)構(gòu)良好的軟件過程,使用UML(unified Modeling Language,統(tǒng)一建模語言)作為過程建模標準。其總體構(gòu)架包括兩個結(jié)構(gòu),其中動態(tài)結(jié)構(gòu)代表過程的時間坐標,它從生命周期、階段、迭代和里程碑的角度闡述了開發(fā)過程,揭示一個項目的生命周期,包括初始、細化、構(gòu)建、移交四個部分;靜態(tài)結(jié)構(gòu)描述過程元素(活動、規(guī)程、制品和角色)在邏輯上如何組織在一起構(gòu)成核心的過程規(guī)程,涉及業(yè)務(wù)建、需求、分析設(shè)計、實施、測試、部署、配置與變更管理、項目管理以及環(huán)境等九個核心工作流程。動態(tài)結(jié)構(gòu)的每一個部分都可根據(jù)實際情況決定是否包括這些核心工作流程。
三、Rational軟件測試
隨著傳統(tǒng)測試策略愈發(fā)難以適應(yīng)當前復(fù)雜的軟件開發(fā)需要,甚至還存在導(dǎo)致各種問題及錯誤的風險,自動化測試愈來愈受到軟件開發(fā)及測試人員的重視。自動化測試的一般定義為:各種測試活動的管理與實施。包括測試腳本的開發(fā)與執(zhí)行,以便使用某種自動化測試工具來驗證測試需求自動化軟件測試技術(shù)可以克服傳統(tǒng)測試技術(shù)的許多問題。其依據(jù)的是一套嚴密的測試法則和評估標準,具有完整的自動測試過程。它可以避免測試人員慣性思維所導(dǎo)致的測試疏漏,減少由于手工測試中繁復(fù)的重復(fù)工作所導(dǎo)致的人為差錯。自動測試易于實現(xiàn)錯誤信息的追蹤和場景的再現(xiàn),且測試活動的自動化在許多情況下可以獲得最大的實用價值,尤其在自動化測試的測試用例開發(fā)和組裝階段,測試腳本很可能被重復(fù)調(diào)用。因此,采用自動化測試可以獲得很高的經(jīng)濟回報。但是,軟件測試自動化并非適用于所有軟件項目開發(fā)。首先,采取自動化測試策略的軟件需求變動不可過于頻繁。有時針對項目各模塊的穩(wěn)定性差異,自動化測試和手工測試往往被配合使用。其次,項目周期一個決定性因素,自動化測試不適用于短期項目。第三點便是自動化測試腳本是否可以重復(fù)使用,從而提高軟件的商業(yè)價值在以上前提成立的基礎(chǔ)之上,自動化測試就顯示出其針對傳統(tǒng)手工測試的優(yōu)勢所在。值得注意的是,自動化測試與傳統(tǒng)測試之問并非對立關(guān)系,自動化測試是技術(shù)人員在傳統(tǒng)測試的技術(shù)基礎(chǔ)上不斷探索和逐步改進而來的。兩者相輔相成。在軟件測試中,根據(jù)軟件實際情況選擇正確的測試策略也是一個相當重要的議題。
四、Rational系統(tǒng)設(shè)計
為了實現(xiàn)以上系統(tǒng)功能,利用Rational Rose對系統(tǒng)進行概要設(shè)計,方便地確定系統(tǒng)的類及類之間的關(guān)系在概要設(shè)計階段,確定了完成系統(tǒng)功能所需的類及類之問的關(guān)系,至于每個類的屬性和方法的具體設(shè)計等就要在詳細設(shè)計階段進行。
由于面向?qū)ο蟮姆治雠c設(shè)計方法不僅與人類認識世界的客觀事物相符,而且其邏輯業(yè)務(wù)的分析與設(shè)計與數(shù)據(jù)庫的分析與設(shè)計相一致。Rational Rose中設(shè)計好了類的屬性后,即可通過Rational Rose將類轉(zhuǎn)換成數(shù)據(jù)模型,并進一步自動生成數(shù)據(jù)庫及表結(jié)構(gòu)或數(shù)據(jù)庫及表結(jié)構(gòu)的生成代碼。由業(yè)務(wù)邏輯模型轉(zhuǎn)換為數(shù)據(jù)模型后,可通過Rational Rose將數(shù)據(jù)模型轉(zhuǎn)換成數(shù)據(jù)庫及表結(jié)構(gòu)的或生成數(shù)據(jù)庫及表結(jié)構(gòu)的腳本(SQL語句),然后運行生成的腳本即可生成數(shù)據(jù)庫及表結(jié)構(gòu)。有了以上的類、類的屬性、類的方法及數(shù)據(jù)庫以后,即可以對實現(xiàn)系統(tǒng)各種功能的類的方法的實現(xiàn)進行設(shè)計。
通過Rational Rose對管理系統(tǒng)進行分析與設(shè)計,使分析設(shè)計員與客戶的交流更加直觀、可視和易懂;使分析人員更加集中精力進行系統(tǒng)的分析與設(shè)計,而不至于過分關(guān)注如何表達某些概念。總之,Rational Rose是一種方便、快捷和可視的軟件開發(fā)工具。
參考文獻:
[1]顧碗儀,張 杰:全光通信網(wǎng)(修訂版)[M],北京:北京郵電大學(xué)出版社,2001
[2]余金山:實時UNL與Rational Rose RealTime建模案例剖析[M],北京:電子工業(yè)出版社,2007