*建立起一個全局目標(biāo)后,再開始測試
探索式測試的幾個目標(biāo):
1、理解應(yīng)用程序如何工作、它的接口看起來怎樣、它實現(xiàn)了哪些功能
2、強迫軟件展示全部能力:
*目的是讓軟件努力運行,證明軟件確實實現(xiàn)了設(shè)計時所要求達(dá)到的功能
3、找到缺陷,并有目的的使缺陷數(shù)量降為零
把軟件特性劃分成幾個相互重疊的“區(qū)域”,具體區(qū)域和測試方法如下:
商業(yè)區(qū):
*含義:用戶所要使用的軟件特性和功能,你的軟件包裝盒上描述的特性和掩飾的特性及代碼
測試方法:
1、指南測試法:根據(jù)用戶說明書來測試
2、賣點測試法:觀摩哪些銷售演示,測試演示過程,并且可以加上質(zhì)疑測試法
3、地標(biāo)測試法:提前確定關(guān)鍵的軟件特性,確定他們的前后順序
4、極限測試法:向軟件提出最困難的問題
5、快遞測試法:關(guān)注于數(shù)據(jù),找到每個和數(shù)據(jù)有接觸的軟件特性
6、遍歷測試法:通過選定一個目標(biāo)(例如所有菜單項、所有錯誤消息或所有對話框),然后使用可以發(fā)現(xiàn)的最短路徑來訪問目標(biāo)包含的所有對象
歷史區(qū):
*含義:從前版本遺留下的代碼,還有那些曾經(jīng)出現(xiàn)較多缺陷的特性和功能
測試方法:
1、惡鄰測試法:反復(fù)測試缺陷特別多的地方
2、博物館測試法:關(guān)注被接受重新修改的老代碼,或者是沒被改動就放到新環(huán)境中運行的老代碼
3、上一版測試法:回歸測試,關(guān)注新版本中無法再運行的測試用例
娛樂區(qū):
*含義:軟件的輔助特性,而不是主線特性
測試方法:
1、配角測試法:關(guān)注和主要的特性非常鄰近的特性,例如和主要的特性一同出現(xiàn)在顯示器上,容易被用戶注意
2、深巷測試法:軟件中最不可能被用到的或者最不吸引用戶的特性,有助于提高代碼覆蓋率
*注:多個特性混合在一起測試時,比如重要的和不重要的混在一起時,可以考慮:
**有關(guān)輸入的問題:這兩個特性會不會處理同一輸入
**有關(guān)輸出的問題:這兩個特性功能是否在可見的用戶界面上操作同一塊區(qū)域?他們會產(chǎn)生同一個輸出嗎?
**有關(guān)數(shù)據(jù)的問題:這兩個特性會操作其共享的一些內(nèi)部數(shù)據(jù)?是讀取共享數(shù)據(jù)、還是修改共享數(shù)據(jù)
3、通宵測試法:性能測試和壓力測試,永遠(yuǎn)不關(guān)閉程序,連續(xù)不斷的使用某些特性來測試軟件
旅游區(qū):
*含義:只對新用戶有吸引力的特性和功能,它關(guān)心的是快速訪問軟件的各種功能,而不是關(guān)心軟件是否工作
測試方法:
1、收藏家測試法:收集軟件的輸出,收集的越多越好
*背后的思想是測試人員到達(dá)所有那些可到達(dá)的地方并把觀察到的輸出結(jié)果記錄下來
2、長路徑測試法:測試離應(yīng)用程序開始點盡可能遠(yuǎn)的特性,例如:哪個特性需要點擊N次才能被用到,選定該特性,一路點擊過去,然后測試它
*指導(dǎo)思想:到達(dá)目的地前盡量多的在應(yīng)用程序中穿行,因而要選取埋在應(yīng)用程序最深處的特性
*可以結(jié)合收藏家測試法
3、超模測試法:只關(guān)心表面的東西
4、測一送一測試法:測試時運行一個應(yīng)用程序,然后運行該應(yīng)用程序的另外一個拷貝,然后再運行一個拷貝時,關(guān)注網(wǎng)絡(luò)傳輸數(shù)據(jù)、文件操作等方面
旅館區(qū):
*含義:指一些經(jīng)常被忽視的或者在測試計劃中較少描述的次要的及輔助功能
測試方法:
1、取消測試法:
*啟動操作然后停止它,并花些時間在應(yīng)用程序里四處檢查
*找應(yīng)用程序中最耗時的操作來充分實施這種方法
*可以嘗試開始一個操作,不要停止它,然后再開始另一個同時的操作
*在取消被測對象之前應(yīng)該改變被測對象的狀態(tài),這點也很重要
2、懶漢測試法:做盡量少的實際工作,
*可以嘗試接受所有的默認(rèn)值,測試程序?qū)δJ(rèn)值的處理情況
破舊區(qū):
*含義:指一些經(jīng)常被忽視的或者在測試計劃中較少描述的次要的及輔助功能
測試方法:
1、注意輸入的限制,哪些是非法輸入;注意不按照指定的順序做事情
2、重復(fù)執(zhí)行同樣的操作,重復(fù)輸入同樣的數(shù)據(jù)
總結(jié):
跟蹤哪種測試法發(fā)現(xiàn)的缺陷最多,哪種執(zhí)行時間最少,哪種的代碼、界面、功能覆蓋最多等