白盒測試用于測試軟件的,一款好的軟件,最為主要的就是測試了,接下來就隨小編了解下一般情況下,靜態(tài)測試、動態(tài)測試、白盒測試、黑盒測試之間有何關(guān)系,什么是軟件的白盒和黑盒測試法?,白盒測試在軟件測試中的應(yīng)用,軟件測試什么是黑盒測試白盒測試???
1.一般情況下,靜態(tài)測試、動態(tài)測試、白盒測試、黑盒測試之間有何關(guān)系
靜態(tài)測試、動態(tài)測試相對。根據(jù)動態(tài)測試在軟件開發(fā)過程中所處的階段和作用分為單元測試、集成測試、組裝測試、確認(rèn)測試和系統(tǒng)測試。單元測試就是白盒測試。系統(tǒng)測試是黑盒測試。靜態(tài)測試是指不運行被測程序本身,僅通過分析或檢查源程序的語法、結(jié)構(gòu)、過程、接口等來檢查程序的正確性。對需求規(guī)格說明書、軟件設(shè)計說明書、源程序做結(jié)構(gòu)分析、流程圖分析、符號執(zhí)行來找錯。靜態(tài)方法通過程序靜態(tài)特性的分析,找出欠缺和可疑之處。動態(tài)測試方法是指通過運行被測程序,檢查運行結(jié)果與預(yù)期結(jié)果的差異,并分析運行效率、正確性和健壯性等性能。這種方法由三部分組成:構(gòu)造測試用例、執(zhí)行程序、分析程序的輸出結(jié)果。白盒測試也稱為結(jié)構(gòu)測試,主要用于檢測軟件編碼過程中的錯誤。程序員的編程經(jīng)驗、對編程軟件的掌握程度、工作狀態(tài)等因素都會影響到編程質(zhì)量,導(dǎo)致代碼錯誤。黑盒測試又稱為功能測試,主要檢測軟件的每一個功能是否能夠正常使用。在測試過程中,將程序看成不能打開的黑盒子,不考慮程序內(nèi)部結(jié)構(gòu)和特性的基礎(chǔ)上通過程序接口進行測試,檢查程序功能是否按照設(shè)計需求以及說明書的規(guī)定能夠正常打開使用。擴展資料:靜態(tài)測試可以由人工進行,充分發(fā)揮人的邏輯思維優(yōu)勢,也可以借助軟件工具自動進行。代碼檢查包括代碼走查、桌面檢查、代碼審查等,主要檢查代碼和設(shè)計的一致性,代碼對標(biāo)準(zhǔn)的遵循、可讀性,代碼的邏輯表達的正確性,代碼結(jié)構(gòu)的合理性等方面??梢园l(fā)現(xiàn)違背程序編寫標(biāo)準(zhǔn)的問題,程序中不安全、不明確和模糊的部分,找出程序中不可移植部分、違背程序編程風(fēng)格的問題,包括變量檢查、命名和類型審查、程序邏輯審查、程序語法檢查和程序結(jié)構(gòu)檢查等內(nèi)容。
2.什么是軟件的白盒和黑盒測試法?
黑盒測試和白盒測試: 黑盒測試 黑盒測試也稱功能測試或數(shù)據(jù)驅(qū)動測試,它是在已知產(chǎn)品所應(yīng)具有的功能,通過測試來檢測每個功能是否都能正常使用,在測試時,把程序看作一個不能打開的黑盆子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下, 測試者在程序接口進行測試,它只檢查程序功能是否按照需求規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蛰斎霐?shù)鋸而產(chǎn)生正確的輸出信息,并且保持外部信息(如數(shù)據(jù)庫或文件)的完整性。黑盒測試方法主要有等價類劃分、邊值分析、因—果圖、錯誤推測等,主要用于軟件確認(rèn)測試。 “黑盒”法著眼于程序外部結(jié)構(gòu)、不考慮內(nèi)部邏輯結(jié)構(gòu)、針對軟件界面和軟件功能進行測試?!昂诤小狈ㄊ歉F舉輸入測試,只有把所有可能的輸入都作為測試情況使用,才能以這種方法查出程序中所有的錯誤。 白盒測試: 白盒測試也稱結(jié)構(gòu)測試或邏輯驅(qū)動測試,它是知道產(chǎn)品內(nèi)部工作過程,可通過測試來檢測產(chǎn)品內(nèi)部動作是否按照規(guī)格說明書的規(guī)定正常進行,按照程序內(nèi)部的結(jié)構(gòu)測試程序,檢驗程序中的每條通路是否都有能按預(yù)定要求正確工作,而不顧它的功能,白盒測試的主要方法有邏輯驅(qū)動、基路測試等,主要用于軟件驗證?!鞍缀小狈ㄈ媪私獬绦騼?nèi)部邏輯結(jié)構(gòu)、對所有邏輯路徑進行測試。“白盒”法是窮舉路徑測試。在使用這一方案時,測試者必須檢查辯敏程序的內(nèi)部結(jié)構(gòu),從檢查程序的邏輯著手,得出測試數(shù)據(jù)。 黑盒測試和白盒測試 任何工程產(chǎn)品(注意是任何工程產(chǎn)品)都可以使洞渣用以下兩種方法之一進行測試。黑盒測試:已知產(chǎn)品的功能設(shè)計規(guī)格,可以進行測試證明每個實現(xiàn)了的功能是否符合要求。白盒測試:已知產(chǎn)品的內(nèi)部工作過程,可以通過測試證明每種內(nèi)部操作是否符合設(shè)計規(guī)格要求,所有內(nèi)部成分是否以經(jīng)過檢查。 軟件的黑盒測試意味著測試要在軟件的接口處進行。這種方法是把測試對象看做一個黑盒子,測試人員完納灶悄全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或數(shù)據(jù)驅(qū)動測試。黑盒測試主要是為了發(fā)現(xiàn)以下幾類錯誤:1、是否有不正確或遺漏的功能?2、在接口上,輸入是否能正確的接受?能否輸出正確的結(jié)果?3、是否有數(shù)據(jù)結(jié)構(gòu)錯誤或外部信息(例如數(shù)據(jù)文件)訪問錯誤?4、性能上是否能夠滿足要求?5、是否有初始化或終止性錯誤? 軟件的白盒測試是對軟件的過程性細(xì)節(jié)做細(xì)致的檢查。這種方法是把測試對象看做一個打開的盒子,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)及有關(guān)信息,設(shè)計或選擇測試用例,對程序所有邏輯路徑進行測試。通過在不同點檢查程序狀態(tài),確定實際狀態(tài)是否與預(yù)期的狀態(tài)一致。因此白盒測試又稱為結(jié)構(gòu)測試或邏輯驅(qū)動測試。白盒測試主要是想對程序模塊進行如下檢查:1、對程序模塊的所有獨立的執(zhí)行路徑至少測試一遍。2、對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍。3、在循環(huán)的邊界和運行的界限內(nèi)執(zhí)行循環(huán)體。4、測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等等。 以上事實說明,軟件測試有一個致命的缺陷,即測試的不完全、不徹底性。由于任何程序只能進行少量(相對于窮舉的巨大數(shù)量而言)的有限的測試,在未發(fā)現(xiàn)錯誤時,不能說明程序中沒有錯誤
3.白盒測試在軟件測試中的應(yīng)用
白盒測試 白盒測試定義 白盒測試(White-box Testing) 是結(jié)構(gòu)測試,是一種按程序內(nèi)部的邏輯結(jié)構(gòu)和編碼結(jié)構(gòu)設(shè)計測試數(shù)據(jù)的測試方法。測試者可以看到被測試的內(nèi)部結(jié)構(gòu),并根據(jù)其內(nèi)部結(jié)構(gòu)設(shè)計測試數(shù)據(jù),使程序中的每個語句、每個條件分支、每個控制路徑都在程序測試中受到檢驗。 白盒測試可以不考慮程序的需求規(guī)格說明,有時需要設(shè)計說明作為補充,但必須從程序源代碼出發(fā)設(shè)計測試數(shù)據(jù),分析結(jié)果。 白盒測試方法從考察程序的結(jié)構(gòu)和邏輯出發(fā)驗證所構(gòu)造的程序是否符合設(shè)計要求。它可以構(gòu)造使程序特定部分得到測試的數(shù)據(jù),而黑盒測試則不能做到這一點。 白盒測試規(guī)劃 根據(jù)程序的內(nèi)部結(jié)構(gòu),如語句的控制結(jié)構(gòu),模塊間的控制結(jié)構(gòu)以及內(nèi)部數(shù)據(jù)結(jié)構(gòu)等進行測試 白盒測試特點優(yōu)點:能夠?qū)Τ绦騼?nèi)部的特定部位進行覆蓋測試缺點:1、無法檢測程序的外部特性; 2、無法對未實現(xiàn)規(guī)格說明的程序內(nèi)部欠缺部分進行測試 白盒測試主要是對程序模塊進行如下檢查 1、對程序模塊的所有獨立的執(zhí)行路徑至少測試一遍。 2、對所有的邏輯判定,取“真”與取“假”的兩種情況都能至少測一遍。 3、在循環(huán)的邊界和運行的界限內(nèi)執(zhí)行循環(huán)體。 4、測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等等。 白盒測試內(nèi)容1、語句覆蓋:程序總每條語句至少被執(zhí)行一次。 2、分支覆蓋:程序中的每一個分支至少通過一次,即每一條分支語句的真值執(zhí)行一次,假值也執(zhí)行一次。 3、條件覆蓋:使判定中的每個條件獲得各種可能的結(jié)果。 4、條件組合覆蓋:使每個判定條件中條件的各種組合至少出現(xiàn)一次。 5、路徑覆蓋:使程序沿所有可能的路徑執(zhí)行。6、循環(huán)測試。7、模塊接口測試。 白盒測試技術(shù) 白盒測試主要技術(shù)為:控制流測試和數(shù)據(jù)流測試。 控制流測試依據(jù)作為程序結(jié)構(gòu)模型的控制流程圖產(chǎn)生測試用例。通過對不同控制結(jié)構(gòu)成分的測試逐步驗證程序的控制結(jié)構(gòu)。 順序結(jié)構(gòu)和分支結(jié)構(gòu)是構(gòu)成程序結(jié)構(gòu)的基本元素,通過這兩種結(jié)構(gòu)的組合,形成程序路徑。 驗證某種控制結(jié)構(gòu)是使這種控制結(jié)構(gòu)得到一次執(zhí)行,也稱覆蓋?;诟采w考察對程序結(jié)構(gòu)測試的完備性,稱為測試覆蓋準(zhǔn)則。 說明 無論黑盒測試還是白盒測試,都不可能對程序進行完整的徹底的測試。黑盒測試從考慮輸入數(shù)據(jù)出發(fā)驗證功能,除非進行窮舉,否則不可能進行完全測試。白盒測試從程序結(jié)構(gòu)出發(fā),由于程序結(jié)構(gòu)的復(fù)雜性,路徑數(shù)本身有時是不能確定的,所以要測試程序的全部結(jié)構(gòu)也是不現(xiàn)實的。
4.軟件測試什么是黑盒測試白盒測試?
軟件測試的兩個方面而已。 白盒測試:是通過程序的源代碼進行測試而不使用用戶界面。這種類型的測試需要從代碼句法發(fā)現(xiàn)內(nèi)部代碼在算法,溢出,路徑,條件等等中的缺點或者錯誤,進而加以修正。 黑盒測試:是通過使用整個軟件或某種軟件功能來嚴(yán)格地測試, 而并沒有通過檢查程序的源代碼或者很清楚地了解該軟件的源代碼程序具體是怎樣設(shè)計的。測試人員通過輸入他們的數(shù)據(jù)然后看輸出的結(jié)果從而了解軟件怎樣工作。在測試時,把程序看作一個不能打開的黑盆子,在完全不考慮程序內(nèi)部結(jié)構(gòu)和內(nèi)部特性的情況下,測試者在程序接口進行測試,它只檢查程序功能是否按照需求 規(guī)格說明書的規(guī)定正常使用,程序是否能適當(dāng)?shù)亟邮蘸驼_的輸出
通過上文中對一般情況下,靜態(tài)測試、動態(tài)測試、白盒測試、黑盒測試之間有何關(guān)系,什么是軟件的白盒和黑盒測試法?,白盒測試在軟件測試中的應(yīng)用,軟件測試什么是黑盒測試白盒測試???的了解,還需其他了解,請聯(lián)系客服。