tft每日頭條

 > 科技

 > 軟件測試黑盒測試方法及優缺點

軟件測試黑盒測試方法及優缺點

科技 更新时间:2024-07-07 12:52:11

各位友友們:

如果你選擇了轉發本篇内容、建議留下對本文章的意見和需要改進的地方;

如果你選擇了收藏本篇内容、建議添加關注不迷路!

(本人是公司在職人員,空閑時間整理測試理論更新,所以内容更新比較慢。請理解!)

上一篇文章說到測試方法按照測試執行階段分為黑盒測試、白盒測試和灰盒測試。

今天來講黑盒測試的常用方法(在企業實際工作中應用得最多,重點理解并且掌握)

黑盒測試是編寫測試用例的常見方法,主要方法:

等價類劃分法:(常用,重點掌握)

等價類劃分法是一種典型的黑盒測試用例設計方法,使用等價類劃分,是将軟件的輸入域分為若幹部分,然後從每個部分中選取少數具有代表性的數據進行測試,這樣可以避免窮舉産生的大量用例。

等價類是指某個輸入域的子集合,在該子集合中,每個輸入數據對于揭露軟件中的錯誤都是等效的。簡單地說,就是指輸入該輸入域中的某一個數據,如不能揭露被測對象中的缺陷,那麼我們就說這個輸入域中的所有數據都無法揭露該缺陷,反之亦然。

等價類劃分一般劃分為兩種情況:有效等價類和無效等價類。

  • 有效等價類:對需求規格說明而言,合理的、有效的輸入數據構成的集合。
  • 無效等價類:對需求規格說明而言,不合理的、無效的輸入數據構成的集合。

因為軟件不僅要能接收合理的數據,不合理的數據也需要做出正确響應,所以在設計測試用例時,兩種等價類都需要考慮,這樣的測試才能确保軟件具有更高的可靠性。

根據需求規格說明書确定被測對象的輸入域,進行等價類劃分。等價類劃分的标準,劃分的子集必須是互不相交的,符合完備測試,避免出現冗餘。

等價類劃分法的劃分原則,通常按照以下規則進行劃分等價類:

1)如果規定輸入的取值範圍或個數時,則劃分一個有效等價類和兩個無效等價類。如:注冊用戶名的長度限制6~18個字符,6~18個字符是有效等價類,小于6個字符和大于18個字符則是兩個無效等價類。

2)如果規定了輸入的集合或規則必須要遵循的條件,則劃分一個有效等價類,和一個無效等價類。如:注冊用戶名的格式要求必須以字母開頭時,以字母開頭是有效等價類,非字母開頭則是無效等價類。

3)如果輸入條件是一個布爾值,則劃分為一個有效等價類和一個無效等價類。如:在注冊用戶時需要遵循協議或條款是否接受時,“接受”是有效等價類,“不接受”則是無效等價類。

4)如果輸入條件是一組數據(枚舉值),并且程序對每一個輸入的值做不同的處理,則化為若幹個有效等價類和一個無效等價類。如:網遊中充值VIP等級(3個等價),對每個VIP的等級優惠不同,VIP1、VIP2、VIP3不同等級是三個有效等價類,不是VIP用戶則是無效等價類。

5)如果輸入條件規定了必須要遵循的某些規則下,則劃分為一個有效等價類和若幹個無效等價類(無效等價類需要從不同的角度去違反規則)。如:密碼要求首位必須是大寫字母的,首字母大寫是有效等價類,首位小寫字母的、首位為數字的或首位為特殊字符的則是無效等價類。

6)不是所有的等價類都有無效等價類。如性别的選擇隻有男或女兩種。

案例解析

某網站的用戶注冊的需求說明,用戶名為必填項,要求長度為6~18個字符,并由字母、數字、下劃線組成,必須以字母開頭,結尾必須是數字或字母,而且不區分大小寫字母,重名賬号不允許注冊。密碼為必填項,要求8~15個字符,首位必須是大寫字母,而且區分大小寫字母。确認密碼,要求與密碼輸入一緻。

軟件測試黑盒測試方法及優缺點(軟件測試黑盒測試方法及優缺點)1

根據上面需求說明,首先進行劃分等價類。經過細化後并将有效等價類和無效等價類填入等價類劃分設計表中,并進行編号。

軟件測試黑盒測試方法及優缺點(軟件測試黑盒測試方法及優缺點)2

根據覆蓋的規則,将測試數據覆蓋的有效和無效等價類編号填入表中。

軟件測試黑盒測試方法及優缺點(軟件測試黑盒測試方法及優缺點)3

最後根據上面的測試數據設計出對應的測試用例

軟件測試黑盒測試方法及優缺點(軟件測試黑盒測試方法及優缺點)4

邊界值分析法(重點掌握)

邊界值分析法是對等價類劃分法的一個補充,該方法不僅需要考慮輸入域的邊界,而且還要關注輸出域的邊界。由長期的測試工作經驗得知,大量的錯誤發生在輸入和輸出範圍的邊界上。因此針對各種邊界情況設計用例,可以查出更多的錯誤。

該方法一般在規定了取值範圍或規定了值的個數,或者明确輸入條件的有序集合中使用。

通常按照以下規則進行邊界點的劃分:

  • 如果規定了輸入域的取值範圍,則選取剛好在範圍邊界的點,以及剛好超過邊界的點,作為測試的輸入數據。
  • 如果規定了輸入值的個數,則用最大個數,最小個數,比最小個數少1,比最大個數多1的數作為測試數據。
  • 如果規定了輸入是一個有序的集合,則選取集合的第一個元素和最後一個元素作為測試數據。

【案例解析】

某銀行系統,允許用戶通過日期對交易進行查詢,系統對輸入日期的限定為1990年1月~2049年12月,并規定:日期由6位數字字符組成,前4位表示年,後2位表示月。

分析輸入條件有6位數字字符,年份的範圍,月份範圍。

正交試驗法(重點)

正交試驗法是從大量的試驗點中挑選出适量的、有代表性的點,應用依據迦羅瓦理論導出的“正交表”,合理的安排試驗的一種科學的試驗設計方法。它是根據正交性從全面試驗中挑選出部分有代表性的點進行試驗,這些有代表性的點具備了“均勻分散,齊整可比”的特點,是研究多因素多層次采樣點的一種設計方法,正交試驗設計是一種基于正交表的、高效率、快速、經濟的試驗設計方法。

正交試驗中常用的術語有指标、因子、因子狀态三個。

  • 指标:通常把判斷試驗結果優劣的标準叫做試驗的指标。
  • 因子:把所有影響試驗指标的條件稱為因子。
  • 因子的狀态:把影響試驗因子稱為因子的狀态。

正交試驗表示形式有2種:Lr(mn)或Lr(mn,pq),其中n、q代表因子數,即正交表中的列;m、p代表水平數也稱狀态,即單個因子取的最大數;r代表行數,正交表中行的數量,即測試用例數。簡單地說正交試驗法就是測試組合的方法,這一點跟判定表法類似,但是判定表法是通過人工對全排列組合來進行化簡得到測試用例,而正交試驗法是借助數學工具,通過算法從全排列組合中選擇組合并放到正交表中,通過查看合适的正交表,可以直接得到測試用例。正交表的原理就是兩兩組合。

【案例解析】

某數據庫查詢系統,規定查詢條件,可以按照功能、結構、邏輯符号等查詢類别進行查詢;也可按照簡單、組合、條件等查詢方式進行查詢;還可以按照元門、功能塊等元胞類别進行查詢;還可以按照終端顯示、圖形顯示、行式打印等打印方式進行查詢。

根據規定分析因子和因子的狀态,可得到因子——狀态表

軟件測試黑盒測試方法及優缺點(軟件測試黑盒測試方法及優缺點)5

根據規格分析,在上表中,因為打印方式的權值和查詢類别中邏輯符号的權值比較小,所以我們将這些權值比較小的因子或狀态進行加權篩選,得到分析表

軟件測試黑盒測試方法及優缺點(軟件測試黑盒測試方法及優缺點)6

再将上面的查詢方式中簡單和組合進行合并,得到組合後的因素表

軟件測試黑盒測試方法及優缺點(軟件測試黑盒測試方法及優缺點)7

再将合并後的因素表,替換到正交表3因子2狀态中

軟件測試黑盒測試方法及優缺點(軟件測試黑盒測試方法及優缺點)8

進行分解,最後得到具有6條測試用例的測試數據。

軟件測試黑盒測試方法及優缺點(軟件測試黑盒測試方法及優缺點)9

流程分析法(場景法)

流程分析法也稱場景法,主要是針對測試場景類型。它是從白盒測試設計方法中的路徑覆蓋分析法演變過來的一種重要的方法。在白盒測試中,路徑就是指函數代碼的某個分支組合,路徑覆蓋法需要構造足夠的用例覆蓋函數的所有代碼路徑。在黑盒測試中,若将軟件系統的某個流程看成路徑的話,則可以針對該路徑使用路徑分析的方法設計測試用例。

在實際工作中,流程分析法是最容易理解和執行的,它是主要通過流程對系統的功能點或業務流程進行描述,可以展示測試效果。流程分析法一般包含基本流和備選流,從一個流程開始,通過描述經過的路徑來遍曆所有的基本流和備選流。

● 基本流:是指程序的主流程,是實現業務流程最簡單的路徑。

● 備選流:是指實現業務流程時,因錯誤操作或者是異常操作,導緻最終未達到目的流程。

直線表示基本流;其他曲線表示為備選流。由圖可以看到,一個備選流可以從基本流開始;也可以從備選流開始。備選流的終點,可以是一個流程的出口,也可以是回到基本流,還可以是彙入其他的備選流。可以确認的流程如下所示:

軟件測試黑盒測試方法及優缺點(軟件測試黑盒測試方法及優缺點)10

流程1:基本流

流程2:基本流→備選流1

流程3:基本流→備選流1→備選流2

流程4:基本流→備選流3

流程5:基本流→備選流3→備選流1

流程6:基本流→備選流3→備選流1→備選流2

流程7:基本流→備選流4

流程8:基本流→備選流3→備選流4。

案例解析

某銀行ATM取款機的取款流程進行測試。首先畫取款的流程圖

軟件測試黑盒測試方法及優缺點(軟件測試黑盒測試方法及優缺點)11

軟件測試黑盒測試方法及優缺點(軟件測試黑盒測試方法及優缺點)12

其次生成ATM取款的流程

軟件測試黑盒測試方法及優缺點(軟件測試黑盒測試方法及優缺點)13

黑盒測試的方法以上重點掌握,此外還有狀态遷移法、異常分析法、錯誤推測法等。

黑盒測試的優缺點

黑盒測試使用範圍比較廣泛,其優點主要是站在用戶的角度進行測試,測試人員不需要了解程序實現的細節,相對白盒測試而言,黑盒測試的測試數據很容易生成,但是要測試到每一個輸入流幾乎是不可能的;其最大的缺點就是不能針對特定的程序段,這樣很容易造成程序路徑的漏測,當程序非常複雜時其隐藏的問題很難發現。

在實際工作中,由于黑盒測試的測試人員編程能力相對薄弱,所以大部分測試人員現在研究的都是介于白盒和黑盒之間,就是灰盒測試,也是常說的接口測試(後期更新)。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved