青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

The Fourth Dimension Space

枯葉北風寒,忽然年以殘,念往昔,語默心酸。二十光陰無一物,韶光賤,寐難安; 不畏形影單,道途阻且慢,哪曲折,如渡飛湍。斬浪劈波酬壯志,同把酒,共言歡! -如夢令

白盒測試中的六種覆蓋方法

摘要:白盒測試作為測試人員常用的一種測試方法,越來越受到測試工程師的重視。白盒測試并不是簡單的按照代碼設計用例,而是需要根據不同的測試需求,結合不同的測試對象,使用適合的方法進行測試。因為對于不同復雜度的代碼邏輯,可以衍生出許多種執行路徑,只有適當的測試方法,才能幫助我們從代碼的迷霧森林中找到正確的方向。本文介紹六種白盒子測試方法:語句覆蓋、判定覆蓋、條件覆蓋、判定條件覆蓋、條件組合覆蓋、路徑覆蓋。

白盒測試的概述

由于邏輯錯誤和不正確假設與一條程序路徑被運行的可能性成反比。由于我們經常相信某邏輯路徑不可能被執行, 而事實上,它可能在正常的情況下被執行。由于代碼中的筆誤是隨機且無法杜絕的,因此我們要進行白盒測試。

白盒測試又稱結構測試,透明盒測試、邏輯驅動測試或基于代碼的測試。白盒測試是一種測試用例設計方法,盒子指的是被測試的軟件,白盒指的是盒子是可視的,你清楚盒子內部的東西以及里面是如何運作的。

白盒的測試用例需要做到:

·保證一個模塊中的所有獨立路徑至少 被使用一次
·對所有邏輯值均需測試 true 和 false
·在上下邊界及可操作范圍內運行所有循環
·檢查內部數據結構以確保其有效性

白盒測試的目的:通過檢查軟件內部的邏輯結構,對軟件中的邏輯路徑進行覆蓋測試;在程序不同地方設立檢查點,檢查程序的狀態,以確定實際運行狀態與預期狀態是否一致。

白盒測試的特點:依據軟件設計說明書進行測試、對程序內部細節的嚴密檢驗、針對特定條件設計測試用例、對軟件的邏輯路徑進行覆蓋測試。

白盒測試的實施步驟:

1.測試計劃階段:根據需求說明書,制定測試進度。
2.測試設計階段:依據程序設計說明書,按照一定規范化的方法進行軟件結構劃分和設計測試用例。
3.測試執行階段:輸入測試用例,得到測試結果。
4.測試總結階段:對比測試的結果和代碼的預期結果,分析錯誤原因,找到并解決錯誤。

白盒測試的方法:總體上分為靜態方法和動態方法兩大類。

靜態分析是一種不通過執行程序而進行測試的技術。靜態分析的關鍵功能是檢查軟件的表示和描述是否一致,沒有沖突或者沒有歧義。

動態分析的主要特點是當軟件系統在模擬的或真實的環境中執行之前、之中和之后 , 對軟件系統行為的分析。動態分析包含了程序在受控的環境下使用特定的期望結果進行正式的運行。它顯示了一個系統在檢查狀態下是正確還是不正確。在動態分析技術中,最重要的技術是路徑和分支測試。下面要介紹的六種覆蓋測試方法屬于動態分析方法。

白盒測試的優缺點

1. 優點

·迫使測試人員去仔細思考軟件的實現
·可以檢測代碼中的每條分支和路徑
·揭示隱藏在代碼中的錯誤
·對代碼的測試比較徹底
·最優化

2. 缺點

·昂貴
·無法檢測代碼中遺漏的路徑和數據敏感性錯誤
·不驗證規格的正確性

六種覆蓋方法

首先為了下文的舉例描述方便,這里先給出一張程序流程圖。(本文以1995年軟件設計師考試的一道考試題目為例,圖中紅色字母代表程序執行路徑)。

1、語句覆蓋

1)主要特點:語句覆蓋是最起碼的結構覆蓋要求,語句覆蓋要求設計足夠多的測試用例,使得程序中每條語句至少被執行一次。

2)用例設計:(如果此時將A路徑上的語句1—〉T去掉,那么用例如下)

X
Y
路徑
1
50
50
OBDE
2
90
70
OBCE

3)優點:可以很直觀地從源代碼得到測試用例,無須細分每條判定表達式。

4)缺點:由于這種測試方法僅僅針對程序邏輯中顯式存在的語句,但對于隱藏的條件和可能到達的隱式邏輯分支,是無法測試的。在本例中去掉了語句1—〉T去掉,那么就少了一條測試路徑。在if結構中若源代碼沒有給出else后面的執行分支,那么語句覆蓋測試就不會考慮這種情況。但是我們不能排除這種以外的分支不會被執行,而往往這種錯誤會經常出現。再如,在Do-While結構中,語句覆蓋執行其中某一個條件分支。那么顯然,語句覆蓋對于多分支的邏輯運算是無法全面反映的,它只在乎運行一次,而不考慮其他情況。

2、判定覆蓋

1)主要特點:判定覆蓋又稱為分支覆蓋,它要求設計足夠多的測試用例,使得程序中每個判定至少有一次為真值,有一次為假值,即:程序中的每個分支至少執行一次。每個判斷的取真、取假至少執行一次。

2)用例設計:

X
Y
路徑
1
90
90
OAE
2
50
50
OBDE
3
90
70
OBCE

3)優點:判定覆蓋比語句覆蓋要多幾乎一倍的測試路徑,當然也就具有比語句覆蓋更強的測試能力。同樣判定覆蓋也具有和語句覆蓋一樣的簡單性,無須細分每個判定就可以得到測試用例。

4)缺點:往往大部分的判定語句是由多個邏輯條件組合而成(如,判定語句中包含AND、OR、CASE),若僅僅判斷其整個最終結果,而忽略每個條件的取值情況,必然會遺漏部分測試路徑。

3、條件覆蓋

1)主要特點:條件覆蓋要求設計足夠多的測試用例,使得判定中的每個條件獲得各種可能的結果,即每個條件至少有一次為真值,有一次為假值。

2)用例設計:

X
Y
路徑
1
90
70
OBC
2
40
OBD

3)優點:顯然條件覆蓋比判定覆蓋,增加了對符合判定情況的測試,增加了測試路徑。

4)缺點:要達到條件覆蓋,需要足夠多的測試用例,但條件覆蓋并不能保證判定覆蓋。條件覆蓋只能保證每個條件至少有一次為真,而不考慮所有的判定結果。

4、判定/條件覆蓋

1)主要特點:設計足夠多的測試用例,使得判定中每個條件的所有可能結果至少出現一次,每個判定本身所有可能結果也至少出現一次。

2)用例設計:

X
Y
路徑
1
90
90
OAE
2
50
50
OBDE
3
90
70
OBCE
4
70
90
OBCE

3)優點:判定/條件覆蓋滿足判定覆蓋準則和條件覆蓋準則,彌補了二者的不足。

4)缺點:判定/條件覆蓋準則的缺點是未考慮條件的組合情況。

5、組合覆蓋

1)主要特點:要求設計足夠多的測試用例,使得每個判定中條件結果的所有可能組合至少出現一次。

2)用例設計:

X
Y
路徑
1
90
90
OAE
2
90
70
OBCE
3
90
30
OBDE
4
70
90
OBCE
5
30
90
OBDE
6
70
70
OBDE
7
50
50
OBDE

3)優點:多重條件覆蓋準則滿足判定覆蓋、條件覆蓋和判定/條件覆蓋準則。更改的判定/條件覆蓋要求設計足夠多的測試用例,使得判定中每個條件的所有可能結果至少出現一次,每個判定本身的所有可能結果也至少出現一次。并且每個條件都顯示能單獨影響判定結果。

4)缺點:線性地增加了測試用例的數量。

6、路徑覆蓋

1)主要特點:設計足夠的測試用例,覆蓋程序中所有可能的路徑。

2)用例設計:

X
Y
路徑
1
90
90
OAE
2
50
50
OBDE
3
90
70
OBCE
4
70
90
OBCE

3)優點:這種測試方法可以對程序進行徹底的測試,比前面五種的覆蓋面都廣。

4)缺點:由于路徑覆蓋需要對所有可能的路徑進行測試(包括循環、條件組合、分支選擇等),那么需要設計大量、復雜的測試用例,使得工作量呈指數級增長。而在有些情況下,一些執行路徑是不可能被執行的,如:
If (!A)B++;
If (!A)D--;

這兩個語句實際只包括了2條執行路徑,即A為真或假時候對B和D的處理,真或假不可能都存在,而路徑覆蓋測試則認為是包含了真與假的4條執行路徑。這樣不僅降低了測試效率,而且大量的測試結果的累積,也為排錯帶來麻煩。

總結

白盒測試是一種被廣泛使用的邏輯測試方法,是由程序內部邏輯驅動的一種單元測試方法。只有對程序內部十分了解才能進行適度有效的白盒測試。但是貫穿在程序內部的邏輯存在著不確定性和無窮性,尤其對于大規模復雜軟件。因此我們不能窮舉所有的邏輯路徑,即使窮舉也未必會帶來好運(窮舉不能查出程序邏輯規則錯誤,不能查出數據相關錯誤,不能查出程序遺漏的路徑)。

那么正確使用白盒測試,就要先從代碼分析入手,根據不同的代碼邏輯規則、語句執行情況,選用適合的覆蓋方法。任何一個高效的測試用例,都是針對具體測試場景的。邏輯測試不是片面的測試正確的結果或是測試錯誤的結果,而是盡可能全面地覆蓋每一個邏輯路徑。

posted on 2009-11-29 15:55 abilitytao 閱讀(319) 評論(0)  編輯 收藏 引用


只有注冊用戶登錄后才能發表評論。
網站導航: 博客園   IT新聞   BlogJava   博問   Chat2DB   管理


青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产欧美日韩麻豆91| 久久精品成人欧美大片古装| 国产精品不卡在线| 性娇小13――14欧美| 鲁鲁狠狠狠7777一区二区| 亚洲免费黄色| 亚洲国产裸拍裸体视频在线观看乱了中文 | 欧美一级播放| 亚洲毛片av在线| 国产精品美女主播在线观看纯欲| 性一交一乱一区二区洋洋av| 久久激情视频久久| 欧美在线视频在线播放完整版免费观看| 亚洲精品婷婷| 欧美激情视频网站| 亚洲欧美综合国产精品一区| 亚洲天堂偷拍| 一区二区国产日产| 日韩亚洲欧美成人| 一区二区不卡在线视频 午夜欧美不卡在 | 亚洲一区二区精品| 亚洲精品视频在线观看免费| 亚洲成人自拍视频| 激情综合激情| 妖精视频成人观看www| 国产一级精品aaaaa看| 欧美视频手机在线| 欧美国产日韩视频| 欧美高清hd18日本| 日韩亚洲欧美一区二区三区| 亚洲综合好骚| 欧美好骚综合网| 欧美精品一区在线发布| 国产一区二区三区电影在线观看| 国产一区二区三区无遮挡| 99国产精品视频免费观看一公开| 亚洲精品网站在线播放gif| 午夜精品久久久久久久蜜桃app| 亚洲一区欧美| 你懂的网址国产 欧美| 亚洲视频在线观看| 男人插女人欧美| 国产精品久久一区主播| 亚洲国产导航| 久久久久久成人| 一区二区三区国产精品| 美女主播视频一区| 夜夜嗨网站十八久久| 久久在线视频| 久久精品一级爱片| 国产日产欧产精品推荐色 | 久久久久久九九九九| 亚洲伊人久久综合| 欧美日韩国产成人在线| 在线精品高清中文字幕| 老司机aⅴ在线精品导航| 久久综合九色综合久99| 欧美超级免费视 在线| 欧美成人激情视频免费观看| 亚洲亚洲精品三区日韩精品在线视频| 欧美国产综合一区二区| 欧美在线视频a| 亚洲欧美日韩国产一区二区三区| 亚洲无毛电影| 在线观看日韩av电影| 久久久久在线| 免费看精品久久片| 亚洲欧美另类国产| 午夜精品在线视频| av成人免费| 香蕉成人久久| 日韩视频一区| 久久久久久久国产| 夜夜嗨av一区二区三区免费区| 中文亚洲免费| 日韩视频精品在线观看| 欧美一区二区三区四区视频| 精品999久久久| 国产女人水真多18毛片18精品视频| 国产农村妇女毛片精品久久麻豆| 午夜精品免费| 老**午夜毛片一区二区三区| 狠狠色狠狠色综合| 久久久噜久噜久久综合| 久久亚洲国产成人| 亚洲美女视频在线观看| 99精品热6080yy久久| 国产精品自拍视频| 久热这里只精品99re8久| 免费不卡中文字幕视频| 亚洲免费av观看| 亚洲一区二区三区午夜| 影音先锋日韩精品| 99热这里只有成人精品国产| 国产日韩在线一区二区三区| 亚洲第一页自拍| 久久久国产一区二区三区| 久久高清福利视频| 一本久久知道综合久久| 午夜欧美不卡精品aaaaa| 亚洲裸体俱乐部裸体舞表演av| 亚洲无人区一区| 亚洲精品国产精品乱码不99| 亚洲欧美国产精品va在线观看| 亚洲国产裸拍裸体视频在线观看乱了中文| 亚洲毛片av在线| 1000部精品久久久久久久久| 亚洲欧美第一页| 亚洲色图在线视频| 久久中文在线| 久久精品国产一区二区三区| 欧美日韩亚洲国产精品| 欧美电影免费网站| 国产日韩综合| 一区二区欧美激情| 亚洲免费高清| 美女国产一区| 免费成人在线视频网站| 国产一区二区主播在线| 亚洲曰本av电影| 亚洲视频狠狠| 欧美另类videos死尸| 欧美激情国产高清| 亚洲第一二三四五区| 久久精品一区中文字幕| 久久精品99无色码中文字幕| 国产精品国产精品国产专区不蜜| 亚洲黄色av一区| 亚洲欧洲在线看| 欧美不卡高清| 亚洲高清久久| 亚洲欧洲日本专区| 欧美成人久久| 亚洲国产天堂久久国产91| 亚洲国产国产亚洲一二三| 久久久亚洲高清| 免费观看日韩| 亚洲国产成人精品女人久久久| 久久久一二三| 亚洲国产精品成人综合| 亚洲精品久久嫩草网站秘色| 欧美91大片| 亚洲精品在线视频| 亚洲一区二区三区精品动漫| 国产精品久久久久三级| 亚洲免费视频中文字幕| 久久精品30| 亚洲国产精品尤物yw在线观看| 免费欧美高清视频| 亚洲巨乳在线| 欧美一级欧美一级在线播放| 国模私拍视频一区| 玖玖精品视频| 一区二区av在线| 久久精品人人| 亚洲人成啪啪网站| 欧美日韩综合视频| 欧美中文字幕在线| 亚洲国产一成人久久精品| 一区二区欧美亚洲| 国产日韩欧美精品在线| 久久久久久亚洲精品杨幂换脸| 亚洲成人在线观看视频| 欧美日韩免费网站| 欧美一级片一区| 一本色道久久综合亚洲精品按摩| 欧美日韩久久精品| 午夜宅男欧美| 亚洲国产女人aaa毛片在线| 亚洲视频一区| 在线看国产一区| 欧美日韩在线直播| 欧美一区二区免费观在线| 亚洲国产欧美另类丝袜| 亚洲欧美视频| 91久久精品国产91久久性色| 国产精品videosex极品| 久久久久久久综合狠狠综合| 亚洲美女淫视频| 久久久久久免费| 亚洲校园激情| 亚洲国产精品一区二区www| 欧美视频在线免费| 久久亚洲一区| 欧美一区二区三区电影在线观看| 欧美刺激午夜性久久久久久久| 午夜精品国产精品大乳美女| 亚洲人成网站999久久久综合| 国产伦精品一区二区三区免费| 欧美久久视频| 蜜桃精品久久久久久久免费影院| 亚洲欧美一区二区视频| 亚洲人体偷拍| 欧美国产激情| 久久午夜视频| 久久国产精彩视频| 午夜久久久久久久久久一区二区| 99精品热6080yy久久| 在线成人小视频| 国内精品伊人久久久久av影院 |