![構(gòu)件可測試性挑戰(zhàn)_第1頁](http://file4.renrendoc.com/view/2883e2b83094c0abb4a0ace4ab3d1031/2883e2b83094c0abb4a0ace4ab3d10311.gif)
![構(gòu)件可測試性挑戰(zhàn)_第2頁](http://file4.renrendoc.com/view/2883e2b83094c0abb4a0ace4ab3d1031/2883e2b83094c0abb4a0ace4ab3d10312.gif)
![構(gòu)件可測試性挑戰(zhàn)_第3頁](http://file4.renrendoc.com/view/2883e2b83094c0abb4a0ace4ab3d1031/2883e2b83094c0abb4a0ace4ab3d10313.gif)
![構(gòu)件可測試性挑戰(zhàn)_第4頁](http://file4.renrendoc.com/view/2883e2b83094c0abb4a0ace4ab3d1031/2883e2b83094c0abb4a0ace4ab3d10314.gif)
![構(gòu)件可測試性挑戰(zhàn)_第5頁](http://file4.renrendoc.com/view/2883e2b83094c0abb4a0ace4ab3d1031/2883e2b83094c0abb4a0ace4ab3d10315.gif)
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
第第頁構(gòu)件可測試性挑戰(zhàn)構(gòu)件可測試性挑戰(zhàn)
發(fā)表于:2023-04-16來源::點擊數(shù):標簽:挑戰(zhàn)構(gòu)件
構(gòu)件的可測試性是設(shè)計和測試軟件程序及構(gòu)件的重要概念之一。運用具有良好的可測試性的程序和構(gòu)件來構(gòu)建軟件,可以簡化測試操作、減少測試開銷、提高軟件質(zhì)量。JamesBach曾指出,有一些程序特性可以用于可測試的軟件,包括可操作性、可觀察性、可控制性、
構(gòu)件的可測試性是設(shè)計和測試軟件程序及構(gòu)件的重要概念之一。運用具有良好的可測試性的程序和構(gòu)件來構(gòu)建軟件,可以簡化測試操作、減少測試開銷、提高軟件質(zhì)量。
JamesBach曾指出,有一些程序特性可以用于可測試的軟件,包括可操作性、可觀察性、可控制性、易理解性等等。JeffreyM.Voas和KeithW.Miller將軟件可測試性看成是可靠性的三個難題之一。他們指出軟件可測試性分析對于檢測和評估一個使用經(jīng)驗主義(empirical)分析方法的軟件測試是很有用的。
然而,在構(gòu)件工程、基于構(gòu)件的軟件開發(fā)中,開發(fā)者對構(gòu)件的可測試性仍然存在一些疑惑。什么是構(gòu)件的可測試性?它的相關(guān)要素是什么?怎樣檢查、測量或評價軟件構(gòu)件的可測試性?怎樣設(shè)計和開發(fā)可測試的構(gòu)件來達到良好的可測試性?
構(gòu)件可測試性是什么?
在構(gòu)件工程中,有幾種不同的構(gòu)件可測試性的觀點,包括構(gòu)件可觀察性(observability)、構(gòu)件可跟蹤性(traceability)、構(gòu)件可控制性(controllability)和構(gòu)件易理解性(understandability)。
構(gòu)件可觀察性和可跟蹤性
根據(jù)RoyS.Freedman的觀點,軟件可觀察性是指根據(jù)一個程序的操作行為、輸入?yún)?shù)及輸出結(jié)果,來察看觀察這個程序的簡單程度。這也暗指了設(shè)計和定義一個構(gòu)件的接口(例如輸入、輸出接口)將會影響到它的可觀察性??梢允褂肦oyS.Freedman提出的方法來檢測一個構(gòu)件的接口,相對于它的輸入,來評價觀察它的操作和輸出的簡單程度。應用到構(gòu)件工程中,構(gòu)件可跟蹤性是另一個影響構(gòu)件可觀察性的要素。
軟件構(gòu)件的可跟蹤性是指跟蹤構(gòu)件屬性和構(gòu)件行為的嵌入能力的范圍。它有兩方面:行為跟蹤(behaviortraceability)和跟蹤可控制性(tracecontrollability)。行為跟蹤指構(gòu)件跟蹤它的內(nèi)部和外部行為的便利的程度?,F(xiàn)實世界中,構(gòu)件工程可以通過在軟件中增加一個程序跟蹤機制來檢查和監(jiān)視軟件構(gòu)件的內(nèi)部和外部行為。
共計有六種類型的構(gòu)件跟蹤,它們是操作、性能、錯誤、狀態(tài)、GUI事件和通訊跟蹤??梢允褂貌煌姆椒▽⒏櫩煽刂菩蕴砑拥杰浖?gòu)件中。為了支持嵌入功能的訪問,必須在構(gòu)件中定義一個標準跟蹤接口。構(gòu)件跟蹤接口的標準化和跟蹤格式對一個基于構(gòu)件的程序建立系統(tǒng)化的跟蹤解決方法很重要。
構(gòu)件可控制性
一個程序(或構(gòu)件)的可控制性是一個重要的特性,它表明了控制一個程序(或構(gòu)件)的輸入/輸出、操作和行為的簡單程度。構(gòu)件開發(fā)者從三個方面察看軟件構(gòu)件的“可控制性”:行為控制,特性定制和安裝布置。第一個方面與構(gòu)件的行為和輸出結(jié)果(相應于操作和輸入數(shù)據(jù))的能力有關(guān),第二個方面指支持構(gòu)件內(nèi)部特性的定制和配置的嵌入能力,最后一個方面是指構(gòu)件安裝和配置的控制能力。
構(gòu)件可理解性
構(gòu)件可理解性依賴于構(gòu)件信息提供的多少以及它們表述的好壞。構(gòu)件文檔的表述是第一要素。
構(gòu)件可理解性的第二要素是構(gòu)件程序資源表述,包括構(gòu)件源代碼及其支持元素,例如安裝代碼和測試驅(qū)動等。
最后一個要素是構(gòu)件質(zhì)量信息的表述,包括構(gòu)件驗收的測試計劃和測試套件,構(gòu)件測試度量和質(zhì)量報告。
雖然看上去構(gòu)件供應商隱藏了詳細的測試信息和問題信息也挺合理的,但是用戶還是希望在不久的將來他們能夠提供構(gòu)件的質(zhì)量信息、驗收的測試計劃,甚至是測試套件。
測試軟件構(gòu)件的挑戰(zhàn)
在構(gòu)件工程范例中,主要目標之一是產(chǎn)生可復用的軟件構(gòu)件作為軟件產(chǎn)品。第三方工程師根據(jù)用戶給出的需求,使用構(gòu)件作為構(gòu)建軟件系統(tǒng)的部件。所以,程序的可測試性很大程度上依賴于相關(guān)構(gòu)件及其集成的可測試性。構(gòu)建軟件構(gòu)件的測試要考慮如下幾點:
怎樣復用構(gòu)件測試?
考慮軟件構(gòu)件的演化,必須注意構(gòu)件測試的可復用性。復用構(gòu)件測試的關(guān)鍵是開發(fā)一些系統(tǒng)化方法和工具,來建立可復用的構(gòu)件測試套件,管理和存儲各種測試自愿,包括測試案例、測試數(shù)據(jù)和測試腳本。對于工程師來說,使用ad-hoc方法,用相同的測試套件技術(shù)來處理與當前軟件不同的軟件構(gòu)件(例如,第三方構(gòu)件)很難。在構(gòu)件驗收測試和構(gòu)件集成中,這個問題就會影響構(gòu)件測試的復用。
解決這個問題有兩個可選擇的方法。第一是為構(gòu)件建立新的plug-in-and-test的測試套件技術(shù);另一個方法是在構(gòu)件內(nèi)部建立測試,也就是嵌入式測試。第一種方法是在構(gòu)件外部的測試套件中建立和維護構(gòu)件測試,第二個方法是在構(gòu)件內(nèi)部建立構(gòu)件測試。顯然,如果一個友好的測試操作接口可行的話,這種方法簡化了構(gòu)件測試,減少了用戶方的構(gòu)件測試開銷。要執(zhí)行嵌入式構(gòu)件測試,我們需要其他功能工具來執(zhí)行測試、測試報告和測試結(jié)果檢查。所以,需要標準化測試訪問接口,來支持構(gòu)件、測試套件和嵌入式測試的交互。
如何構(gòu)建可測試的構(gòu)件?
一個理想的可測試軟件構(gòu)件不僅是可配置可執(zhí)行的,而且在標準化構(gòu)件測試工具的支持下也是可測試的。與普通構(gòu)件不同的是,可測試構(gòu)件有以下一些特性:
可測試構(gòu)件一定可跟蹤;可測試構(gòu)件一定有一些很好定義的測試工具的嵌入接口;具有嵌入式測試的可測試構(gòu)件必須使用標準化機制;
關(guān)于可測試構(gòu)件的設(shè)計有三個問題。第一個問題是對可測試構(gòu)件,怎樣設(shè)計和定義通用架構(gòu)和測試接口,第二個問題是怎樣用系統(tǒng)化方法產(chǎn)生可測試構(gòu)件,最后一個問題是為了支持測試和可測試構(gòu)件,怎樣控制和最小化程序的費用和資源。
如何構(gòu)建構(gòu)件測試驅(qū)動和存根?
在設(shè)計應用中,工程師基于給定的需求和設(shè)計說明書,使用ad-hoc方法來開發(fā)特定模塊或特定產(chǎn)品的測試驅(qū)動和存根。這種方法的主要缺點是產(chǎn)生的測試驅(qū)動和存根只對特定的項目(或產(chǎn)品)有用。
很明顯,傳統(tǒng)方法會導致在構(gòu)件測試驅(qū)動和存根構(gòu)建上的更高的開銷。
顯然,需要新的系統(tǒng)的方法來為不同的構(gòu)建和各種定制服務構(gòu)建測試驅(qū)動和存根。這其中的關(guān)鍵就是為構(gòu)件產(chǎn)生可復用的、可配置的(或可定制的)、可管理的測試驅(qū)動和存根。
構(gòu)件測試驅(qū)動必須是基于腳本的程序,只使用它的黑盒功能。這有兩組,第一組包括特定功能測試驅(qū)動,每一個都使用了一個構(gòu)件的特定產(chǎn)生功能(或操作);第二組包括特定情形的測試驅(qū)動,每一個都使用了
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 廣西西林縣苗族民歌之分析研究
- 公司紙巾采購合同范本
- 會議合同范本1
- 公司買賣車合同范本
- 農(nóng)村個人購房合同范本
- 2025年度智慧城市照明系統(tǒng)建設(shè)項目分包合同模板
- 作品授權(quán)合同范本
- 修車廠招工合同范例
- 圓模三角帶行業(yè)深度研究報告
- 勞務合同范本超齡
- 貴州省遵義市數(shù)學小升初試卷及解答參考(2024-2025學年)
- 【課件】2024-2025學年高一上學期英語開學第一課課件
- 專題04 地質(zhì)地貌-備戰(zhàn)2025年高考地理真題題源解密(新高考用)(解析版)
- 市政道路改造工程施工組織設(shè)計
- 三年級奧數(shù)專項練習-和差問題
- (2024年)師德師風學習內(nèi)容教師師德師風培訓內(nèi)容通用多篇
- 模板工程風險辨識及防范措施
- 2024版《安全生產(chǎn)法》考試題庫附答案(共130題)
- 教育家精神專題講座課件
- 項目投標BIM方案(投標專用)
- 社區(qū)電動車棚新(擴)建及修建充電車棚施工方案(純方案-)
評論
0/150
提交評論