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