軟件測試技術(shù)(第三版) 課件 第3章 黑盒測試方法_第1頁
軟件測試技術(shù)(第三版) 課件 第3章 黑盒測試方法_第2頁
軟件測試技術(shù)(第三版) 課件 第3章 黑盒測試方法_第3頁
軟件測試技術(shù)(第三版) 課件 第3章 黑盒測試方法_第4頁
軟件測試技術(shù)(第三版) 課件 第3章 黑盒測試方法_第5頁
已閱讀5頁,還剩47頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第3章黑盒測試方法3.1黑盒測試方法概述概述黑盒測試被稱為功能測試或數(shù)據(jù)驅(qū)動測試。在測試時,把被測程序視為一個不能打開的黑盒子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下進行。輸入輸出黒盒內(nèi)部實現(xiàn)不可見測試用例YX概述黑盒測試主要用于發(fā)現(xiàn)以下情況:①是否有不正確或遺漏了的功能②在接口上,能否正確地接受輸入數(shù)據(jù),能否產(chǎn)生正確地輸出信息③訪問外部信息是否有錯④性能上是否滿足要求⑤界面是否錯誤,是否不美觀⑥初始化或終止錯誤概述黑盒測試主要優(yōu)勢:比較簡單,不需要了解程序內(nèi)部的代碼及實現(xiàn);與軟件的內(nèi)部實現(xiàn)無關(guān);從用戶角度出發(fā),能很容易的知道用戶會用到哪些功能,會遇到哪些問題;基于軟件開發(fā)文檔,所以也能知道軟件實現(xiàn)了文檔中的哪些功能;在做軟件自動化測試時較為方便。概述邊界值分析(Boundary-ValueAnalysis)組合測試(CombinatorialTesting)因果圖(

Cause-EffectGraphing)等價類劃分(EquivalencePartitioning)判定表(DecisionTables)狀態(tài)轉(zhuǎn)換測試(StateTransformTesting)場景測試(Scenario-BasedTesting)隨機測試(RandomTesting)概述3.2邊界值分析第3章黑盒測試方法無數(shù)的測試實踐表明,大量的故障往往發(fā)生在輸入定義域或輸出值域的邊界上,而不是在其內(nèi)部。因此,針對各種邊界情況設計測試用例,通常會取得很好的測試效果。如果輸入條件規(guī)定了值的范圍,則應取剛達到這個范圍的邊界的值,以及剛剛超越這個范圍邊界的值作為測試輸入數(shù)據(jù)。邊界條件邊界在哪里?邊界點就是可能到達被測系統(tǒng)內(nèi)部處理機制發(fā)生變化的點需求中有利于識別邊界點的文字:位置、尺寸、數(shù)量、長度、速度、寬度、高度、距離、質(zhì)量、時間。。。邊界條件任何值得測試的范圍的臨界點,可分為:邊界值:在規(guī)格說明書中明確定義;次邊界:隱含在軟件中必須經(jīng)過分析才能獲得;

數(shù)值的邊界值邊界條件術(shù)語范圍或值bit(位)0或1byte(字節(jié))0~255word(字)0~65,535(單字)或0~4,294,967,295(雙字)K(千)1,024M(兆)1,048,576G(千兆)1,073,741,824Tera1099511627776字符的邊界值邊界條件字符ASCII碼值字符ASCII碼值Null(空)0A65Space(空格)32a97/(斜杠)47Z900(零)48z122:(冒號)58‘(單引號)96@64{(大括號)123特殊邊界值DefaultBlank

ZeroEmptyNullNone邊界條件如果輸入條件規(guī)定了值的范圍,則應取剛達到這個范圍的邊界的值,以及剛剛超越這個范圍邊界的值作為測試輸入數(shù)據(jù)。如果輸入條件規(guī)定了值的個數(shù),則用最大個數(shù)、最小個數(shù)、比最小個數(shù)少一、比最大個數(shù)多一的數(shù)作為測試數(shù)據(jù)。如果程序的規(guī)格說明給出的輸入域或輸出域是有序集合,則應選取集合的第一個元素和最后一個元素作為測試數(shù)據(jù)。如果程序中使用了一個內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應當選擇這個內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測試數(shù)據(jù)。分析規(guī)格說明,找出其他可能的邊界條件。邊界條件確定方法邊界值分析法利用輸入變量的最小值(min)、略大于最小值(min+)、輸入值域內(nèi)的任意值(nom)、略小于最大值(max-)和最大值(max)來設計測試用例。邊界值分析確定邊界情況,根據(jù)邊界值集合完成迪卡爾積(基于“單缺陷”假設)x2dacx1b●●●●●●●●●{<x1nom,x2min>,<x1nom,x2min+>,<x1nom,x2max->,<x1nom,x2max>,<x1min,x2nom>,<x1min+,x2nom>,<x1max-,x2nom>,<x1max,x2nom>,<x1nom,x2nom>}邊界值分析對于一個n變量的函數(shù),邊界值分析會產(chǎn)生4n+1個測試用例。x1minx1maxx2minx2maxX1取值:x1min,x1min+,x1nom,x1max-,x1maxX2取值:x2min,x2min+,x2nom,x2max-,x2max除了變量的5個邊界分析取值還要考慮略超過最大值(max+)和略小于最小值(min-)時的情況dacx1b●●●●●●●●●●●●●6n+1個測試用例健壯性測試{<x1nom,x2min->,<x1nom,x2min>,<x1nom,x2min+>,<x1nom,x2max->,<x1nom,x2max>,<x1nom,x2max+>,<x1min-,x2nom>,<x1min,x2nom>,<x1min+,x2nom>,<x1max-,x2nom>,<x1max,x2nom>,<x1max+,x2nom>,<x1nom,x2nom>}X2最壞情況假設拒絕了“單缺陷”假設,它對每一個輸入變量首先進行包含最小值、略高于最小值、正常值、略低于最大值、最大值五個元素集合的測試,然后對這些集合進行笛卡爾積計算,以此來看系統(tǒng)的反應。dacx1b●●●●●●●●●●●●●●●●●●●●●●●●●n變量函數(shù)的最壞情況測試會產(chǎn)生5n個測試用例兩種變量最壞情況測試用例最壞情況測試X2健壯最壞情況測試是最壞情況測試的擴展,這種測試使用健壯性測試的七個元素集合的笛卡兒積,將會產(chǎn)生7n個測試用例。cdabX1X2健壯最壞情況測試邊界值覆蓋率=(執(zhí)行的邊界值的數(shù)量/總的邊界值的數(shù)量)*100%邊界值分析的局限性測試用例不充分不能發(fā)現(xiàn)測試變量之間的依賴關(guān)系不考慮含義和性質(zhì),沒有利用理解和想象小結(jié)

有一個小程序,能夠求出三個在0到9999間整數(shù)中的最大者,請分別用邊界值分析和健壯性測試方法設計測試用例。練習3.3等價類劃分第3章黑盒測試方法劃分(PartitioningDomains)等價類(EquivalenceClass)指定義在集合A上的關(guān)系,滿足自反的、對稱的和傳遞的等性質(zhì)。設R是定義在集合A上的等價關(guān)系,與A中一個元素a有關(guān)系的所有元素的集合叫做a的等價類。等價類的劃分bi

bj=,

ij,bi,bjBqb1b2b3

b=DbBq每個等價類所揭示的程序錯誤都是等價的。有效等價類是指對于程序的規(guī)格說明來說,是合理的,有意義的輸入數(shù)據(jù)構(gòu)成的集合。利用它可以檢驗程序是否實現(xiàn)了預期的功能和性能(確認過程)。無效等價類是指對于程序的規(guī)格說明來說,是不合理的,無意義的輸入數(shù)據(jù)構(gòu)成的集合。利用它可以檢驗程序?qū)τ跓o效數(shù)據(jù)的處理能力(驗證過程)。等價類的劃分如果輸入條件規(guī)定了取值范圍,或者值的個數(shù),則可以確立一個有效等價類和兩個無效等價類,例如:數(shù)據(jù)范圍是1~50有效等價類為“>=1&&<=50”兩個無效等價類為“<1”和“>50”如果規(guī)定了輸入數(shù)據(jù)的一組值,而且程序要對每一個輸入值分別進行處理,這時要對每一個規(guī)定的輸入值確立一個有效等價類,而對于這組值之外的所有值確立一個無效等價類例:程序輸入x取值于一個固定的枚舉類型{1,3,7,15},且程序中對這4個數(shù)值分別進行了處理,則有效等價類為x=1、x=3、x=7、x=15,無效等價類為x≠1,3,7,15的值的集合。劃分等價類的方法如果規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則,則可以確立一個有效等價類(即遵守規(guī)則的數(shù)據(jù))和若干無效等價類(從不同角度違反規(guī)則的數(shù)據(jù)),例如:

測試密碼域,要求密碼必須是數(shù)字或字母

有效等價類為“密碼是數(shù)字和字母的組合”(還可以細分)

無效等價類為“密碼包括中文”、“密碼包括其它符號”等如果輸入條件是一個布爾量,則可以確立一個有效等價類和一個無效等價類如果確知已劃分的等價類中的各元素在程序中的處理方式不同(例如字母還要區(qū)分大小寫等),則應進一步劃分成更小的等價類

劃分等價類的方法如圖,假設:

a≦x1≦d,區(qū)間為[a,b),[b,c),[c,d]e≦x2≦g,區(qū)間為[e,f),[f,g]●x2gfedcba●●●●●x1●●●●●●●●●●●●●●等價類測試類型有效等價類無效等價類X1a<=x1<=dx1<a和d<x1X2e<=x2<=gx2<e和g<x2弱一般弱健壯強一般強健壯x2gfex1dcba●●●弱一般等價類測試用例●x2gfedcba●●●●●弱健壯等價類測試用例x1●x2gfedcba●●●●●強一般等價類測試用例●●x2gfedcba●●●●●強健壯等價類測試用例x1●●●●●●●●●●●●●●等價類測試類型步驟a)分析輸入輸出b)劃分出有效等價類和無效等價類,建立等價類表,每一個等價類分別規(guī)定一個唯一的編號c)設計一個新的測試用例,使它能夠盡量覆蓋尚未覆蓋的有效等價類。重復這個步驟,直到所有的有效等價類均被測試用例所覆蓋。d)設計一個新的測試用例,使它僅覆蓋一個尚未覆蓋的無效等價類。重復這一步驟,直到所有的無效等價類均被測試用例所覆蓋。等價類設計測試用例1. 等價類測試的弱形式不如對應的強形式的測試全面。2. 如果實現(xiàn)語言是強類型,則沒有必要使用健壯形式的測試。3. 如果錯誤條件非常重要,則進行健壯形式的測試是合適的。4.如果輸入數(shù)據(jù)以離散值區(qū)間和集合定義,則等價類測試是合適的。當然也適用于如果變量值越界系統(tǒng)就會出現(xiàn)故障的系統(tǒng)。等價類測試指導方針和觀察5. 通過結(jié)合邊界值測試,等價類測試可得到加強。6. 強等價類測試假設變量是獨立的,相應的測試用例相乘會引起冗余問題。如果存在依賴關(guān)系,則常常會生成錯誤測試用例。7. 在發(fā)現(xiàn)合適的等價關(guān)系之前,可能需要進行多次嘗試。等價類測試指導方針和觀察以下界面可以設計哪些等價類?練習3.4基于決策表的測試第3章黑盒測試方法簡單組合問題根據(jù)組合知道結(jié)果的問題,就采用判定表方法/決策表方法(Decisiontable)?!伴喿x指南”決策表12345678問題覺得疲倦?YYYYNNNN感興趣嗎?YYNNYYNN糊涂嗎?YNYNYNYN建議重讀√繼續(xù)√跳下一章√√休息√√√√決策表的組成決策表通常由以下4部分組成:條件樁—列出問題的所有條件條件項—針對條件樁給出的條件列出所有可能的取值動作樁—列出問題規(guī)定的可能采取的操作動作項—指出在條件項的各組取值情況下應采取的動作

條件樁動作樁條件項動作項規(guī)則將任何一個條件組合的特定取值及相應要執(zhí)行的動作稱為一條規(guī)則。在決策表中貫穿條件項和動作項的一列就是一條規(guī)則。決策表的組成判定表圖示條目部分中的一列就是一條規(guī)則。規(guī)則指示在規(guī)則的條件部分中指示的條件環(huán)境下要采取什么行動。“—”叫“不關(guān)心”:條件無關(guān)或條件不適用。條目部分條件部分樁行動部分決策表的組成若表中有兩條以上規(guī)則具有相同的動作,并且在條件項之間存在極為相似的關(guān)系,便可以合并。合并后的條件項用符號“-”表示,說明執(zhí)行的動作與該條件的取值無關(guān),稱為無關(guān)條件。決策表的合并于約簡構(gòu)造決策表的5個步驟:(1)確定規(guī)則的個數(shù)。有n個條件的決策表有2n個規(guī)則(每個條件取真、假值)。(2)列出所有的條件樁和動作樁。(3)填入條件項。(4)填入動作項,得到初始決策表。(5)簡化決策表,合并相似規(guī)則。決策表的構(gòu)造決策表測試法適用于具有以下特征的應用程序:if-then-else邏輯突出;輸入變量之間存在邏輯關(guān)系;涉及輸入變量子集的計算;輸入與輸出之間存在因果關(guān)系。適用于使用決策表設計測試用例的條件:規(guī)格說明以決策表形式給出,或較容易轉(zhuǎn)換為決策表。條件的排列順序不會也不應影響執(zhí)行的操作。規(guī)則的排列順序不會也不應影響執(zhí)行的操作。當某一規(guī)則的條件已經(jīng)滿足,并確定要執(zhí)行的操作后,不必檢驗別的規(guī)則。如果某一規(guī)則的條件要執(zhí)行多個操作,這些操作的執(zhí)行順序無關(guān)緊要。小結(jié)3.5其他黑盒測試方法第3章黑盒測試方法場景的定義場景從用戶的角度描述系統(tǒng)的運行行為。場景:是由一系列相關(guān)的活動組成的,而且場景中的活動還可以由一系列的場景構(gòu)成?,F(xiàn)在的軟件幾乎都是用事件觸發(fā)來控制流程的,事件觸發(fā)時的情景便形成了場景,而同一事件不同的觸發(fā)順序和處理結(jié)果就形成事件流。場景測試場景的構(gòu)成基本流備用流場景測試場景1:基本流場景2:基本流備選

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論