測試設(shè)計中需要考慮的22種測試類型
黑盒測試:不基于內(nèi)部設(shè)計和代碼的任何知識,而是基于需求和功能性。
白盒測試:基于一個應(yīng)用代碼的內(nèi)部邏輯知識,測試是基于覆蓋全部代碼、分支、路徑、條件。
單元測試:最微小規(guī)模的測試;以測試某個功能或代碼塊。典型地由程序員而非測試員來做,因為它需要知道內(nèi)部程序設(shè)計和編碼的細(xì)節(jié)知識。這個工作不容易作好,除非應(yīng)用系統(tǒng)有一個設(shè)計很好的體系結(jié)構(gòu); 還可能需要開發(fā)測試驅(qū)動器模塊或測試套具。
累積綜合測試:當(dāng)一個新功能增加后,對應(yīng)用系統(tǒng)所做的連續(xù)測試。它要求應(yīng)用系統(tǒng)的不同形態(tài)的功能能夠足夠獨立以可以在全部系統(tǒng)完成前能分別工作,或當(dāng)需要時那些測試驅(qū)動器已被開發(fā)出來; 這種測試可由程序員或測試員來做。
集成測試:一個應(yīng)用系統(tǒng)的各個部件的聯(lián)合測試,以決定他們能否在一起共同工作。部件可以是代碼塊、獨立的應(yīng)用、網(wǎng)絡(luò)上的客戶端或服務(wù)器端程序。這種類型的測試尤其與客戶服務(wù)器和分布式系統(tǒng)有關(guān)。
功能測試:用于測試應(yīng)用系統(tǒng)的功能需求的黑盒測試方法。這類測試應(yīng)由測試員做,這并不意味著程序員在發(fā)布前不必檢查他們的代碼能否工作(自然他能用于測試的各個階段)。
系統(tǒng)測試:基于系統(tǒng)整體需求說明書的黑盒類測試;應(yīng)覆蓋系統(tǒng)所有聯(lián)合的部件。
端到端測試:類似于系統(tǒng)測試;測試級的“宏大”的端點;涉及整個應(yīng)用系統(tǒng)環(huán)境在一個現(xiàn)實世界使用時的模擬情形的所有測試。例如與數(shù)據(jù)庫對話,用網(wǎng)絡(luò)通訊,或與外部硬件、應(yīng)用系統(tǒng)或適當(dāng)?shù)南到y(tǒng)對話。
健全測試:典型地是指一個初始化的測試工作,以決定一個新的軟件版本測試是否足以執(zhí)行下一步大的測試努力。例如,如果一個新版軟件每5分鐘與系統(tǒng)沖突,使系統(tǒng)陷于泥潭,說明該軟件不夠“健全”,目前不具備進一步測試的條件。
衰竭測試:軟件或環(huán)境的修復(fù)或更正后的“再測試”。可能很難確定需要多少遍再次測試。尤其在接近開發(fā)周期結(jié)束時。自動測試工具對這類測試尤其有用。
接受測試:基于客戶或最終用戶的規(guī)格書的最終測試,或基于用戶一段時間的使用后,看軟件是否滿足客戶要求。
負(fù)載測試:測試一個應(yīng)用在重負(fù)荷下的表現(xiàn),例如測試一個 Web 站點在大量的負(fù)荷下,何時系統(tǒng)的響應(yīng)會退化或失敗。
強迫測試:在交替進行負(fù)荷和性能測試時常用的術(shù)語。也用于描述象在異乎尋常的重載下的系統(tǒng)功能測試之類的測試,如某個動作或輸入大量的重復(fù),大量數(shù)據(jù)的輸入,對一個數(shù)據(jù)庫系統(tǒng)大量的復(fù)雜查詢等。
性能測試:在交替進行負(fù)荷和強迫測試時常用的術(shù)語。理想的“性能測試”(和其他類型的測試)應(yīng)在需求文檔或質(zhì)量保證、測試計劃中定義。
可用性測試:對“用戶友好性”的測試。顯然這是主觀的,且將取決于目標(biāo)最終用戶或客戶。用戶面談、調(diào)查、用戶對話的錄象和其他一些技術(shù)都可使用。程序員和測試員通常都不宜作可用性測試員。
安裝/卸載測試:對軟件的全部、部分或升級安裝/卸載處理過程的測試。
恢復(fù)測試:測試一個系統(tǒng)從如下災(zāi)難中能否很好地恢復(fù),如遇到系統(tǒng)崩潰、硬件損壞或其他災(zāi)難性問題。
安全測試:測試系統(tǒng)在防止非授權(quán)的內(nèi)部或外部用戶的訪問或故意破壞等情況時怎么樣。這可能需要復(fù)雜的測試技術(shù)。
相關(guān)推薦:考試吧策劃:2010年軟件水平考試完全指南北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |