日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

黑盒测试9种常用方法

發(fā)布時(shí)間:2023/12/10 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 黑盒测试9种常用方法 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

文章目錄

    • 測(cè)試用例
    • 黑盒測(cè)試
    • 等價(jià)類劃分法
    • 邊界值分析法(BVA)
    • 判定表法
    • 因果圖法
    • 組合覆蓋法
    • 正交實(shí)驗(yàn)法
    • 對(duì)比pairwise和OTDM
    • 因果圖、決策表和pairwise選用建議
    • 功能圖法(黑白盒混合)
    • 場(chǎng)景設(shè)計(jì)法
    • 錯(cuò)誤推測(cè)法

測(cè)試用例

  • 組成
    測(cè)試用例 = 輸入(測(cè)試步驟和測(cè)試數(shù)據(jù))+輸出(期望結(jié)果)+ 測(cè)試環(huán)境(系統(tǒng)環(huán)境設(shè)置)
  • 編寫時(shí)機(jī)
    通常在測(cè)試設(shè)計(jì)階段來(lái)寫,即在《需求規(guī)格說(shuō)明書》和《測(cè)試計(jì)劃》都已完成之后
  • 編寫標(biāo)準(zhǔn)
    唯一標(biāo)準(zhǔn):用戶需求
  • 參考資料
    《需求規(guī)格說(shuō)明書》和軟件原型。
  • 作用
    測(cè)試過(guò)程中的重要參考依據(jù),好的用例被重復(fù)使用使得測(cè)試過(guò)程事半功倍。
  • 黑盒測(cè)試

  • 來(lái)由
    任何程序都可以看作是從輸入定義域到輸出值域的映射,將被測(cè)程序看作一個(gè)打不開(kāi)的黑盒,黑盒里面的內(nèi)容(實(shí)現(xiàn))是完全不知道的,只知道軟件要做什么。即不關(guān)心結(jié)構(gòu),只關(guān)心輸入輸出。
  • 定義
    現(xiàn)代黑盒測(cè)試是從一種從軟件外部對(duì)軟件實(shí)施的測(cè)試,也稱基于規(guī)格說(shuō)明的測(cè)試。
    黑盒測(cè)試是從用戶觀點(diǎn)出發(fā)的測(cè)試,其目的是盡可能發(fā)現(xiàn)軟件的外部行為錯(cuò)誤。
  • 檢測(cè)內(nèi)容
    檢測(cè)軟件功能能否按照需求規(guī)格說(shuō)明書的規(guī)定正常工作,是否有功能遺漏;
    檢測(cè)是否有人機(jī)交互錯(cuò)誤,是否有數(shù)據(jù)結(jié)構(gòu)和外部數(shù)據(jù)庫(kù)訪問(wèn)錯(cuò)誤,是否能恰當(dāng)?shù)亟邮諗?shù)據(jù)并保持外部信息(如數(shù)據(jù)庫(kù)或文件)等的完整性;
    檢測(cè)行為、性能等特性是否滿足要求等;
    檢測(cè)程序初始化和終止方面的錯(cuò)誤等。
  • 優(yōu)點(diǎn)
    軟件實(shí)現(xiàn)發(fā)生了變化,測(cè)試用例仍然可以使用;
    可以和軟件實(shí)現(xiàn)同時(shí)進(jìn)行,因此可以壓縮項(xiàng)目總的開(kāi)發(fā)時(shí)間。
  • 下面介紹黑盒測(cè)試常用的9種方法。

    等價(jià)類劃分法

  • 定義
    根據(jù)程序規(guī)格說(shuō)明書把所有可能的輸入數(shù)據(jù),即程序輸入域劃分為若干個(gè)互不相交的子集,稱為等價(jià)類,然后從每個(gè)等價(jià)類中選取少數(shù)具有代表性的數(shù)據(jù)作為測(cè)試用例,進(jìn)行測(cè)試。
  • 等價(jià)類
    等價(jià)類是某個(gè)輸入域的子集,在該子集中每個(gè)輸入數(shù)據(jù)的作用是等效的
    分為有效等價(jià)類和無(wú)效等價(jià)類
    有效等價(jià)類:對(duì)于程序的規(guī)格說(shuō)明來(lái)說(shuō)是合理的、有意義的輸入數(shù)據(jù)構(gòu)成的集合。利用有效等價(jià)類可以檢驗(yàn)程序是否實(shí)現(xiàn)了規(guī)格說(shuō)明中所規(guī)定的功能和性能。
    無(wú)效等價(jià)類:與有效等價(jià)類的定義恰巧相反。
    設(shè)計(jì)測(cè)試用例時(shí),要同時(shí)考慮這兩種等價(jià)類。因?yàn)檐浖粌H要能接收合理的數(shù)據(jù),也要能經(jīng)受異常數(shù)
    據(jù)的考驗(yàn)。經(jīng)過(guò)正反的測(cè)試才能確保軟件具有更高的可靠性
  • 確定等價(jià)類的6個(gè)原則
    ①輸入條件規(guī)定了取值范圍或值的個(gè)數(shù)的情況下,則可以確立一個(gè)有效等價(jià)類和兩個(gè)無(wú)效等價(jià)類。

    ②在輸入條件規(guī)定了輸入值的集合或者規(guī)定了“必須如何”的條件的情況下,可以確立一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。

    ③在輸入條件是一個(gè)布爾量的情況下,可確定一個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。

    ④多輸入的或關(guān)系
    在規(guī)定了輸入數(shù)據(jù)的一組值(假定n個(gè)),并且程序要對(duì)每一個(gè)輸入值分別處理的情況下,可確立n個(gè)有效等價(jià)類和一個(gè)無(wú)效等價(jià)類。
    ⑤多輸入的且關(guān)系
    在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可確立一個(gè)有效等價(jià)類(符合規(guī)則)和若干個(gè)無(wú)效等價(jià)類(從不同角度違反規(guī)則)。
    ⑥細(xì)分等價(jià)類
    在確知已劃分的等價(jià)類中,各元素在程序處理中的方式不同的情況下,則應(yīng)再將該等價(jià)類進(jìn)一步地劃分為更小的等價(jià)類。
  • 根據(jù)等價(jià)類創(chuàng)建測(cè)試用例的步驟
    (a) 建立等價(jià)類表,列出所有劃分出的等價(jià)類:

    (b) 為每個(gè)等價(jià)類規(guī)定一個(gè)唯一的編號(hào);
    ? 設(shè)計(jì)一個(gè)新的測(cè)試用例,使其盡可能多地覆蓋尚未覆蓋的有效等價(jià)類
    (d) 重復(fù)?,最后使得所有有效等價(jià)類均被測(cè)試用例所覆蓋;
    (e) 設(shè)計(jì)一個(gè)新的測(cè)試用例,使其只覆蓋一個(gè)無(wú)效等價(jià)類。
    (f) 重復(fù)(e)使所有無(wú)效等價(jià)類均被覆蓋。
    tips:有效等價(jià)類和無(wú)效等價(jià)類都要被覆蓋,但覆蓋原則不同。
  • 進(jìn)一步理解等價(jià)類劃分法
    規(guī)格說(shuō)明往往沒(méi)有定義無(wú)效測(cè)試用例期望輸出應(yīng)該是什么樣的。因此,測(cè)試人員需要花費(fèi)大量時(shí)間來(lái)定義這些測(cè)試用例的期望輸出。
    等價(jià)分類的目標(biāo)是把可能的測(cè)試用例組合縮減到仍然足以滿足軟件測(cè)試需求為止。選擇了不完全測(cè)試,就要冒一定的風(fēng)險(xiǎn),所以必須仔細(xì)選擇分類。
    測(cè)試同一個(gè)復(fù)雜程序的兩個(gè)軟件測(cè)試人員,可能會(huì)指定出兩組不同的等價(jià)區(qū)間。只要審查認(rèn)為足以覆蓋測(cè)試對(duì)象就可以了。
  • 小試牛刀(作業(yè))


    參考答案
  • 邊界值分析法(BVA)

    全稱Boundary Value Analysis
    首先明確,需要在等價(jià)類劃分的基礎(chǔ)上進(jìn)行

  • 來(lái)由
    邊界值和等價(jià)類密切相關(guān),輸入等價(jià)類和輸出等價(jià)類的邊界是要著重測(cè)試的邊界情況。在等價(jià)類的劃分過(guò)程中就產(chǎn)生了許多等價(jià)類邊界。邊界是最容易出錯(cuò)的地方,所以,從等價(jià)類中選取測(cè)試數(shù)據(jù)時(shí)應(yīng)該關(guān)注邊界值。
    做個(gè)類比,如果兩個(gè)接壤的國(guó)家要互派間諜,是不是派生活在邊界的人去更容易蒙混過(guò)關(guān)?
  • 基本思想
    選取正好等于剛剛大于剛剛小于等價(jià)類邊界的值作為測(cè)試數(shù)據(jù),而不是選取等價(jià)類中的典型值或任意值做為測(cè)試數(shù)據(jù)。
  • 邊界
    邊界是指相對(duì)于輸入等價(jià)類和輸出等價(jià)類而言,稍高于邊界值及稍低于其邊界值的一些特定情況。
  • 具體有以下幾種情況(我覺(jué)得這很白癡,ppt上還說(shuō)是確定邊界值的原則):
    a. 如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個(gè)范圍的邊界的值,以及剛剛超越這個(gè)范圍邊界的值作為測(cè)試輸入數(shù)據(jù)。
    b. 如果輸入條件規(guī)定了值的個(gè)數(shù),則用最大個(gè)數(shù)、最小個(gè)數(shù)、比最小個(gè)數(shù)少、比最大個(gè)數(shù)多1的數(shù)作為測(cè)試數(shù)據(jù)。
    c. 很多如果程序的規(guī)格說(shuō)明給出的輸入域或輸出域是有序集合,則應(yīng)選取集合的第一個(gè)元素和最后一個(gè)元素作為測(cè)試用例。
    d. 如果程序中使用了一個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個(gè)內(nèi)部數(shù)據(jù)結(jié)構(gòu)的邊界上的值作為測(cè)試用例。
    一些可能與邊界有關(guān)的數(shù)據(jù)類型:數(shù)值,速度,字符,地址,位置,尺寸,數(shù)量等。
    考慮數(shù)據(jù)類型的下述特征

    4. 次邊界條件
    普通邊界條件最容易找到,在產(chǎn)品說(shuō)明書中有定義,或者在使用軟件的過(guò)程中確定。
    有些邊界在軟件的內(nèi)部,最終用戶幾乎看不到,但是軟件測(cè)試仍有必要檢查。這種邊界條件稱為次邊界條件或者內(nèi)部邊界條件
    尋找這樣的邊界不要求軟件測(cè)試人員具有程序員那樣閱讀源代碼的能力,但要求大體了解軟件的工作方式。

    5. 單故障假設(shè)

    如圖,有x1和x2兩個(gè)輸入域,每次只讓一個(gè)出故障,取值不在矩形的四個(gè)角,而在邊上。
    對(duì)于一個(gè)n變量的程序,BVA測(cè)試會(huì)產(chǎn)生4n+1個(gè)測(cè)試用例。
    4的來(lái)由:min,min+,max,max-
    1的來(lái)由:各個(gè)維度都取正常值的那個(gè)測(cè)試用例

    健壯性BVA測(cè)試會(huì)產(chǎn)生6n+1個(gè)測(cè)試用例,多出的是min-與max+

  • 實(shí)例
    以下實(shí)例同時(shí)用上了等價(jià)類和BVA測(cè)試方法



    評(píng)價(jià):該測(cè)試方法的涉及違反了單故障假設(shè),并不好。
  • 背景:當(dāng)輸入之間有了關(guān)聯(lián),如:約束關(guān)系和組合關(guān)系,等價(jià)類劃分和BVA將不再適用,必須考慮使用一種適合于描述對(duì)于多種條件的組合,產(chǎn)生多個(gè)相應(yīng)動(dòng)作的測(cè)試方法(指先因果圖后判定表)。

    判定表法

    判定表方法是借助表格方法完成對(duì)輸入條件的組合設(shè)計(jì),以達(dá)到完全組合覆蓋的測(cè)試效果。
    在所有的黑盒測(cè)試方法中,基于判定表的測(cè)試是最嚴(yán)格,最具有邏輯性的測(cè)試方法。又稱決策表法。
    它能夠?qū)?fù)雜的問(wèn)題按照各種可能的情況全部列舉出來(lái),簡(jiǎn)明并避免遺漏。

  • 判定表
    判定表是把作為條件的所有輸入的各種組合值以及對(duì)應(yīng)輸出值都羅列出來(lái)而形成的表格。
    條件(作為輸入)和活動(dòng)(作為輸出)兩部分組成。
    組成元素

  • 判定表的制定

  • 適合使用判定表設(shè)計(jì)測(cè)試用例的條件
    a. 規(guī)則說(shuō)明以判定表的形式給出,或很容易轉(zhuǎn)換成判定表。
    b. 條件和規(guī)則的排列順序不影響執(zhí)行哪些操作。
    c. 當(dāng)某一條規(guī)則的條件已經(jīng)滿足,并確定要執(zhí)行的操作后,不必檢驗(yàn)別的規(guī)則。
    d. 如果某一規(guī)則要執(zhí)行多個(gè)操作,這些操作的執(zhí)行順序無(wú)關(guān)緊要。

  • 示例

  • 因果圖法

  • 定義
    借助圖形,著重分析輸入條件的各種組合,每種組合條件就是“因”,輸出的結(jié)果就是“果”。
    因果圖是一種形式化的圖形語(yǔ)言,實(shí)質(zhì)上是使用簡(jiǎn)化記號(hào)表示數(shù)字邏輯圖,不僅能發(fā)現(xiàn)輸入、輸出中的錯(cuò)誤,還能指出程序規(guī)范中的不完全性和二義性。
  • 因果圖法生成測(cè)試用例的步驟
  • ①分析軟件規(guī)格說(shuō)明文檔描述的哪些是原因(輸入條件),哪些是結(jié)果(輸出條件)。
    原因常是輸入條件或輸入條件的等價(jià)類,結(jié)果是輸出條件。
    ②分析程序規(guī)格說(shuō)明的描述中的語(yǔ)義內(nèi)容,將其表示成連接各個(gè)原因與各個(gè)結(jié)果的“因果圖”。
    ③標(biāo)明約束條件。在因果圖上標(biāo)上哪些不可能發(fā)生的因果關(guān)系,表明約束或限制條件。
    ④根據(jù)因果圖,創(chuàng)建判定表,將復(fù)雜的邏輯關(guān)系和多種條件組合很具體明確的表示出來(lái)。
    ⑤把判定表的每一列作為依據(jù)設(shè)計(jì)測(cè)試用例。

  • 符號(hào)分析
    分為基本符號(hào)(即輸入和輸出之間)和約束符號(hào)(即輸入之間、輸出之間)兩大類
    基本符號(hào)有:恒等、非、或、與四類,圖形都很好記
    約束符號(hào)有:
    互斥(Exclusion)
    或(不知道為啥寫成I)
    唯一(Only)
    要求(Require)
    屏蔽(Mask)

    背景:實(shí)際中每個(gè)條件不只有“是”“否”兩個(gè)值,當(dāng)輸入條件的個(gè)數(shù)和輸入條件的取值可能都很多,組合數(shù)就是很大的數(shù)字,決策表已經(jīng)無(wú)能為力。
  • 組合覆蓋法

    最常用的是Pair-wise方法,即將眾多因素的值兩兩組合起來(lái)而大大減少測(cè)試用例組合,該方法經(jīng)濟(jì)有效。
    Pair-wise方法基本原理:
    不要測(cè)試所有的組合,測(cè)試所有的“Pairwise ”即可。(覆蓋任意2個(gè)因素所有狀態(tài)的測(cè)試用例集合)


    如果完全組合,其組合數(shù)是3 x 4 x 4 x 3 = 144種,但如果采用兩兩組合,其組合數(shù)只有17項(xiàng)

    可以靠工具自動(dòng)生成組合,典型有微軟的PICT。

    正交實(shí)驗(yàn)法

    Orthogonal Test Design Method, OTDM
    正交測(cè)試法使用已經(jīng)構(gòu)造好了的正交表格來(lái)安排試驗(yàn)并進(jìn)行數(shù)據(jù)分析。
    正交表的兩大優(yōu)越性,即“均勻分散,整齊可比”。

    其中9是實(shí)驗(yàn)次數(shù),4是因子的個(gè)數(shù),3是因子的水平數(shù)(即狀態(tài)數(shù))。
    試驗(yàn)次數(shù) = m*(n-1)+1 m是因子個(gè)數(shù) ,n是水平數(shù)。
    步驟

  • 確定影響功能的因子與狀態(tài)
  • 選擇一個(gè)合適的正交表
  • 利用正交表構(gòu)造測(cè)試數(shù)據(jù)集
  • 對(duì)比pairwise和OTDM

    共同點(diǎn)
    兩者使用頻率最高的均是兩兩組合,前提也都是基于“缺陷大部分發(fā)生在參數(shù)兩兩組合的情況下,三個(gè)參數(shù)組合導(dǎo)致的缺陷并不多見(jiàn)”。
    兩者的父集均是笛卡爾集。
    不同點(diǎn)
    兩者采用的篩選方式稍顯不同,配對(duì)測(cè)試選擇的是所有的兩兩組合所構(gòu)成的測(cè)試用例;
    正交表在此基礎(chǔ)上做了更進(jìn)一步的篩選,使得結(jié)果更加精煉。
    選擇建議
    在因子水平數(shù)比較少的情況下,采用配對(duì)測(cè)試方法。因?yàn)闇y(cè)試組合數(shù)更加全面一些,當(dāng)然在某些因子水平數(shù)時(shí),兩者最后篩選出的結(jié)果可能是一致的。
    在因子水平數(shù)比較多的情況下,采用正交表測(cè)試,因?yàn)榭梢缘玫礁泳珶挼臏y(cè)試組合,從而使測(cè)試效率得到提升。

    因果圖、決策表和pairwise選用建議

    如果程序的功能說(shuō)明中含有輸入條件的組合情況,則一開(kāi)始就可選用因果圖法和判定表法。
    對(duì)于配置參數(shù)類軟件,用正交試驗(yàn)法選擇較好的組合方式達(dá)到最佳效果。

    功能圖法(黑白盒混合)

    功能圖法就是使用功能圖形式化地表示程序的功能說(shuō)明,并機(jī)械地生成功能圖地測(cè)試用例。

    功能圖的兩個(gè)組成部分——狀態(tài)遷移圖(state transition diagram STD)和邏輯功能模型(logic function model LFM)。

    STD用于表示輸入數(shù)據(jù)序列以及相應(yīng)的輸出數(shù)據(jù),由輸入和當(dāng)前地狀態(tài)決定輸出數(shù)據(jù)和后續(xù)狀態(tài)。

    LFM用于表示在狀態(tài)輸入條件和輸出條件之間的對(duì)應(yīng)關(guān)系。LFM只適合于描述靜態(tài)說(shuō)明,輸出數(shù)據(jù)僅由輸入數(shù)據(jù)決定。

    后續(xù)要用到基本路徑覆蓋法。

    場(chǎng)景設(shè)計(jì)法

    多數(shù)軟件系統(tǒng)都是用事件觸發(fā)來(lái)控制業(yè)務(wù)流程,事件觸發(fā)時(shí)的情景便形成了場(chǎng)景,場(chǎng)景的不同觸發(fā)順序構(gòu)成了用例。
    特點(diǎn):測(cè)試人員要充分發(fā)揮對(duì)用戶實(shí)際業(yè)務(wù)場(chǎng)景的想象,關(guān)心用戶做什么,而不是關(guān)心產(chǎn)品做什么。
    優(yōu)點(diǎn):實(shí)用性強(qiáng),有效,設(shè)計(jì)出來(lái)的用例有價(jià)值。
    缺點(diǎn):可能使用的場(chǎng)景不一定能對(duì)事件系列進(jìn)行全面的分析,設(shè)計(jì)出來(lái)的用例不完整。

    錯(cuò)誤推測(cè)法

  • 定義
    測(cè)試者根據(jù)經(jīng)驗(yàn)、知識(shí)和直覺(jué)來(lái)發(fā)現(xiàn)軟件的錯(cuò)誤,來(lái)推測(cè)程序中可能存在的各種錯(cuò)誤,從而有針對(duì)性地進(jìn)行測(cè)試。
  • 特點(diǎn)
    沒(méi)有依據(jù),只能靠測(cè)試者自身實(shí)力;
  • 優(yōu)點(diǎn)
    快速切入體會(huì)到程序易用與否;
  • 缺點(diǎn)
    難以準(zhǔn)確知道測(cè)試覆蓋率。
  • 地位
    作為輔助方法(不像BVA是必用的黑盒測(cè)試方法)
  • 基本思想
    軟件測(cè)試的原則5-錯(cuò)誤存在集群現(xiàn)象
  • 總結(jié)

    以上是生活随笔為你收集整理的黑盒测试9种常用方法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。