999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于框架的軟件產品線測試方法研究

2007-04-29 00:00:00王志剛
計算機時代 2007年9期

摘要:分析了基于框架的軟件產品線測試方法、當前的狀況以及相關的自動化測試工具,為確保軟件產品線的可靠性以及促使軟件生產在時間、成本和質量方面獲得顯著的改善提供了有力支持。

關鍵詞:軟件產品線測試;面向對象的軟件測試;V模型;自動化工具支持

引言

軟件產品線是一套軟件密集型系統,它擁有一組能滿足特定需求的公共的、可管理的特性,并且是按預定義的方式由一組公共的核心資產開發而來。軟件產品線可以提供重用軟件資產,生產和開發一組類似系統的方法,使用這種方法可以有效地降低成本、縮短產品面世時間、提高軟件質量。它是軟件產業向大規模定制模式發展的一個重要途徑和方法。

面向對象的應用框架是一種軟件半成品,是軟件產品線的主干(backbone)。框架具有很強的領域特性,是對問題領域共性的抽取(領域分析),它用一種抽象可擴展的方式描述產品線中所有產品的共性特征。基于框架的開發方法把軟件復用提高到了設計層次,提高了軟件生產率。

在軟件開發過程中,測試是一項持續性活動,同時也是一項勞動密集型活動。傳統的面向對象的測試方法是產品線測試的基礎,因為軟件產品線,尤其是框架通常是用面向對象技術來進行設計和實施的。為了確保框架的可靠性,在應用它之前必須進行仔細的檢測。實踐中,通常是通過測試應用程序來測試框架,因而難以區分框架和應用程序的編碼錯誤。同時,當前測試框架和產品線的方法還非常不成熟,因此對成熟測試方法的需求十分迫切,測試過程也應獲得測試工具更多的支持。

1 面向對象的軟件系統測試

1.1面向對象系統的測試方法與過程

為了保證軟件的質量和可靠性,應力求在分析、設計等各個開發階段,對軟件進行嚴格技術評審。近年來,測試的作用在很多組織中得以擴展,進而為軟件可靠性的評估提供技術支持。

面向對象技術產生更好的系統結構,更規范的編程風格,極大地優化了數據使用的安全性,提高了程序代碼的使用率,然而正是因為面向對象技術開發的軟件代碼重用率高,這就需要更嚴格的測試,避免錯誤的繁衍。

測試要求有一個詳細規劃,并有一個明確定義的過程。例如,面向對象的軟件系統可以根據圖1所示的v模型進行測試。V模型描述了一些不同的測試級別,以及這些級別所對應的生命周期中不同的階段。如模型圖中所示,左邊是開發過程各階段,與此相對應的是右邊上升的部分,即測試過程的各個階段。V模型的價值就在于它非常明確地標明了測試過程中存在的不同級別,并且清楚地描述了這些測試階段和開發過程期間各階段的對應關系。

在V模型中,單元測試是基于代碼的測試,驗證可執行程序代碼的各個部分是否已達到了預期的功能要求;集成測試驗證了兩個或多個單元之間的集成是否正確,并有針對性地對詳細設計中所定義的各單元之間的接口進行檢查;在所有單元測試和集成測試完成后,系統測試則以客戶環境模擬系統的運行,以驗證系統是否達到了概要設計中所定義的功能和性能;最后,當技術部門完成了所有測試工作后,由業務專家或用戶進行驗收測試,以確保產品能真正符合用戶業務上的需要。

1.2測試自動化和工具支持

近幾年來,許多研究工作者通過使用自動化的測試工具對軟件的質量進行保障研究。到現在為止自動化測試工具已經足夠完善了,完全可以應用自動化測試工具來大幅度地提高軟件測試的效率和質量。在使用自動化的測試工具的時候應盡早地開始測試工作,這樣可以使修改錯誤更加地容易和廉價,并且可以減少更正錯誤對軟件開發周期的影響。

自動化支持的一個關鍵因素是是否有用于所有測試交付物和工作產品的中心項目數據庫。這可以指的是測試管理系統,包括用于對測試進行保存、描述、文檔化和跟蹤,并且對測試目標和結果進行記錄、跟蹤、評審的輔助設施。好的工具可以使得這些信息很容易被項目組獲得,并且提供穩定的工作流支持來簡化和跟蹤軟件開發過程。

根據V模型,面向對象測試可以由從低到高的各類自動化測試工具實現不同層次的自動化,在低層產生測試驅動和樁模塊,在高層則提供整體的測試環境。圖2展示了在v模型的不同層次中,能夠使用的各種不同種類的測試工具。在模型的左邊,利用測試設計工具,可以在需求確立,概要設計以及詳細設計的不同階段設計用例,在代碼層,可以利用靜態分析工具產生單元測試用例。在模型的右邊,完成實際的測試,覆蓋工具用來評估單元測試覆蓋范圍,動態分析工具和調試工具在單元測試和集成測試中使用。在測試的頂層,用模擬器來完成系統測試和確認測試。另外,在模型右邊的每一個層次,可以用執行和比較工具來執行測試和對比運行結果與預期的偏差。

除了商業化的工具外,測試自動化已經引起了學術研究領域的廣泛關注。例如,JUnit作為開源面向對象軟件測試工具對Java語言編寫的軟件提供了測試支持,包括從單元級的測試(JTest工具)到代碼覆蓋(JCoverage工具),再到性能監視(JProfiler工具),JUnit對V模型的各層都提供了支撐。

2 軟件產品線測試方法

在軟件產品線測試時雖然可以使用傳統面向對象的測試方法,但仍強烈需要一個明確定義的產品線測試過程和方法,包括工具支持。這是因為當一個產品線或多個產品線被測試時,一些具體問題就會暴露出來。例如規模問題,因為產品線中的所有應用都需要測試,這就使得產品線的測試要比單獨的產品測試要復雜得多。產品線測試的關鍵在于重用測試用例和測試件(Testware,指測試工作形成的產品),而不是將產品線中的每個軟件作為一個單獨的產品來進行測試。

2.1軟件產品線測試

產品線測試關系到多個方面,包括回歸測試、非完整性項目測試和有效使用可重用的測試資產等等。回歸測試是用來確認前期可正常工作的組件在面臨某些修改時,是否還能正確運行。產品線中的成員在共享許多共性特征的基礎上又各自變化,因此回歸測試適合于產品線或重用情況。與單個系統開發項目不同,測試也是可以重用于大多數產品中的活動,它本身產生町重用的核心資產。建立可重用的測試資產能使產品線測試擁有較高的成本效益比。

產品線測試也需要詳細規劃并給出一個明確定義的過程,把測試集成到過程的每個階段,以生產出高質量的產品。在產品線中組件被大量重用,有效的故障修復顯得尤其重要。領域工程中的缺陷使風險演變為問題,因為可重用資產中的缺陷蔓延到重用它的每個產品中。然而在軟件產品線方法中,測試不能很好地區分領域工程和應用工程任務。雖然根據V模型進行測試,但ISAPS、CAFE和SEI提出的框架還是不能完全將V模型測試的各個階段集成到軟件開發中去。在實踐中,將測試過程集成到整個產品線過程中被證明是最棘手的問題。

產品線測試的主要問題可以從兩個方面來進行論述。在領域工程中測試核心資產時,測試者試圖減少應用測試,但卻很難保證軟件在不明確的用例情景下都正常運作;產品線中的成員在共享許多共性特征的基礎上又各自變化,測試者發現根據v模型進行集成和系統測試并不可行。而在應用工程中,在核心資產和其它應用測試的基礎上,測試者想使充分測試特定產品的費用最小化,但很難確定哪些已有測試結果是可以利用的,哪些產品測試是必須進行的。

2.2當前產品線測試狀況

目前產品線測試的工作重心主要放在驗收和系統測試上。但由于產品線中大量重用組件,因此它們的低級別測試(例如,單元級)也應該得到保證。換而言之,當前的研究和實踐主要集中在高級別的產品線測試上。假設傳統的面向對象的測試方法可以不做任何修改就用于產品線測試過程,那么這一假設存在許多疑點。例如,目前尚不清楚將使用哪一種面向對象的測試方法以及如何將之用于產品線測試,更加不清楚是否還需要新的、具體的產品線測試方法。

與標準模型相關的軟件產品線測試的當前工作重點如圖3所示。工作的重點放在需求說明和概要設計相對應的驗收和系統測試上。現有的產品線具體測試方法主要用于這些內容。而集成和單元測試只受到很少的關注,并且基于這些階段的產品線具體測試方法目前基本上不存在。正因為如此,現有高級別的測試方法大多數情況下都沒被使用,產品線中的應用仍然用傳統的測試方法測試,這就意味著沒有有效地使用可重用的測試資產,而且整個測試過程被反復應用于產品線中的每個應用。

在基于框架的軟件產品線測試方法中,應用框架是產品線的核心,在所有應用從它產生之前就應該得到很好的測試。但是以框架為基礎的產品線的實際測試中,往往沒有使用產品線的任何信息。例如,諾基亞的移動瀏覽器產品線是按照如下要求進行產品線測試的:“產品線測試的復雜性要遠大于單個軟件產品的測試。必須測試在不同情景下的產品線。為了控制測試的復雜性,應縮減單個產品的測試,取而代之的是對整個產品線的測試。這樣才能保證測試的簡化以及產品質量”。

2.3軟件產品線自動化測試及相關工具支持

在軟件產品線測試方法中,工具支持比在傳統面向對象測試中更加重要。這是因為包含數個相同體系結構的產品線測試規模要大于單個產品測試。當一個組織有幾個產品線時,規模的問題就更加突出。產品線的工具支持因使用可重用的測試資產可以減少費用,并且使復雜的測試過程更易于管理。圖2表明能夠應用于V模型不同階段的不同類型的測試工具。在產品線的測試中,所有這些工具可以而且應該使用。

現今有許多成熟的測試工具,但是產品線和框架測試缺乏有效的工具支持。通常這些工具也能夠應用于產品線的測試,但它們只適用于像單元測試這樣低級別的測試。在產品線方面,需要詳細而精確的測試工具。測試工具應有效地管理可重用的測試資產。工具支持應從測試執行和測試結果的分析擴展到集成產品線測試的整個過程。

目前赫爾辛基大學已經開發出RITA工具。RITA是一個能覆蓋所有領域的測試支持工具。但是所有設計功能并沒有在RITA的第一版中完全實現。同時,RITA工具的焦點在于支持基于框架結構的低水平的白盒測試。

3 結束語

軟件產品線受到越來越多的關注和研究,特別是在工業應用領域。但是產品線的測試所受到的關注還是很少。產品線需要一個詳細規劃的測試過程,它要能夠比較容易地被不同的產品線應用領域所采納和運用。然而,測試產品線是一項非常具有挑戰性的工作。因此迫切需要一些成熟的測試方法和工具。

主站蜘蛛池模板: 久草国产在线观看| 国产精品第三页在线看| 免费看黄片一区二区三区| 国产一在线| 一级成人a毛片免费播放| 久久青草免费91线频观看不卡| 国产成人精品午夜视频'| 国产又黄又硬又粗| 国产精品区视频中文字幕| 青青青亚洲精品国产| 18禁不卡免费网站| 国产精品久久久久久久久| 亚洲国产一区在线观看| 久久大香香蕉国产免费网站| a免费毛片在线播放| 美女无遮挡拍拍拍免费视频| 亚洲中文字幕在线精品一区| 青草91视频免费观看| 国产区在线观看视频| 国产精品专区第一页在线观看| 欧美影院久久| 亚洲一区毛片| 亚洲日韩在线满18点击进入| 国产成人综合网| 欧美va亚洲va香蕉在线| 国产大片喷水在线在线视频| 亚洲熟女偷拍| 伊人无码视屏| 19国产精品麻豆免费观看| 一级香蕉视频在线观看| 亚洲中文字幕在线一区播放| 国产女人在线视频| 超碰免费91| 久久天天躁夜夜躁狠狠| 国产精品第| 国产一在线观看| 久久77777| 最新日韩AV网址在线观看| 久久婷婷综合色一区二区| 天天操天天噜| 久久精品亚洲热综合一区二区| 色偷偷一区| 99精品在线看| 天堂网国产| 97se亚洲综合| 国产综合色在线视频播放线视 | 91视频青青草| 亚洲电影天堂在线国语对白| 好紧太爽了视频免费无码| 亚洲精品国产自在现线最新| 日日拍夜夜嗷嗷叫国产| 91九色最新地址| 欧美成人手机在线视频| 国产成a人片在线播放| 无码内射在线| 亚洲婷婷丁香| 日韩高清在线观看不卡一区二区| 亚洲欧美日韩中文字幕一区二区三区 | 嫩草影院在线观看精品视频| 一级爆乳无码av| av一区二区三区高清久久| 国产欧美专区在线观看| 国产69精品久久久久孕妇大杂乱| 国产美女无遮挡免费视频| 人禽伦免费交视频网页播放| 日本午夜在线视频| 日韩成人在线视频| 国产午夜小视频| 亚洲欧美成人在线视频| 国产偷国产偷在线高清| 国产伦精品一区二区三区视频优播| 中文字幕色在线| 日韩成人高清无码| 国产精品成人久久| 国产一二三区视频| 欧美一区二区人人喊爽| 亚洲午夜福利精品无码不卡 | www.狠狠| 欧美日韩国产成人高清视频| 992tv国产人成在线观看| 国产情精品嫩草影院88av| 青青热久麻豆精品视频在线观看|