国产在线中文字幕亚洲,一区视频国产精品观看,欧美日韩国产高清片,久久久久久AV无码免费网站,亚洲无码一二三四五区,日韩无码www.,sese444

您好,歡迎來到維庫電子市場網(wǎng) 登錄 | 免費(fèi)注冊

白盒測試
閱讀�12484時間�2011-09-15 15:12:05

  白盒測試(White-box Testing,又稱邏輯驅(qū)動測�,�(jié)�(gòu)測試或基于程序本身的測試)是把測試對象看作一個打開的盒子。它是一種測試用例設(shè)�(jì)方法,從程序�(nèi)部邏輯結(jié)�(gòu)及有�(guān)信息來設(shè)�(jì)和選擇測試用�,對程序的邏輯路徑�(jìn)行測��

概述

  白盒測試法的覆蓋�(biāo)�(zhǔn)有邏輯覆�、循�(huán)覆蓋和基本路徑測試。其中邏輯覆蓋包括語句覆�、判定覆蓋、條件覆�、判�/條件覆蓋、條件組合覆蓋和路徑覆蓋�

  六種覆蓋�(biāo)�(zhǔn):語句覆�、判定覆蓋、條件覆�、判�/條件覆蓋、條件組合覆蓋和路徑覆蓋�(fā)�(xiàn)錯誤的能力呈由弱至強(qiáng)的變�。語句覆蓋每條語句至少執(zhí)行一次。判定覆蓋每個判定的每個分支至少執(zhí)行一�。條件覆蓋每個判定的每個條件應(yīng)取到各種可能的�。判�/條件覆蓋同時滿足判定覆蓋條件覆蓋。條件組合覆蓋每個判定中各條件的每一種組合至少出�(xiàn)一�。路徑覆蓋使程序中每一條可能的路徑至少�(zhí)行一��

  白盒測試也稱�(jié)�(gòu)測試或邏輯驅(qū)動測�,它是知道產(chǎn)品內(nèi)部工作過�,可通過測試來檢測產(chǎn)品內(nèi)部動作是否按照規(guī)格說明書的規(guī)定正常�(jìn)行,按照程序�(nèi)部的�(jié)�(gòu)測試程序,檢�(yàn)程序中的每條通路是否都有能按�(yù)定要求正確工�,而不顧它的功能,白盒測試的主要方法有邏輯�(qū)�、基路測試等,主要用于軟件驗(yàn)��

  "白盒"法全面了解程序內(nèi)部邏輯結(jié)�(gòu)、對所有邏輯路徑�(jìn)行測��"白盒"法是窮舉路徑測試。在使用這一方案�,測試者必須檢查程序的�(nèi)部結(jié)�(gòu),從檢查程序的邏輯著�,得出測試數(shù)�(jù)。貫穿程序的�(dú)立路徑數(shù)是天文數(shù)字。但即使每條路徑都測試了仍然可能有錯�。,窮舉路徑測試決不能查出程序違反了�(shè)�(jì)�(guī)�,即程序本身是個錯誤的程序。第�,窮舉路徑測試不可能查出程序中因遺漏路徑而出錯。第�,窮舉路徑測試可能發(fā)�(xiàn)不了一些與�(shù)�(jù)相關(guān)的錯��

工具選擇

  白盒測試目前主要用在具有高可靠性要求的軟件�(lǐng)域,例如:軍工軟�、航天航空軟�、工�(yè)控制軟件等等。白盒測試工具在選購時應(yīng)�(dāng)主要是對開發(fā)語言的支�、代碼覆蓋的深度、嵌入式軟件的測�、測試的可視化等�

  對開�(fā)語言的支持:白盒測試工具是對源代碼�(jìn)行的測試,測試的主要�(nèi)容包括詞法分析與語法分析、靜�(tài)錯誤分析、動�(tài)檢測等。但是對于不同的開發(fā)語言,測試工具實(shí)�(xiàn)的方式和�(nèi)容差別是較大�。目前測試工具主要支持的開發(fā)語言包括:標(biāo)�(zhǔn)C、C++、Visual C++、Java、Visual J�+��

  代碼的覆蓋深度:從覆蓋源程序語句的詳盡程度分析,邏輯覆蓋�(biāo)�(zhǔn)包括以下不同的覆蓋標(biāo)�(zhǔn):語句覆�、判定覆�、條件覆�、條件判定組合覆�、多條件覆蓋和修正判定條件覆��

  ·語句覆蓋 為了暴露程序中的錯誤,程序中的每條語句至少應(yīng)該執(zhí)行一�。因此語句覆蓋(Statement Coverage)的含義是:選擇足夠多的測試�(shù)�(jù),使被測程序中每條語句至少執(zhí)行一�。語句覆蓋是很弱的邏輯覆蓋�

  ·判定覆蓋 比語句覆蓋稍�(qiáng)的覆蓋標(biāo)�(zhǔn)是判定覆蓋(Decision Coverage�。判定覆蓋的含義是:�(shè)�(jì)足夠的測試用�,使得程序中的每個判定至少都獲得一次“真值”或“假值�,或者說使得程序中的每一個取“真”分支和取“假”分支至少經(jīng)歷一�,因此判定覆蓋又稱為分支覆蓋�

  ·條件覆蓋 在設(shè)�(jì)程序�,一個判定語句是由多個條件組合而成的復(fù)合判定。為了更徹底地實(shí)�(xiàn)邏輯覆蓋,可以采用條件覆蓋(Condition Coverage)的�(biāo)�(zhǔn)。條件覆蓋的含義是:�(gòu)造一組測試用�,使得每一判定語句中每個邏輯條件的可能值至少滿足一��

  ·多條件覆� 多條件覆蓋也稱條件組合覆�,它的含義是:設(shè)�(jì)足夠的測試用�,使得每個判定中條件的各種可能組合都至少出現(xiàn)一�。顯然滿足多條件覆蓋的測試用例是一定滿足判定覆蓋、條件覆蓋和條件判定組合覆蓋��

  ·修正條件判定覆蓋 修正條件判定覆蓋是由歐美的航�/航天制造廠商和使用單位�(lián)合制定的“航空運(yùn)輸和裝備系統(tǒng)軟件�(rèn)證標(biāo)�(zhǔn)”,目前在國外的國防、航空航天領(lǐng)域應(yīng)用廣�。這個覆蓋度量需要足夠的測試用例來確定各個條件能夠影響到包含的判定的�(jié)�。它要求滿足兩個條件:首先,每一個程序模塊的入口和出口點(diǎn)都要考慮至少要被�(diào)用一�,每個程序的判定到所有可能的�(jié)果值要至少�(zhuǎn)換一次;其次,程序的判定被分解為通過邏輯操作符(and、or)連接的布爾條�,每個條件對于判定的�(jié)果值是�(dú)立的�

  不同的測試工具對于代碼的覆蓋能力也是不同�,通常能夠支持修正條件判定覆蓋的測試工具價格是極其昂貴的�

  嵌入式軟件的測試:對于嵌入式軟件的測�,我們還需要一方面�(jìn)一步考慮測試工具對于嵌入式操作系�(tǒng)的支持能力,例如DOS、Vxworks、Neculeus、Linux和Windows CE等;另一方面還需要考慮測試工具對于硬件平臺的支持能�,包括是否支持所�64/32/16位CPU � MCU,是否可以支� PCI/VME/CPCI 總線�

  測試的可視化:白盒測試是工作量巨大并且枯燥的工作,可視化的設(shè)�(jì)對于測試來說是十分重要的。在選購白盒測試工具�,應(yīng)�(dāng)考慮該款測試工具的可視化是否良好,例如:測試過程中是否可以顯示覆蓋率的函�(shù)分布圖和上升趨勢�,是否使用不同的顏色區(qū)分已�(zhí)行和未執(zhí)行的代碼段顯示分配內(nèi)存情況實(shí)時圖表等,這些對于測試效率和測試質(zhì)量的提高是具有很大的作用��

目的

  1、保證程序中所有關(guān)鍵路徑的測試,防止由于沒有執(zhí)行的路徑在實(shí)際投入運(yùn)行后�(zhí)行到�(fā)生意外的情況

  2、衡量測試完整�

  3、程序內(nèi)部所有的邏輯值真、假兩個分支的覆蓋

  4、檢查內(nèi)存泄�

  5、異常處理的分枝語句的執(zhí)�

  6、解決實(shí)�(yàn)條件下很難搭建真�(shí)�(huán)境的問題

  7、檢查代碼符合一定的編碼�(guī)�,減少由于編碼不�(guī)范而引入錯�

�(yōu)缺點(diǎn)

  �(yōu)�(diǎn)

  迫使測試人員去仔�(xì)思考軟件的�(shí)�(xiàn)

  可以檢測代碼中的每條分支和路�

  揭示隱藏在代碼中的錯�

  對代碼的測試比較徹底

  缺點(diǎn)

  昂貴

  無法檢測代碼中遺漏的路徑和數(shù)�(jù)敏感性錯�

  不驗(yàn)證規(guī)格的正確�

與黑盒測試的區(qū)別與�(lián)�

  �(lián)系:白盒測試和黑盒測試都是軟件測試的一個方�;兩者有 時結(jié)合起來同時�(jìn)行測�,稱為“灰盒測試�

  區(qū)別:

  白盒,需要源代碼;無法檢測程序外部特�� 無法測試 遺漏需�� �(guān)心程序內(nèi)部結(jié)�(gòu)� 邏輯以及代碼的可維護(hù)性; 編碼� 集成測試階段�(jìn)��

  黑盒,不需要源代碼,需要可�(zhí)行文��

  從用戶角度出�(fā) �(jìn)行測試;�(guān)心程序的外在功能和非功能表現(xiàn);確�(rèn)測試� 系統(tǒng) 測試階段�(jìn)��

      更多精彩�(nèi)容,請登錄維庫電子通(www.06jpkg.cn�

維庫電子�,電子知識,一查百��

已收錄詞�162542