軟件測試的真正價值并不體現(xiàn)在從代碼中找出了多少缺陷嗽元,
而是發(fā)現(xiàn)設計和編程人員解決問題方法上的局限,
思路中的狹隘和技能方面的不足喂击。
手工測試經(jīng)典指南? -- <探索式軟件測試>筆記
兩種缺陷:
- 程序員引入的缺陷
- 環(huán)境導致的缺陷
測試無涯:按優(yōu)先級去做
軟件都會執(zhí)行4個基本任務:
- 接收輸入
- 產(chǎn)生輸出
- 存儲數(shù)據(jù)
- 運行運算
合法和非法輸入:
- 輸入篩查器
- 輸入檢查
- 異常處理代碼
常規(guī)和非常規(guī)輸入
默認和用戶輸入
輸入剂癌,數(shù)據(jù),狀態(tài)翰绊,代碼路徑佩谷,環(huán)境設置
全局探索式測試:
商業(yè)區(qū):用戶使用的軟件特性和功能
- 指南測試法:按用戶手冊進行測試
- 賣點測試法:最吸引用戶的功能。變種 - 質(zhì)疑測試法:執(zhí)行賣點測試時监嗜,客戶提出苛刻的問題谐檀,打斷演示。從銷售人員的演示中找賣點裁奇。
- 地標測試法:關鍵的軟件特效就是地標桐猬。找到地標后,確定順序刽肠,然后從一個地標執(zhí)行到另一個地標溃肪,直到訪問了所有地標。
- 極限測試法:向軟件提出很多難以回答的問題音五。如:如何使軟件發(fā)揮到最大程度惫撰?哪個特性會使軟件運行到其設計極限?哪些輸入和數(shù)據(jù)會耗費軟件最多的運算能力躺涝?變種 - 找麻煩測試法:故意設置障礙看軟件如何應對厨钻。
- 快遞測試法:跟蹤數(shù)據(jù)。如:在購物網(wǎng)站輸入地址后,該地址會被用于哪些場景夯膀。
- 深夜測試法:測試維護任務诗充。
- 遍歷測試法:類似于超模測試法,選定一個目標诱建,快速檢查目標包含的所有對象其障,只檢查那些明顯的東西。
歷史區(qū):測試老的功能涂佃,缺陷修復代碼
- 惡鄰測試法:測試缺陷多的地方。
- 博物館測試法:測試遺留代碼
- 上一版測試法:仔細檢查在新版本中無法運行的測試用例
旅游區(qū):快速訪問軟件的各種功能蜈敢,到此一游
- 收藏家測試法:收集軟件的輸出辜荠,到達那些可到達的地方并把觀察到的輸出記錄下來。
- 長路徑測試法:訪問離程序開始點盡可能遠的特性抓狭。
- 超模測試法:關心表面的東西伯病,只測界面。
- 測一送一測試法:測試同時運行同一應用程序多個拷貝的情況否过。
- 蘇格蘭酒吧測試法:不容易找到的功能
娛樂區(qū):輔助特性和功能
- 配角測試法:跟主要功能出現(xiàn)在同一頁面的非常用功能
- 深巷測試法:測試最不常用的特性午笛。變種 - 混合測試法:把最流行和最不流行的特性放在一起混著測。(是否該將兩個特性放在一起測試苗桂?見以下圖片)
- 通宵測試法:永遠不要關閉應用程序
旅館區(qū):次要及輔助功能
- 取消測試法:啟動操作然后停止它
- 懶漢測試法:做盡量少的實際工作药磺,如:測默認值
破舊區(qū):輸入惡意數(shù)據(jù)以破壞軟件,讓環(huán)境惡劣
- 破壞測試法:移除軟件必須的資源煤伟,讓程序在內(nèi)存較低的機器上運行癌佩,斷網(wǎng)
- 反叛測試法:輸入最不可能的數(shù)據(jù),或已知的惡意輸入便锨。
- 強迫癥測試法:重復同樣的操作
- 混票測試法:基于場景围辙。從一個場景跳到另一個,從而把兩個或更多場景結合為一個具有混合目的的場景放案。找出那些使用通用數(shù)據(jù)姚建,側(cè)重于通用功能,或具有通用步驟的場景吱殉。
- 出租車測試法:執(zhí)行不同的測試路徑掸冤,操作同一個特性。
- 出租車禁區(qū)測試法:不論哪條路徑考婴,都無法操作同一特性贩虾。
- 多元文化測試法:本地化測試。
- 停車場測試法:地標測試法+超模測試法
是否該將兩個特性放在一起測試:
手工測試 VS. 自動化測試:好的自動化測試源于手工測試
James Whittaker博客節(jié)選: