24、你認(rèn)為做好測試用例設(shè)計工作的關(guān)鍵是什么
白盒測試用例設(shè)計的關(guān)鍵是以較少的用例覆蓋盡可能多的內(nèi)部程序邏輯結(jié)構(gòu)。
黑盒測試用例設(shè)計的關(guān)鍵同樣也是以較少的用例覆蓋模塊輸出和輸入接口。
不可能做到完全測試,以最少的用例在合理的時間內(nèi)發(fā)現(xiàn)最多的問題。
軟件的黑盒測試意味著測試要在軟件的接口處進行,這種方法是把測試對象看作是一個黑盒子,測試人員完全不考慮程序內(nèi)部的邏輯結(jié)構(gòu)和內(nèi)部特性,只依據(jù)程序的需求規(guī)格說明書,檢查程序的功能是否符合它的功能說明。因此黑盒測試又叫功能測試或者數(shù)據(jù)驅(qū)動測試。黑盒測試主要是為了發(fā)現(xiàn)以下幾類錯誤:
- 是否有不正確或遺漏的功能
- 在接口上,輸入是否能正確的接受,能否輸出正確的結(jié)果
- 是否有數(shù)據(jù)結(jié)構(gòu)錯誤或外部信息(例如數(shù)據(jù)文件)訪問錯誤
- 性能上是否能夠滿足要求
- 是否有初始化或終止性錯誤
軟件的白盒測試是對軟件的過程性細節(jié)做細致的檢查。這種方法是把測試對象看作一個打開的盒子,它允許測試人員利用程序內(nèi)部的邏輯結(jié)構(gòu)和有關(guān)信息,設(shè)計或者選擇測試用例,對程序所有邏輯路徑進行測試。通過在不同點檢査程序狀態(tài),確定實際狀態(tài)是否與預(yù)期的狀態(tài)一直。因此白盒測試又稱為結(jié)合測試或邏輯驅(qū)動測試。白盒測試主要是想對程序模塊進行如下檢査:
- 對程序模塊的所有獨立的執(zhí)行路徑至少測試一遍。
- 對所有的邏輯判定,取真”與取假的兩種情況都能至少測一逼。
- 在循環(huán)的邊界和運行的界限內(nèi)執(zhí)行循環(huán)體4測試內(nèi)部數(shù)據(jù)結(jié)構(gòu)的有效性,等等。
25、請詳細介紹一下各種測試類型的含義
- 單元測試(模塊測試)是開發(fā)者編寫的一小段代碼,用于檢驗被測試代碼的個很小的、很明確的功能是否正確。通常而言,一個單元測試是用于判斷某個特定條件(或者場景)下某個特定函數(shù)的行為。單元測試是由程序員自己來完成,最終受益的也是程序員自己??梢赃@么說,程序員有責(zé)任編寫功能代碼,同時也就有責(zé)任為自己的代碼編寫單元測試。執(zhí)行單元測試,就是為了證明這段代碼的行為和我們期望的
- 集成測試(也叫組裝測試、聯(lián)合測試)是單元測試的邏輯擴展。它最簡單的形式是:兩個已經(jīng)經(jīng)過測試的單元組合成一個組件,并且測試它們之間的接口。從這一層上講,組件是指多個單元的集成聚合。在現(xiàn)實方案中,許多單元組合成組件,而這些組件又聚合成程序的更大部分。方法是測試片段的組合,并最終擴展進程,將您的模塊與其他組的模塊一起測試。最后,將構(gòu)成進程的所有模塊一起測試。
- 系統(tǒng)測試是將經(jīng)過測試的子系統(tǒng)裝配成—個完整系統(tǒng)來測試。它是檢驗系統(tǒng)是否確實能提供系統(tǒng)方案說明書中制定功能的有效方法。(常見的聯(lián)調(diào)測試)。系統(tǒng)測試的目的是對最終軟件系統(tǒng)進行全面的測試,確保最終軟件系統(tǒng)滿足產(chǎn)品需求而遵循系統(tǒng)設(shè)計。
- 驗收測試是部署軟件之前的最后一個測試操作。驗收測試的目的是確保軟件準(zhǔn)備就緒,并且可以讓用戶將其執(zhí)行軟件的既定功能和任務(wù)。驗收測試是向未來的用戶表明系統(tǒng)能夠像預(yù)訂要求那樣工作。經(jīng)集成測試后,已經(jīng)按照設(shè)計把所有的模塊組裝成一個完整的軟件系統(tǒng),接口錯誤也已經(jīng)基本排除了,接著就應(yīng)該進一步驗證軟件的有效性,這就是驗收測試的任務(wù),即軟件的功能和性能如同用戶所合理期待的那樣。