黑盒測試是軟件測試是常用的一種測試方式,不深入代碼細節的測試方法稱為動态黑盒子測試。黑盒測試又叫功能測試、數據驅動測試或給予需求規格說明書的功能測試。這種測試注重于測試軟件的功能性需求。
常用的黑盒測試方法有:等價類劃分法;邊界值分析法;因果圖法;場景法;正交實驗設計法;判定表驅動分析法;錯誤推測法;功能圖分析法。
等價類劃分法等價類劃分就是解決如何選擇适當的數據子集來代表整個數據集的問題,通過降低測試的數目去實現“合理的”覆蓋,覆蓋了更多的可能數據,以發現更多的軟件缺陷。等價類分為有效等價類和無效等價類,其中,有效等價類是指對于程序的規格說明來說是合理的,有意義的輸入數據構成的集合;而無效等價類是指對于程序的規格說明來說是不合理的,沒有意義的輸入數據構成的集合。
确定等價類的原則是:a. 在輸入條件規定了取值範圍或值的個數的情況下,則可以确定一個有效等價類和兩個無效等價類,比如若規定的輸入範圍是1<x<10的所有數,則有效的是1~10内的任意數,而無效的是 -∞~0.9999 和10.00001~ ∞; b. 在輸入條件規定了輸入值的集合或者規定了“必須如何”的條件的情況下,則可以确立一個有效等價類和一個無效等價類;c.在輸入條件是一個布爾量的情況下,可以确定一個有效的等價類和一個無效的等價類;d. 在規定了輸入數據的一組值(假定n個),并且程序要對每一個輸入值分别處理的情況下,可以确立n個有效等價類和一個無效等價類;e. 在規定了輸入數據必須遵守的規則的情況下,可以确立一個有效等價類(符合規則)和若幹個無效等價類(從不同角度違反規則);f.在确知已劃分的等價類中各元素在程序處理中的方式不同的情況下,則應再将改等價類進一步的劃分為更小的等價類。
邊界值分析法
邊界值分析法就是對輸入或輸出的邊界值進行測試的一種黑盒測試方法。通常邊界值分析法是作為對等價類劃分法的補充,這種情況下,其測試用例來自等價類的邊界。使用邊界值的分析方法涉及測試用例,首先應确定邊界情況。通常輸入和輸出等價類的邊界,應當選取正好等于,剛剛大于或者剛剛小于邊界的值作為測試數據,而不是選取等價類中的典型值或任意值作為測試數據。
邊界值選擇的原則: a. 如果輸入條件規定了值的範圍,則應取剛達到這個範圍的邊界的值,以及剛剛超越這個範圍的邊界的值作為測試輸入數據。 例如,如果程序的規格說明中規定:“重量在10公斤至50公斤範圍内的郵件,其郵費計算公式為……”。作為測試用例,我們應取10及50,還應取10.01,49.99,9.99及50.01等;b. 如果輸入條件規定了值的個數,則用最大個數,最小個數,比最小個數小一,和比最大個數大一的數作為測試數據。例如,一個輸入文件應包括1~255個記錄,則測試用例可取1和255,還應取0及256等。c. 将前面兩個原則應用于輸出條件,即涉及測試用例使輸出值達到邊界值及其左右的值。d.如果程序的規格說明給出的輸入域或輸出域是有序集合,則應選取集合的第一個元素和最後一個元素作為測試用例。e. 如果程序中使用了一個内部數據結構,則應當選擇這個内部數據結構的邊界上的值作為測試用例數據;f. 分析規格說明,找出其他可能的邊界條件。
因果圖法
因果圖是一種利用圖解法分析輸入的各種組合情況,從而設計測試用例的方法,它适合于檢查程序輸入條件的各種組合情況。
利用因果圖生成測試用例的基本步驟有:1. 分析軟件規格說明描述中哪些是原因(輸入,包括前提條件,操作過程),哪些是結果(輸出),并給每個原因和結果賦予一個标識符;2. 分析軟件規格說明描述的語義,找出原因和結果之間,原因和原因之間的關系,根據這些關系,畫出因果圖;3. 在因果圖上用一些記号表明約束或限制條件;4. 把因果圖轉換為判定表;5. 把判定表的每一列拿出來作為依據,設計測試用例。
因果圖的基本符号和約束符号:
場景法
場景法一般包含基本流和備用流,從一個流程開始,通過描述經過的路徑來确定的過程,經過遍曆所有的基本流和備用流來完成整個場景。其中,基本流就是正常的,正确場景;備選流一般指中斷操作的。
正交實驗設計法
正交實驗設計法是研究多因素多水平的又一種設計方法,它是根據 正交性 從全面試驗中挑選出部分有代表性的點進行試驗,這些有代表性的點具備了“均勻分散,齊整可比”的特點。是一種高效率、快速、經濟的實驗設計方法。使用正交試驗設計法首先要知道正交表,正交表是研究多因素多水平的一種設計方法,它是格局正交性從全面試驗中挑選出部分有代表性的點進行試驗,這些有代表性的點具備了“均勻分散,齊整可比”的特點,正交試驗設計是一種基于正交表的、高效率、快速、經濟的試驗設計方法。正交表由三個成分構成,Runs:正交表的行數,即實驗的次數;Factors:正交表的列數,即因素數;Levels:水平數,任何單個因素能夠取得的值的最大個數。 正交表的表現形式是: L行數 (水平數因素數) L runs(levels^factors )。
用正交表設計測試用例的步驟: 1. 有哪些因素(變量); 2.每個因素有那幾個水平(變量的取值):用等價類劃分出來的;3. 選擇一個合适的正交表;4. 把變量的值映射到表中;5. 把每一行的各因素水平的組合作為一個測試用例;6. 加上你認為可以且沒有在表中出現的組合。
如何選擇正交表呢?取行數最少的一個,情況分三種:1.因素數(變量)、水平數(變量值)相符;2. 因素數不相同: 取因素數最接近但略大的實際值的表;3. 水平數不相同: 有五個因素(變量)A、B、C、D和E。兩個因素有兩個水平(變量的取值)、兩個因素有三個水平,一個因素有六個水平。行數取最少的一個( 行數取最少的一個(L49(78)、 L18(3661)
判定表驅動分析法
判定表是分析和表達多邏輯條件下執行不同操作的情況的工具。判定表由以下部分構成: 1. 條件樁(Condition Stub):列出了問題的所有條件。通常認為列出的條件的次序無關緊要; 2. 動作樁(Action Stub):列出了問題規定可能采取的操作。這些操作的排列順序沒有約束;3. 條件項(Condition Entry):列出針對它左列條件的取值在所有可能情況下的真假值; 4. 動作項(Action Entry):列出在條件項的各種取值情況下應該采取的動作。
錯誤推測法錯誤推測法是指:在測試程序時,人們可以根據經驗或直覺推測程序中可能存在的各種錯誤,從而有針對性地編寫檢查這些錯誤的測試用例的方法。錯誤推測法是基于經驗和直覺推測程序中所有可能存在的各種錯誤, 從而有針對性的設計測試用例的方法。錯誤推測方法的基本思想: 列舉出程序中所有可能有的錯誤和容易發生錯誤的特殊情況, 根據它們選擇測試用例。
對于黑盒測試的綜合策略是:首先,考慮邊界值分析法,邊界值分析法是在任何情況下都必須使用的方法,因為經驗表明這種方法設計的測試用例發現程序錯誤的能力最強。必要時用等價類劃分方法補充一些測試用例。其次,可以用錯誤推測法再追加一些測試用例。這時,可以對照程序邏輯,檢查已設計出的測試用例的邏輯覆蓋率,如果沒有達到要求的覆蓋标準,應當再補充足夠的測試用例;如果程序的功能說明中含有輸入條件的組合情況,則一開始就可以選用因果圖法。
覺得不錯的朋友關注下哩~接下來會講白盒測試方法等。
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!