影音先锋男人资源在线观看,精品国产日韩亚洲一区91,中文字幕日韩国产,2018av男人天堂,青青伊人精品,久久久久久久综合日本亚洲,国产日韩欧美一区二区三区在线

當(dāng)前位置首頁 > 計算機(jī) > 軟件測試/評測
搜柄,搜必應(yīng)! 快速導(dǎo)航 | 使用教程  [會員中心]

軟件測試技術(shù)第3章

文檔格式:PPT| 48 頁|大小 287KB|積分 15|2024-12-11 發(fā)布|文檔ID:253335410
第1頁
下載文檔到電腦,查找使用更方便 還剩頁未讀,繼續(xù)閱讀>>
1 / 48
此文檔下載收益歸作者所有 下載文檔
  • 版權(quán)提示
  • 文本預(yù)覽
  • 常見問題
  • ,*,單擊此處編輯母版標(biāo)題樣式,*,單擊此處編輯母版文本樣式,第二級,第三級,第四級,第五級,第三章 單元測試,由安博測試空間技術(shù)中心http:/ Down Unit Testing,)的單元測試策略、自底向上的單元測試策略(,Bottom up Unit Testing,)和孤立的單元測試策略自頂向下的單元測試策略,一)步驟:,1.,從最頂層開始,把頂層調(diào)用的單元做成樁模塊2.,對第二層測試,使用上面已測試的單元做驅(qū)動模塊3.,依次類推,直到全部單元測試結(jié)束二)優(yōu)點(diǎn):可以在集成測試之前為系統(tǒng)提供早期的集成途徑三)缺點(diǎn):單元測試被樁模塊控制,隨著單元測試的不斷進(jìn)行,測試過程也會變得越來越復(fù)雜,測試難度以及開發(fā)和維護(hù)的成本都不斷增加;,要求的低層次的結(jié)構(gòu)覆蓋率也難以得到保證;由于需求變更或其他原因而必須更改任何一個單元時,就必須重新測試該單元下層調(diào)用的所有單元;低層單元測試依賴頂層測試,無法進(jìn)行并行測試,使測試進(jìn)度受到不同程度的影響,延長測試周期四)總結(jié):從上述分析中,不難看出該測試策略的成本要高于孤立的單元測試成本,因此從測試成本方面來考慮,并不是最佳的單元測試策略自底向上的單元測試,一)步驟:,1、先對模塊調(diào)用圖上的最底層模塊開始測試,模擬調(diào)用該模塊的模塊為驅(qū)動模塊。

    2、其次,對上一層模塊進(jìn)行單元測試,用已經(jīng)被測試過的模塊做樁模塊,3、依次類推,直到全部單元測試結(jié)束二)優(yōu)點(diǎn):不需要單獨(dú)設(shè)計樁模塊三)缺點(diǎn):隨著單元測試的不斷進(jìn)行,測試過程會變得越來越復(fù)雜,測試周期延長,測試和維護(hù)的成本增加;隨著各個基本單元逐步加入,系統(tǒng)會變得異常龐大,因此測試人員不容易控制;越接近頂層的模塊的測試其結(jié)構(gòu)覆蓋率就越難以保證;,另外,頂層測試易受底層模塊變更的影響,任何一個模塊修改之后,直接或間接調(diào)用該模塊的所有單元都要重新測試由于只有在底層單元測試完畢之后才能夠進(jìn)行頂層單元的測試,所以并行性不好另外,自底向上的單元測試也不能和詳細(xì)設(shè)計、編碼同步進(jìn)行四)總結(jié):相對其它測試策略而言,該測試策略比較合理,尤其是需要考慮對象或復(fù)用時它屬于面向功能的測試,而非面向結(jié)構(gòu)的測試對那些以高覆蓋率為目標(biāo)或者軟件開發(fā)時間緊張的軟件項目來說,這種測試方法不適用孤立測試,一)步驟:無需考慮每個模塊與其他模塊之間的關(guān)系,分別為每個模塊單獨(dú)設(shè)計樁模塊和驅(qū)動模塊,逐一完成所有單元模塊的測試二)優(yōu)點(diǎn):該方法簡單、容易操作,因此所需測試時間短,能夠達(dá)到高覆蓋率三)缺點(diǎn):不能為集成測試提供早期的集成途徑。

    依賴結(jié)構(gòu)設(shè)計信息,需要設(shè)計多個樁模塊和驅(qū)動模塊,增加了額外的測試成本四)總結(jié):該方法是比較理想的單元測試方法如輔助適當(dāng)?shù)募蓽y試策略,有利于縮短項目的開發(fā)時間綜合測試,在單元測試中,為了有效地減少開發(fā)樁模塊的工作量,可以考慮綜合自底向上測試策略和孤立測試策略3.4,單元測試分析,一般可以從如下幾個方面進(jìn)行分析和測試,即:,1、,判斷得到的結(jié)果是否正確?,因?yàn)?,對于測試而言,首要的任務(wù)就是察看一下所期望的結(jié)果是否正確,即對結(jié)果進(jìn)行驗(yàn)證2、,判斷是否滿足所有的邊界條件?,邊界條件是指軟件計劃的操作界限所在的邊緣條件邊界條件測試是單元測試中最后也是最重要的一項任務(wù)在使用邊界值測試的方法時,不妨結(jié)合實(shí)際項目參考以下測試技巧:輸入了完全偽造或者和要求不一致的數(shù)據(jù)1)輸入一個格式錯誤的數(shù)據(jù)2)提供一個空值或者不完整的值3)與意料之中的值相差很遠(yuǎn)的值4)假如一個列表中不允許有重復(fù)的數(shù)值存在,就可以給它傳入一組存在重復(fù)數(shù)值的列表;如果某個字段的值要求唯一,那么可以輸入兩個或多個相同的數(shù)值來進(jìn)行測試5)假如一個列表中不允許有重復(fù)的數(shù)值存在,就可以給它傳入一組存在重復(fù)數(shù)值的列表;如果某個字段的值 要求唯一,那么可以輸入兩個或多個相同的數(shù)值來進(jìn)行測試。

    6)如果要求按照一定的順序來存儲一些數(shù)據(jù),那么可以輸入一些順序打亂的數(shù)據(jù)來做測試7)對于一些做了安全限制的部分,盡量通過各種途徑嘗試能否繞過安全限制的測試8)如果功能的啟用有一定的順序限制,就用和期望不一致的順序來進(jìn)行測試3、分析能否使用反向關(guān)聯(lián)檢查?,在實(shí)際程序中,有一些方法可以使用反向的邏輯關(guān)系來驗(yàn)證它們4、,分析是否能使用其他手段來交叉檢查一下結(jié)果?,一般而言,對某個值進(jìn)行計算會有一種以上的算法,但我們會因考慮到運(yùn)行效率或其他方面的原因而選擇其中的一種5、分析是否可以強(qiáng)制一些錯誤發(fā)生?,在實(shí)際使用過程當(dāng)中,總會有意想不到各種各樣的情況和錯誤發(fā)生6、,分析模塊接口,數(shù)據(jù)在接口處出錯就好像丟掉了進(jìn)入大門的鑰匙,無法進(jìn)行下一步的工作,只有在數(shù)據(jù)能正確流入、流出模塊的前提下,其他測試才有意義7、,分析局部數(shù)據(jù)結(jié)構(gòu),局部數(shù)據(jù)結(jié)構(gòu)往往是錯誤的根源,對其檢查主要是為了保證臨時存儲在模塊內(nèi)的數(shù)據(jù)在程序執(zhí)行過程中完整、正確,因此應(yīng)仔細(xì)設(shè)計測試用例8、,分析獨(dú)立路徑,在模塊中應(yīng)對每一條獨(dú)立執(zhí)行路徑進(jìn)行測試,單元測試的基本任務(wù)是保證模塊中每條語句至少執(zhí)行一次9、,分析出錯處理是否正確,一個好的設(shè)計應(yīng)能預(yù)見各種出錯條件,并進(jìn)行適當(dāng)?shù)某鲥e處理,即預(yù)設(shè)各種出錯處理通路。

    3.5,單元測試用例設(shè)計,單元測試用例的設(shè)計既可以使用白盒測試也可以使用黑盒測試,但以白盒測試為主白盒測試進(jìn)入的前提條件是測試人員已經(jīng)對被測試對象有了一定的了解,基本上明確了被測試軟件的邏輯結(jié)構(gòu)黑盒測試是要首先了解軟件產(chǎn)品具備的功能和性能等需求,再根據(jù)需求設(shè)計一批測試用例以驗(yàn)證程序內(nèi)部活動是否符合設(shè)計要求的活動測試人員在實(shí)際工作中至少應(yīng)該設(shè)計能夠覆蓋如下需求的基于功能的單元測試用例:,測試程序單元的功能是否實(shí)現(xiàn);,測試程序單元性能是否滿足要求(可選);,是否有可選的其它測試特性,如邊界、余量、安全性、可靠性、強(qiáng)度測試、人機(jī)交互界面測試等無論是白盒測試還是黑盒測試,每個測試用例都應(yīng)該包含下面,4,個關(guān)鍵元素:,(1),被測單元模塊初始狀態(tài)聲明,即測試用例的開始狀態(tài)(僅適用于被測單元維持了調(diào)用中間狀態(tài)的情況,),;,(2)被測單元的輸入,包含由被測單元讀入的任何外部數(shù)據(jù)值;,(3)該測試用例實(shí)際測試的代碼,用被測單元的功能和測試用例設(shè)計中使用的分析來說明,如:單元中哪一個決策條件被測試;,(4),測試用例的期望輸出結(jié)果(在測試進(jìn)行之前的測試說明中定義)一、測試用例設(shè)計步驟,以下描述進(jìn)行測試用例設(shè)計的,6,步通用過程。

    步驟,1,:首先使被測單元運(yùn)行;,這個階段適合的技術(shù)有:,模塊設(shè)計說明導(dǎo)出的測試,對等區(qū)間劃分,步驟,2,:正面測試,(Positive Testing),這個階段適合的技術(shù):,設(shè)計說明導(dǎo)出的測試,對等區(qū)間劃分,狀態(tài)轉(zhuǎn)換測試,步驟,3,:負(fù)面測試,(Negative Testing),適合的技術(shù)有:,錯誤猜測,邊界值分析,內(nèi)部邊界值測試,狀態(tài)轉(zhuǎn)換測試,步驟,4:,模塊設(shè)計需求中其它測試特性用例設(shè)計,適合的技術(shù):設(shè)計說明導(dǎo)出的測試,步驟,5,:覆蓋率測試用例設(shè)計,適合的技術(shù):,分支測試,條件測試,數(shù)據(jù)定義使用測試,狀態(tài)轉(zhuǎn)換測試,步驟,6,:測試執(zhí)行,步驟,7,:完善代碼覆蓋,適合的技術(shù):,分支測試,條件測試,設(shè)計定義,試驗(yàn)測試,狀態(tài)轉(zhuǎn)換測試,二、面向?qū)ο髴?yīng)用程序的單元測試用例設(shè)計,類測試一般也采用傳統(tǒng)的兩種測試方式:功能性測試和結(jié)構(gòu)性測試,即黑盒測試和白盒測試1,、功能性測試,功能性測試包括兩個層次:,類的規(guī)格說明和方法的規(guī)格說明2,、結(jié)構(gòu)性測試,結(jié)構(gòu)性測試對類中的方法進(jìn)行測試,它把類作為一個單元來進(jìn)行測試測試分為兩層:第一層考慮類中各獨(dú)立方法的代碼;第二層考慮方法之間的相互作用,每個方法的測試要求能針對其所有的輸入情況。

    1),方法的單獨(dú)測試:,(2),方法的綜合測試,:,3,、基于對象,狀態(tài)轉(zhuǎn)移圖的面向?qū)ο筌浖y試,面向?qū)ο笤O(shè)計方法通常采用狀態(tài)轉(zhuǎn)移圖建立對象的動態(tài)行為模型狀態(tài)轉(zhuǎn)移圖用于刻畫對象,響應(yīng)各種事件時狀態(tài)發(fā)生轉(zhuǎn)移的情況,結(jié)點(diǎn)表示對象的某個可能狀態(tài),結(jié)點(diǎn)之間的有向邊通常用“事件動作”標(biāo)出如圖,3-3,的示例中,表示當(dāng)對象處于狀態(tài),A,時,若接收到事件,e,則執(zhí)行相應(yīng)的操作,a,且轉(zhuǎn)移到狀態(tài),B,因此,對象的狀態(tài)隨各種外來事件發(fā)生怎樣的變化,是考察對象行為的一個重要方面圖,3-3,對象,-,狀態(tài)轉(zhuǎn)換圖,下面給出基于狀態(tài)測試的主要步驟:,依據(jù)設(shè)計文檔,或者通過分析對象數(shù)據(jù)成員的取值情況空間,得到被測試類的狀態(tài)轉(zhuǎn)移圖;,給被測試的類加入用于設(shè)置和檢查對象狀態(tài)的新方法,導(dǎo)出對象的邏輯狀態(tài);,對于狀態(tài)轉(zhuǎn)移圖中的每個狀態(tài),確定該狀態(tài)是哪些方法的合法起始狀態(tài),即在該狀態(tài)時,對象允許執(zhí)行哪些操作;,在每個狀態(tài),從類中方法的調(diào)用關(guān)系圖最下層開始,逐一測試類中的方法;,測試每個方法時,根據(jù)對象當(dāng)前狀態(tài)確定出對方法的執(zhí)行路徑有特殊影響的參數(shù)值,將各種可能組合作為參數(shù)進(jìn)行測試4,、類的數(shù)據(jù)流測試,數(shù)據(jù)流測試是一種白盒測試方法,它利用程序的數(shù)據(jù)流之間的關(guān)系來指導(dǎo)測試的選擇。

    數(shù)據(jù)流分析,當(dāng)數(shù)據(jù)流測試用于單個過程的單元測試時,定義,-,引用對可利用傳統(tǒng)的迭代的數(shù)據(jù)流分析方法來計算,這種方法利用一個控制流圖,(control flow graph),來表示程序,其中的節(jié)點(diǎn)表示程序語句,邊表示不同語句的控制流,且每一個控制流圖都加上了一個入口和一個出口類及類測試,類是個獨(dú)立的程序單位,它應(yīng)該有一個類名并包括屬性說明和服務(wù)說明兩個主要部分,對象是類的一個實(shí)例不失一般性,我們這里構(gòu)造一個類的模型我們對類進(jìn)行三級測試,定義如下:,A.,方法內(nèi)部測試:測試單個方法,這級測試相當(dāng),于單元測試;,B.,方法間測試:在類中與其它方法一起測試一個,直接或間接調(diào)用的公開方法,這級測試相當(dāng)于,集成測試;,C.,類內(nèi)部測試:測試公開方法在各種調(diào)用順序時的,相互作用關(guān)系,由于類的調(diào)用能夠激發(fā)一系列不,同順序的方法,我們可以用類內(nèi)部測試來確定類,的相互作用關(guān)系順序,但由于公開方法的調(diào)用順,序是無限的,我們只能測試其中一個子集數(shù)據(jù)流測試,為了支持現(xiàn)有的類內(nèi)部測試(,Intra-class testing,)技術(shù),我們需要一個基于代碼的測試技術(shù)來識別需要測試的類的部件,這種技術(shù)就是數(shù)據(jù)流測試,它考慮所有的類變量及程序點(diǎn)說明的定義,-,引用對(,def,use pairs,)。

    計算類的數(shù)據(jù)流信息,為了支持類的數(shù)據(jù)流測試,我們必須計算類的各種定義-引用對為了計算類的三種定義-引用對,我們可以構(gòu)造一個類控制流圖(class control flow graphCCFG),其算法如下:,為類構(gòu)造類調(diào)用圖,作為類控制流圖的初值;,把框架(frame)加入到類調(diào)用圖中;,根據(jù)相應(yīng)的控制流圖替換類調(diào)用圖中的每一,個調(diào)用節(jié)點(diǎn),具體實(shí)現(xiàn)方法:對于類C 中的每一,個方法M,在類調(diào)用圖中用方法M 的控制流圖,替代方法M 的調(diào)用結(jié)點(diǎn),并更新相應(yīng)的邊;,用調(diào)用節(jié)點(diǎn)和返回節(jié)點(diǎn)替換調(diào)用點(diǎn),具體實(shí)現(xiàn)方法:對于類調(diào)用圖中的每一個表示類C 中調(diào)用方法M 的調(diào)用點(diǎn)S,用一個調(diào)用節(jié)點(diǎn)和返回節(jié)點(diǎn)代替調(diào)用點(diǎn)S;,把單個的控制流圖連接起來,具體實(shí)現(xiàn)方法:對于類控制流圖中的每一個方法M,加上一條從框架調(diào)用節(jié)點(diǎn)到輸入節(jié)點(diǎn)的邊和一條從輸出節(jié)點(diǎn)到框架返回節(jié)點(diǎn)的邊,其中輸入節(jié)點(diǎn)和輸出節(jié)點(diǎn)都在方法M 的控制流圖中;,返回完整的類控制流圖3.6單元測試過程,圖3-7從宏觀的角度概括了單元測試的工作過程圖一、單元測試進(jìn)入和退出準(zhǔn)則,如表3-1和表3-2所示:,表,3-1,進(jìn)入準(zhǔn)則,表,3-2,退出準(zhǔn)則,二、單元測試過程,圖,3-7,單元測試工作過程,(,1,)準(zhǔn)備階段,(,2,)編制階段,(,3,)代碼審查階段,(,4,)單元測試階段,(,5,)評審、提交階段,3.7,單元測試舉例,一、單元測試計劃,1.,簡介,這份文檔的目標(biāo)是詳細(xì)描述對兩票系統(tǒng)的可以實(shí)現(xiàn)在二次系統(tǒng)圖上進(jìn)行圖形開票模塊的功能驗(yàn)證的測試過程。

    2.,本測試的總目標(biāo):,是否實(shí)現(xiàn)了需求文檔中定義的所有功能。

    點(diǎn)擊閱讀更多內(nèi)容
    賣家[上傳人]:zhuwuneng
    資質(zhì):實(shí)名認(rèn)證