構(gòu)件可測試性挑戰(zhàn)_第1頁
構(gòu)件可測試性挑戰(zhàn)_第2頁
構(gòu)件可測試性挑戰(zhàn)_第3頁
構(gòu)件可測試性挑戰(zhàn)_第4頁
構(gòu)件可測試性挑戰(zhàn)_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

第第頁構(gòu)件可測試性挑戰(zhàn)構(gòu)件可測試性挑戰(zhàn)

發(fā)表于:2023-04-16來源::點(diǎn)擊數(shù):標(biāo)簽:挑戰(zhàn)構(gòu)件

構(gòu)件的可測試性是設(shè)計(jì)和測試軟件程序及構(gòu)件的重要概念之一。運(yùn)用具有良好的可測試性的程序和構(gòu)件來構(gòu)建軟件,可以簡化測試操作、減少測試開銷、提高軟件質(zhì)量。JamesBach曾指出,有一些程序特性可以用于可測試的軟件,包括可操作性、可觀察性、可控制性、

構(gòu)件的可測試性是設(shè)計(jì)和測試軟件程序及構(gòu)件的重要概念之一。運(yùn)用具有良好的可測試性的程序和構(gòu)件來構(gòu)建軟件,可以簡化測試操作、減少測試開銷、提高軟件質(zhì)量。

JamesBach曾指出,有一些程序特性可以用于可測試的軟件,包括可操作性、可觀察性、可控制性、易理解性等等。JeffreyM.Voas和KeithW.Miller將軟件可測試性看成是可靠性的三個(gè)難題之一。他們指出軟件可測試性分析對(duì)于檢測和評(píng)估一個(gè)使用經(jīng)驗(yàn)主義(empirical)分析方法的軟件測試是很有用的。

然而,在構(gòu)件工程、基于構(gòu)件的軟件開發(fā)中,開發(fā)者對(duì)構(gòu)件的可測試性仍然存在一些疑惑。什么是構(gòu)件的可測試性?它的相關(guān)要素是什么?怎樣檢查、測量或評(píng)價(jià)軟件構(gòu)件的可測試性?怎樣設(shè)計(jì)和開發(fā)可測試的構(gòu)件來達(dá)到良好的可測試性?

構(gòu)件可測試性是什么?

在構(gòu)件工程中,有幾種不同的構(gòu)件可測試性的觀點(diǎn),包括構(gòu)件可觀察性(observability)、構(gòu)件可跟蹤性(traceability)、構(gòu)件可控制性(controllability)和構(gòu)件易理解性(understandability)。

構(gòu)件可觀察性和可跟蹤性

根據(jù)RoyS.Freedman的觀點(diǎn),軟件可觀察性是指根據(jù)一個(gè)程序的操作行為、輸入?yún)?shù)及輸出結(jié)果,來察看觀察這個(gè)程序的簡單程度。這也暗指了設(shè)計(jì)和定義一個(gè)構(gòu)件的接口(例如輸入、輸出接口)將會(huì)影響到它的可觀察性??梢允褂肦oyS.Freedman提出的方法來檢測一個(gè)構(gòu)件的接口,相對(duì)于它的輸入,來評(píng)價(jià)觀察它的操作和輸出的簡單程度。應(yīng)用到構(gòu)件工程中,構(gòu)件可跟蹤性是另一個(gè)影響構(gòu)件可觀察性的要素。

軟件構(gòu)件的可跟蹤性是指跟蹤構(gòu)件屬性和構(gòu)件行為的嵌入能力的范圍。它有兩方面:行為跟蹤(behaviortraceability)和跟蹤可控制性(tracecontrollability)。行為跟蹤指構(gòu)件跟蹤它的內(nèi)部和外部行為的便利的程度。現(xiàn)實(shí)世界中,構(gòu)件工程可以通過在軟件中增加一個(gè)程序跟蹤機(jī)制來檢查和監(jiān)視軟件構(gòu)件的內(nèi)部和外部行為。

共計(jì)有六種類型的構(gòu)件跟蹤,它們是操作、性能、錯(cuò)誤、狀態(tài)、GUI事件和通訊跟蹤??梢允褂貌煌姆椒▽⒏櫩煽刂菩蕴砑拥杰浖?gòu)件中。為了支持嵌入功能的訪問,必須在構(gòu)件中定義一個(gè)標(biāo)準(zhǔn)跟蹤接口。構(gòu)件跟蹤接口的標(biāo)準(zhǔn)化和跟蹤格式對(duì)一個(gè)基于構(gòu)件的程序建立系統(tǒng)化的跟蹤解決方法很重要。

構(gòu)件可控制性

一個(gè)程序(或構(gòu)件)的可控制性是一個(gè)重要的特性,它表明了控制一個(gè)程序(或構(gòu)件)的輸入/輸出、操作和行為的簡單程度。構(gòu)件開發(fā)者從三個(gè)方面察看軟件構(gòu)件的“可控制性”:行為控制,特性定制和安裝布置。第一個(gè)方面與構(gòu)件的行為和輸出結(jié)果(相應(yīng)于操作和輸入數(shù)據(jù))的能力有關(guān),第二個(gè)方面指支持構(gòu)件內(nèi)部特性的定制和配置的嵌入能力,最后一個(gè)方面是指構(gòu)件安裝和配置的控制能力。

構(gòu)件可理解性

構(gòu)件可理解性依賴于構(gòu)件信息提供的多少以及它們表述的好壞。構(gòu)件文檔的表述是第一要素。

構(gòu)件可理解性的第二要素是構(gòu)件程序資源表述,包括構(gòu)件源代碼及其支持元素,例如安裝代碼和測試驅(qū)動(dòng)等。

最后一個(gè)要素是構(gòu)件質(zhì)量信息的表述,包括構(gòu)件驗(yàn)收的測試計(jì)劃和測試套件,構(gòu)件測試度量和質(zhì)量報(bào)告。

雖然看上去構(gòu)件供應(yīng)商隱藏了詳細(xì)的測試信息和問題信息也挺合理的,但是用戶還是希望在不久的將來他們能夠提供構(gòu)件的質(zhì)量信息、驗(yàn)收的測試計(jì)劃,甚至是測試套件。

測試軟件構(gòu)件的挑戰(zhàn)

在構(gòu)件工程范例中,主要目標(biāo)之一是產(chǎn)生可復(fù)用的軟件構(gòu)件作為軟件產(chǎn)品。第三方工程師根據(jù)用戶給出的需求,使用構(gòu)件作為構(gòu)建軟件系統(tǒng)的部件。所以,程序的可測試性很大程度上依賴于相關(guān)構(gòu)件及其集成的可測試性。構(gòu)建軟件構(gòu)件的測試要考慮如下幾點(diǎn):

怎樣復(fù)用構(gòu)件測試?

考慮軟件構(gòu)件的演化,必須注意構(gòu)件測試的可復(fù)用性。復(fù)用構(gòu)件測試的關(guān)鍵是開發(fā)一些系統(tǒng)化方法和工具,來建立可復(fù)用的構(gòu)件測試套件,管理和存儲(chǔ)各種測試自愿,包括測試案例、測試數(shù)據(jù)和測試腳本。對(duì)于工程師來說,使用ad-hoc方法,用相同的測試套件技術(shù)來處理與當(dāng)前軟件不同的軟件構(gòu)件(例如,第三方構(gòu)件)很難。在構(gòu)件驗(yàn)收測試和構(gòu)件集成中,這個(gè)問題就會(huì)影響構(gòu)件測試的復(fù)用。

解決這個(gè)問題有兩個(gè)可選擇的方法。第一是為構(gòu)件建立新的plug-in-and-test的測試套件技術(shù);另一個(gè)方法是在構(gòu)件內(nèi)部建立測試,也就是嵌入式測試。第一種方法是在構(gòu)件外部的測試套件中建立和維護(hù)構(gòu)件測試,第二個(gè)方法是在構(gòu)件內(nèi)部建立構(gòu)件測試。顯然,如果一個(gè)友好的測試操作接口可行的話,這種方法簡化了構(gòu)件測試,減少了用戶方的構(gòu)件測試開銷。要執(zhí)行嵌入式構(gòu)件測試,我們需要其他功能工具來執(zhí)行測試、測試報(bào)告和測試結(jié)果檢查。所以,需要標(biāo)準(zhǔn)化測試訪問接口,來支持構(gòu)件、測試套件和嵌入式測試的交互。

如何構(gòu)建可測試的構(gòu)件?

一個(gè)理想的可測試軟件構(gòu)件不僅是可配置可執(zhí)行的,而且在標(biāo)準(zhǔn)化構(gòu)件測試工具的支持下也是可測試的。與普通構(gòu)件不同的是,可測試構(gòu)件有以下一些特性:

可測試構(gòu)件一定可跟蹤;可測試構(gòu)件一定有一些很好定義的測試工具的嵌入接口;具有嵌入式測試的可測試構(gòu)件必須使用標(biāo)準(zhǔn)化機(jī)制;

關(guān)于可測試構(gòu)件的設(shè)計(jì)有三個(gè)問題。第一個(gè)問題是對(duì)可測試構(gòu)件,怎樣設(shè)計(jì)和定義通用架構(gòu)和測試接口,第二個(gè)問題是怎樣用系統(tǒng)化方法產(chǎn)生可測試構(gòu)件,最后一個(gè)問題是為了支持測試和可測試構(gòu)件,怎樣控制和最小化程序的費(fèi)用和資源。

如何構(gòu)建構(gòu)件測試驅(qū)動(dòng)和存根?

在設(shè)計(jì)應(yīng)用中,工程師基于給定的需求和設(shè)計(jì)說明書,使用ad-hoc方法來開發(fā)特定模塊或特定產(chǎn)品的測試驅(qū)動(dòng)和存根。這種方法的主要缺點(diǎn)是產(chǎn)生的測試驅(qū)動(dòng)和存根只對(duì)特定的項(xiàng)目(或產(chǎn)品)有用。

很明顯,傳統(tǒng)方法會(huì)導(dǎo)致在構(gòu)件測試驅(qū)動(dòng)和存根構(gòu)建上的更高的開銷。

顯然,需要新的系統(tǒng)的方法來為不同的構(gòu)建和各種定制服務(wù)構(gòu)建測試驅(qū)動(dòng)和存根。這其中的關(guān)鍵就是為構(gòu)件產(chǎn)生可復(fù)用的、可配置的(或可定制的)、可管理的測試驅(qū)動(dòng)和存根。

構(gòu)件測試驅(qū)動(dòng)必須是基于腳本的程序,只使用它的黑盒功能。這有兩組,第一組包括特定功能測試驅(qū)動(dòng),每一個(gè)都使用了一個(gè)構(gòu)件的特定產(chǎn)生功能(或操作);第二組包括特定情形的測試驅(qū)動(dòng),每一個(gè)都使用了

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論