軟件測評師43天——黑盒測試

黑盒測試

目的:測試用例概述、黑盒測試技術(shù)及分類

測試用例設(shè)計:是將軟件測評的行為活動,做一個科學(xué)化的組織歸納

設(shè)計一個情況,軟件程序在這種情況下,必須能夠正常運行并且達(dá)到程序所設(shè)計的執(zhí)行結(jié)果。

測試用例的好處:

1、 可以避免盲目測試并提高測試效率

2、 令軟件測試的實施重點突出、目的明確

3、 軟件版本更新后,只需少量修正便可進(jìn)性測試,降低工作強度,縮短項目周期。

4、 測試用例的通用化和復(fù)用話則會使軟件測試易于開展,并隨著測試用例的不斷精華其效率也不斷攀升。

黑盒測試

試圖發(fā)現(xiàn)端錯誤:1、功能不正確或遺漏 2、界面錯誤 3、數(shù)據(jù)庫訪問錯誤 4、性能錯誤 5、初始化和終止錯誤等。

方法:1、等價類劃分法 2、邊界值分析法 3、錯誤推測法 4、因果圖法 5、判定表驅(qū)動法 6、正交試驗設(shè)計法 7、功能圖法

依據(jù)用戶需求規(guī)格說明書來設(shè)計測試用例

等價類劃分法

依據(jù)需求規(guī)格說明書進(jìn)行測試

定義:是把程序的輸入劃分成若干部分,然后從每一個部分中選取少數(shù)代表性數(shù)據(jù)作為測試用例。

等價類: 是指某個輸入域的子集合。

有效等價類 指對于程序的規(guī)格說明使合理的、有意義的輸入數(shù)據(jù)結(jié)構(gòu)的集合

檢驗程序是否實現(xiàn)了規(guī)則說明中所規(guī)定的功能和性能

無效等價類? 與有效等價類定義相反

等價類劃分原則:

1、 在輸入條件規(guī)定了取值范圍或值的個數(shù)的情況下,可以確定一個有效等價類和兩個無效等價類。

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

3、 在輸入條件使要給布爾量的情況下,可以確定一個有效等價類和一個無效等價類。

4、 在規(guī)定了輸入數(shù)據(jù)的一組值(嘉定N個),并且程序要對每一個輸入值,分別處理的情況下,可以確定N個有效等價類和一個無效等價類

5、 在規(guī)定了輸入數(shù)據(jù)必須遵守的規(guī)則的情況下,可以確定要給有效等價類(符合規(guī)則)金和推桿個無效等價類(從不同的角度違反規(guī)則)

6、 在確知已劃分的等價類中,各元素在程序處理中的方式不同的情況下,則應(yīng)再將該等價類進(jìn)一步的劃分為更小的等價類。

確定測試用例

根據(jù)已列出的等價類表,按以下不走確定測試用例

1、 為每個等價類規(guī)定一個唯一的編號

2、 設(shè)計一個新的測試用例,使其盡可能多的覆蓋尚未覆蓋的有效等價類。重復(fù)這一步驟,最后使得所有有效等價類均被測試用例所覆蓋

3、 設(shè)計要給新的測試用例,使其覆蓋一個無效等價類,重復(fù)這一步使所有無效等價類均被覆蓋。

邊界值分析法:

是通過選擇等價類邊界的測試用例? ? ? ? 不僅重視輸入條件邊界,而且也必須考慮輸出域邊界

邊界值設(shè)計應(yīng)遵循的原則

1、 如果輸入條件規(guī)定了值的范圍,則應(yīng)取剛達(dá)到這個范圍的邊界的值,以及剛剛超越了這個范圍邊界的值,作為測試輸入數(shù)據(jù)。

2、 如果輸入條件規(guī)定了值得個數(shù),則用最大個數(shù)、最小個數(shù),比最小個數(shù)少1,比最大個數(shù)多1的數(shù)作為測試數(shù)據(jù)

3、 根據(jù)規(guī)格說明的每個輸出條件,使用前面的原則①

4、 根據(jù)規(guī)格說明的每個輸出條件,使用前面的原則②

5、 如果程序的規(guī)則說明給出的輸入域或輸出域是有序集合,則應(yīng)選擇集合的第一個i而元素和最后一個元素作為測試用例

6、 如果程序中使用了一個內(nèi)部數(shù)據(jù)結(jié)構(gòu),則應(yīng)當(dāng)選擇這個內(nèi)部數(shù)據(jù)邊界上的值作為測試用例

7、 分析規(guī)格說明,找出其他可能的邊界條件。

錯誤推測法

是基于經(jīng)驗和直覺推測程序中可能存在的各種錯誤,有針對性地設(shè)計測試用例的方法。

基本思想:是列舉出程序中所有可能有的錯誤和容易發(fā)生的特殊情況,根據(jù)他們選擇測試用例

如:程序只能輸入數(shù)字,測試時可以輸入字母進(jìn)行測試。

因果圖法

是從自然語言書寫的程序規(guī)格說明的描述中找出因(輸入條件)和果(輸出或程序狀態(tài)的改變)通過因果轉(zhuǎn)換成判斷表

基本符號 Ci表示原因? Ei表示結(jié)果

各個節(jié)點表示狀態(tài),可取“0”和“1”,0表示某種狀態(tài)不會出現(xiàn),1表示某狀態(tài)出現(xiàn)

恒等? 非 與 或? 上或下與

E(互斥) I(包含)? O(唯一) R(要求) M(屏蔽)

步驟

1、 分析程序規(guī)格說明書的描述中:原因和結(jié)果

2、 分析程序規(guī)格說明描述中語義的內(nèi)容,并將其表示成連接各個原因結(jié)果的“因果圖”

3、 標(biāo)明約束條件

4、 把因果圖轉(zhuǎn)換成判定表

5、 為判定表中每一列表示的情況設(shè)計測試用例

判定表驅(qū)動法

是分析和表達(dá)多邏輯條件下的執(zhí)行不同操作的情況的工具。

可以把復(fù)雜的邏輯關(guān)系和多種條件組合的情況表達(dá)得較明確

判定表組成:

條件樁 條件項

動作樁 動作項

判定表建立

依據(jù)軟件規(guī)格說明

1、 確定規(guī)格個數(shù)

2、 列出所有的條件樁和動作樁

3、 填入條件項

4、 填入動作項,制定初始判定表

5、 簡化,合并相似規(guī)則或者相同的動作。

適合使用判定表設(shè)計測試用例條件

1、 規(guī)格說明以判定表的形式給出,或很容易轉(zhuǎn)換成判定表

2、 條件的排列順序不影響執(zhí)行哪些操作

3、 規(guī)則的排列順序不影響執(zhí)行哪些操作

4、 當(dāng)某一規(guī)則的條件已經(jīng)滿足,并確定要執(zhí)行的操作后,不必檢驗別的規(guī)則。

5、 如果某一規(guī)則要執(zhí)行多個操作,這些操作的執(zhí)行無關(guān)緊要。

正交試驗法:

是從大量的試驗數(shù)據(jù)中挑選適量的、代表性的點,從而合理的安排測試的一中科學(xué)的試驗設(shè)計方法。

L8(2的7次方)

8表行的數(shù)據(jù)(試驗次數(shù)) 2表因子的水平數(shù) 7表列的數(shù)目(最多可安排的因子數(shù))

在行數(shù)為MN(M,N為正整數(shù))型的正交表中,試驗次數(shù)(行數(shù))=(每列水平數(shù)-1)的平均值 +1

設(shè)計測試用例的步驟

1、 提取功能說明,構(gòu)造因子—狀態(tài)表

2、 加權(quán)篩選,生產(chǎn)因素分析表

3、 利用正交表構(gòu)造測試數(shù)據(jù)集,正交表的推導(dǎo)依據(jù)Galois理論

優(yōu)點:

1、 節(jié)省測試工作工時

2、 可控制生成的測試用例是數(shù)量

3、 測試用例具有一定覆蓋率

功能圖法:

是用功能圖形象的表示程序的功能說明,并機械地生成功能圖的測試用例。

功能說明:①靜態(tài)說明:描述了條件與條件之間的對應(yīng)關(guān)系

②動態(tài)說明:描述了數(shù)據(jù)的次序或轉(zhuǎn)移的次序

功能圖模型:①狀態(tài)遷移圖:用于表示輸入數(shù)據(jù)序列以及相應(yīng)的輸出數(shù)據(jù)

由輸入數(shù)據(jù)和當(dāng)前狀態(tài)決定輸入數(shù)據(jù)和后續(xù)狀態(tài)

②邏輯功能模型:用于表示在狀態(tài)中輸入條件和輸出條件之間的對應(yīng)關(guān)系

只適合于靜態(tài)說明,輸出數(shù)據(jù)僅由輸入數(shù)據(jù)決定。

一種黑盒和白盒的混合設(shè)計

從功能圖生成測試用例的過程

1、 生成局部測試用例

2、 測試路徑生成

3、 測試用例合成

4、 測試用例的合成算法

場景法

通過運用場景來對系統(tǒng)的功能點或業(yè)務(wù)流程進(jìn)行描述,從而提高測試效果

基本流+備用流=場景法

從一個流程開始,通過描述經(jīng)過的路徑來確定的過程,經(jīng)過遍歷所有的基本流和備用流來完成整個場景。

基本流(黑線):

是經(jīng)過用例的最簡單的路徑;無任何差錯,從程序開始直接執(zhí)行到結(jié)束

備選流(不同顏色表示):

一個備選流可能從基本流開始,在某個特定條件下執(zhí)行,然后重新加入到基本流中,也可以起源于另一個備選流,或終于用例,不再加入到基本流中。


?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 黑盒測試案例設(shè)計技術(shù)篇 1 概述 本章介紹黑盒測試的概念和進(jìn)行黑盒測試的目的與意義,及關(guān)于等價類劃分、邊界值分析、...
    西邊人閱讀 17,337評論 0 41
  • 1.測試與軟件模型 軟件開發(fā)生命周期模型指的是軟件開發(fā)全過程、活動和任務(wù)的結(jié)構(gòu)性框架。軟件項目的開發(fā)包括:需求、設(shè)...
    宇文臭臭閱讀 6,873評論 5 101
  • 1.測試與軟件模型 軟件開發(fā)生命周期模型指的是軟件開發(fā)全過程、活動和任務(wù)的結(jié)構(gòu)性框架。軟件項目的開發(fā)包括:需求、設(shè)...
    Mr希靈閱讀 22,405評論 7 278
  • 等價類劃分方法: 一.方法簡介 1.定義是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然后從每一個...
    繼續(xù)hug閱讀 5,863評論 1 16
  • (全) 等價類劃分方法: 一.方法簡介 1.定義 是把所有可能的輸入數(shù)據(jù),即程序的輸入域劃分成若干部分(子集),然...
    xiangxiangUUU閱讀 2,174評論 1 7

友情鏈接更多精彩內(nèi)容