當(dāng)前位置首頁(yè) > 計(jì)算機(jī) > 軟件測(cè)試/評(píng)測(cè)
搜柄,搜必應(yīng)! 快速導(dǎo)航 | 使用教程

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

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

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

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

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

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

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

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

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

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

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

    點(diǎn)擊閱讀更多內(nèi)容
    最新文檔
    傳統(tǒng)文化道德不是高懸的明月而是腳下的星光.pptx
    世界無(wú)煙日關(guān)注青少年成長(zhǎng)健康無(wú)煙為成長(zhǎng)護(hù)航.pptx
    五四青年節(jié)詩(shī)詞贊歌五四青年自強(qiáng)不息.pptx
    XX學(xué)校班主任培訓(xùn)用心管理慧做班主任.pptx
    拒絕熬夜健康養(yǎng)生規(guī)律作息遠(yuǎn)離亞健康.pptx
    兒童成長(zhǎng)手冊(cè)時(shí)光里的童真印記.pptx
    幼兒園夏季傳染病預(yù)防指南預(yù)見(jiàn)夏天健康童行夏季傳染病預(yù)防科普.pptx
    高中生心理健康教育主題班會(huì)快樂(lè)學(xué)習(xí)高效學(xué)習(xí)正視壓力學(xué)會(huì)減壓.pptx
    員工職業(yè)道德與職業(yè)素養(yǎng)培訓(xùn)遵守職業(yè)道德提高職業(yè)修養(yǎng).pptx
    2025職業(yè)病防治法宣傳周健康守護(hù)職防同行.pptx
    XX幼兒園防災(zāi)減災(zāi)安全教育臨災(zāi)不亂安全童行學(xué)會(huì)保護(hù)自己.pptx
    在2025年縣教育工作大會(huì)暨高考備考工作推進(jìn)會(huì)上的講話發(fā)言材料.docx
    在2025年縣全面從嚴(yán)治黨和黨風(fēng)廉政會(huì)議上的講話發(fā)言材料.docx
    在2025年全市慶?!拔逡弧濒邉趧?dòng)模范表彰大會(huì)上的講話發(fā)言材料多篇.docx
    2025年稅務(wù)局青年代表在五四青年座談會(huì)上的發(fā)言材料3篇.docx
    在2025年市委全體會(huì)議上的主持講話發(fā)言材料.docx
    2025年黨風(fēng)廉政建設(shè)工作要點(diǎn)材料.docx
    在2025年全市青年干部慶祝五四青年節(jié)大會(huì)上的講話發(fā)言材料多篇.docx
    在入黨積極分子培訓(xùn)班上的講話發(fā)言材料.docx
    縣文旅局黨組書記在五一假期及夏季旅游安全生產(chǎn)工作部署會(huì)議上的講話發(fā)言材料.docx
    賣家[上傳人]:zhuwuneng
    資質(zhì):實(shí)名認(rèn)證