探索性測試-01
一、探索式測試的目標
- 理解應用程序如何工作,接口看起來怎樣,實現了哪些功能;
- 強迫軟件展示其全部能力;(壓力測試、負載測試)
- 找到缺陷。
二、漫游測試
- 商業區:位于軟件的啟動及關閉代碼之間,包含用戶所要使用的軟件特性和功能。
- 歷史區:從前版本遺留下的代碼,還有曾經出現較多缺陷的特性和功能。
- 旅游區:對新用戶有吸引力的功能,老用戶不再使用。
- 娛樂區:輔助特性和功能。
- 旅館區:軟件休息時后臺運行的功能。
- 破舊區:不常用或不使用的功能,可能存在缺陷。
三、針對漫游測試比喻中不同區域的測試方法
1. 商業區:實現主要業務的功能和特性,是用戶購買軟件的原因。
- 指南測試法:探索式測試使用的是用戶說明書,可以是打印版或在線幫助,建議遵循用戶手冊,要求測試人員通過閱讀手冊并嚴格按鈕手冊的建議執行操作。
- 博客測試法:遵循第三方的建議來測試。
- 專家測試法:遵循軟件使用者的抱怨評論來創建用例。
- 競爭對手測試法:使用競爭對手的手冊來測試自己的應用程序,非常適合對手是市場領先者,自己產品緊隨其后或希望超越的情況。轉移到我們產品的用戶習慣于按照從前軟件的方式來使用。
- 賣點測試法:找到最能賣錢的特性,銷售人員是賣點測試法提供信息的絕佳來源。測試人員可觀摩銷售演示,拜訪客戶,在原型演示時發現缺陷。
- 質疑測試法:進行賣點測試時,模擬愛問問題的用戶,不斷提條件和問題,對于創建最終用戶非常在意的測試用例時有效。
- 地標測試法:選擇地標,確定先后順序,從一個地標執行到另一個地標來探索應用程序,直到訪問了列表中的所有地標。創建地標覆蓋圖。
- 極限測試法:向軟件提供極限條件或難以回答的問題,運行至設計極限?哪些輸入和數據耗資源?欺騙校驗程序?
- 找麻煩測試法:只要軟件允許的操作,產生了缺陷,都應該處理。測試時應盡力創建用戶的復雜文檔、訂單或數據,能發現真正影響用戶使用的缺陷。
- 快遞測試法:數據在軟件中不斷流動,被輸入后開始了生命周期,先被存儲在內部變量和數據結構中,然后被頻繁操作、修改和使用,最后作為輸出反饋給用戶或目的程序。測試人員專注于數據,跟隨數據流轉走訪軟件。
- 深夜測試法:應用程序自動運行,或清晨測試法。
- 遍歷測試法:有計劃的進行抽查,不追求細節以免影響速度,只檢查明顯的功能。選定一個目標,使用可以發現的最短路徑來訪問目標包含的所有對象。
2. 歷史區:遺留代碼,或老版本存在的特性,或用于修復已知缺陷的代碼。
- 惡鄰測試法:缺陷橫行的代碼段,缺陷扎堆出現,值得反復測試,應該遍歷一下,驗證修復缺陷是否引入新的缺陷。
- 缺陷集中的原因:開發人員按功能特性劃分任務,某個特性中的缺陷比例和開發人員的能力相關。較復雜的地方缺陷較多,不容易編碼實現的特性問題多,如果某個特性含有很多缺陷,很可能會發現更多缺陷。
- 博物館測試法:遺留代碼,隨便翻翻代碼庫、二進制文件或程序集,查看創建時間,找到近期改過的老代碼,如果改動過,或直接放到新環境運行,很容易失效。
- 上一版測試法:如果當前版本的構造是對舊版的更新,必須運行先前版本上的所有場景和用例,驗證用戶熟悉的功能在新版上依然可行。應仔細檢查新版本中無法運行的用例。
3. 娛樂區:比較休閑的功能特性,如正式工作任務是創建文本文件,娛樂任務是美化文本。
- 配角測試法:不是用戶使用的主要特性,但與主要特性一同出現,越臨近主要特性越容易引起注意。
- 深巷測試法:最不可能被用到的或最不吸引用戶的特性(必要性:如果產品包含該功能,則對某些用戶在某些情況下是重要的)。測試使用概率最低的特性。
- 混合測試法:把最常用的和最不常用的混著測。
- 特性之間的相互作用:兩個特性處理同一個輸入,在用戶界面上操作同一區域,操作共享的內部數據是讀取共享數據還是修改共享數據?
- 通宵測試法:應用程序能多長時間持續運行處理數據不崩潰?不要關閉程序的持續運行,甚至不要存儲,連接遠程資源但從不斷開,訪問的同時其他程序訪問或移動數據等。
- 對于移動設備來說,不關機是很正常的,這種測試尤為重要。
4. 旅游區:吸引新用戶的特性,簡短、目標明確的用例,關心快速訪問軟件的各種功能。
- 收藏家測試法:觀察并收集軟件的任何一個輸出,整合文檔。特性有變化需要重新收集。
- 長路徑測試法:訪問里應用程序開始點盡可能遠的特性,指導思想是到達目的地之前盡量多的在應用程序中穿行,把埋在應用程序最深處的界面作為測試目標。
- 超模測試法:關心表面的東西,測試界面,UI是否良好,變化界面時率先呢情況如何?顏色表達如何?按鈕與控件是否合理?界面是否違反了慣例或標準?
- 測一送一:只測試同時運行同一程序多個拷貝的情況。
- 酒吧測試法:不容易找到的特性,適用于大規模的復雜應用,如Office。
5. 旅館區:可能后臺運行的特性,或經常忽視的次要及輔助功能。
- 取消測試法:啟動操作然后停止它,不要等加載完成再取消,針對耗時操作,如查詢能力,進行測試。另外,使用鍵盤的取消快捷鍵也行。測試程序的自我清楚能力,確信被取消的操作可以再次執行并成功結束。
- 懶漢測試法:測試人員做盡量少的工作,接受所有默認值,保持輸入字段為空,不點擊任何按鈕等。測試軟件處理默認值和空白的能力。
6. 破舊區:不常用或不適用的特性,輸入惡意數據,破壞軟件。
- 破壞者:強迫軟件做一些操作,掌握軟件成功完成操作必須使用的資源,在不同程度上移除或限制使用哪些資源。
- 刪除文件、改變權限、斷開網線、后臺運行其他程序耗資源、部署在問題環境上……(故障注入)。
- 反叛測試法:輸入最不可能的數據,惡意輸入。
- 逆向測試法:每次都輸入最不可能的數據,選擇和上下文無關的輸入值,測試忍耐力。
- 歹徒測試法:如何處理非法輸入,非法輸入應該產生錯誤消息,無消息則有缺陷。
- 錯序測試法:按照錯誤的順序執行程序,選擇一組合法行為你,打亂順序。
- 強迫癥測試法:重復輸入相同數據,反復操作,比如按鈕的多次點擊等,開發人員通常認為用戶會按照特定順序做事,有目的的使用軟件,而用戶只會按照自己的理解來使用軟件。
浙公網安備 33010602011771號