白盒測試也稱為結構測試,主要用于檢測軟件編碼過程中的錯誤。程序員的編程經(jīng)驗、對編程軟件的掌握程度、工作狀態(tài)等因素都會影響到編程質(zhì)量,導致代碼錯誤。黑盒測試又稱為功能測試,主要檢測軟件的每一個功能是否能夠正常使用。在測試過程中,將程序看成不能打開的黑盒子,不考慮程序內(nèi)部結構和特性的基礎上通過程序接口進行測試,檢查程序功能是否按照設計需求以及說明書的規(guī)定能夠正常打開使用。黑盒測試又名為功能測試,主要目的是發(fā)現(xiàn)軟件設計的需求或者是軟件設計規(guī)格說明書中的錯誤缺陷。軟件的開發(fā)具有特定性,一般都是為了某種具體特定功能開發(fā)的,軟件功能的描述依賴于在軟件需求階段的需求規(guī)格說明書的分析,軟件在設計過程中被分成了一個或者是多個功能,保證這些功能能夠正常運行的就是軟件測試,從而進一步滿足用戶的需求與需要。黑盒測試與白盒測試相反,軟件設計程序被看做一個打不開的盒子,盒子里的程序代碼測試人員不能看到,只能看到軟件或者是某些模塊的簡單功能描述,這種測試方法主要是驗證軟件或者是功能的實現(xiàn)度。
黑盒白盒測試方法是什么?
(一)等價類劃分法:等價類劃分法是一種典型的、重要的黑盒測試方法,它將程序所有可能的輸入數(shù)據(jù)劃分為若干個等價類。然后從每個部分中選取具有代表性的數(shù)據(jù)當做測試用例。測試用例由有效等價類和無效等價類的代表數(shù)據(jù)組成,從而保證測試用例具有完整性和代表性。使用該方法設計測試用例主要有兩個步驟:(1)確定等價類;(2)生成測試用例。
(二)邊界值分析法:邊界值分析法是對程序輸入或輸出的邊界值進行測試的一種黑盒測試方法。實際的測試工作證明,考慮了邊界條件的測試用例比那些沒有考慮邊界條件的測試用例具有更高的測試回報率。這里所說的邊界條件,是指輸入和輸入等價類中那些恰好處于邊界、或超過邊界、或在邊界以下的狀態(tài)。
(三)因果圖法:因果圖法也是較常用的一種黑盒測試方法,是一種簡化了的邏輯圖。因果圖能直觀地表明輸入條件和輸出動作之間的因果關系,能幫助測試人員把注意力集中到與程序功能有關的輸入組合上。因果圖法是一種適合于描述對于多種輸入條件組合的測試方法,根據(jù)輸入條件的組合、約束關系和輸出條件的因果關系,分析輸入條件的各種組合情況,從而設計測試用例的方法,它適合于檢查程序輸入條件的各種組合情況
(四)錯誤推測法:錯誤推測法是基于以往的經(jīng)驗和直覺,參照以往的軟件系統(tǒng)出現(xiàn)的錯誤,推測當前被測程序中可能存在的缺陷和錯誤,有針對性地設計測試用例。用錯誤推測法設計測試用例的基本思想是:列舉出程序中可能犯出現(xiàn)的錯誤或容易發(fā)生錯誤的特殊情況的清單,然后根據(jù)清單和已經(jīng)設計好的測試用例來編寫特定的測試用例。例如,程序中出現(xiàn)的輸入數(shù)據(jù)為“0”或者字符為空就是一種錯誤易發(fā)情況;在出現(xiàn)輸入或輸出的數(shù)量不定的地方,數(shù)量為“沒有”和“一個”也是錯誤易發(fā)情況。特別需要注意的是,在閱讀規(guī)格說明時聯(lián)系程序員可能做的假設來確定測試用例,測試人員要站在用戶的角度來考慮輸入信息,而不必去管這些信息對于被測程序是合理還是不合理的輸入。