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