每乙個好的缺陷背後,都可能藏著乙個更好的缺陷,在你確實了解缺陷的影響程度和破壞力之前永遠不要停止探索。探索性測試的目標
理解應用程式如何工作,他的介面看起來怎樣,實現了什麼功能
強迫軟體展示其全部能力
找到缺陷
探索性測試的方**
賣點測試法:此方法鼓勵測試人員**銷售部門給客戶演示的demo,理解從銷售的角度來看哪些功能對客戶來說是最大的賣點,他們未必就是核心功能,但值得測試人員把它們當核心功能來對待。同時,也許刁鑽的客戶會提出各種質疑,這些質疑和稀奇古怪的問題也可以納入測試人員的設計中。
指南測試法:城市的題圖通常都會標註一些熱門的旅遊景點,測試這些熱門的區域是非常重要的。不管在任何一次發布的過程中,核心功能是肯定要覆蓋到的。指南測試要求測試人員嚴格按照使用者手冊的建議執行操作,找出那些手冊描述不到位或者核心功能並不像宣傳的那樣好的地方。
地標測試法:在旅遊的時候,如果我們設計了要到訪的地方,通常會在地圖上插上旗子,這就是地標。但是沒有人規定我們應該按照何種順序去到訪這些地標。不同的測試人員可能會選擇不同的順序,有經驗的測試人員會基於對軟體產品架構和技術層面的理解,採取一些古怪的路徑但更可能發現缺陷。
極限測試法:向軟體提出難以回答的問題,比如最大可以發揮到什麼程度,承受多少使用者,承載多少資料。哪些特性或功能會把軟體逼到極限運作,哪些輸入和資料會消耗軟體最多的計算能力?哪些輸入可能繞過它的錯誤檢測?
快遞測試法:快遞運送的貨物,就好比軟體裡的資料,結果不同的地點轉接,拆包裝包最終到底目的地。所以快遞測試專注的是資料,跟隨它們走遍整個軟體。
深夜測試法:城市燈火闌珊會在午夜過後逐漸安靜下來,商場店鋪紛紛打烊。但是軟體不應該停止工作,軟體測試人員有時應該刻意的關注在冷門時間段軟體所做的附屬工作,比如資料備份歸檔、維護監控任務的執行等等。
深巷測試法:在每個城市,都有些地方並不吸引遊客意味著不吸引人群,但作為測試人員來說,反而是這種最不可能被用到或者最不吸引使用者的特性,容易潛藏著難以發現的bug。
博物館測試法:這是針對軟體的陳舊**和歷史缺陷進行的測試,歷史總是應該被銘記的。歷史遺留的**,當初開發它們的時候,可能缺乏文件,但這並不意味著它們應該被忽略,而那些曾經出現過的bug,更是值得我們反覆觀察它。
通宵測試法:繁華的都市總會有通宵熱鬧的地方,比如***ktv之類的,它們從不中斷。那麼應用程式是否也能堅持到最後呢?當它面臨持續不斷的呼叫、輸入、重讀重寫之類的操作,如果執行時間足夠長,就很可能會出問題,記憶體會需要**、資料需要清空,永遠不要關閉它,保持不間斷的執行。(更多的時候會採用自動化或者機械人思想)
長路徑測試法:把那個在應用程式埋藏最深的介面當做測試目標(離起始點最遠的那個介面),觀察經過的每乙個介面。
超模測試法:針對ui的表面測試,衡量軟體的展現能力,像t型台的超模那樣,不去關注她們幕後的辛酸痛苦勞累,跳出產品專家或測試的頭銜,以普通觀眾的角度,去關注那些能看到的介面展現,元素是否被正確繪製、是否難看、顏色風格是否一致、介面的切換變化是否表意清晰?
取消測試法:此方法的思想是啟動了立即停止,特別是一些執行流程比較耗時的功能如備份還原或者搜尋,在啟動之後,立即取消。發散一點還可以變成,啟動乙個耗時操作,不停止立即啟動另外乙個耗時操作,以此來檢測應用程式的自我清除能力。
懶漢測試法:選擇盡可能少的輸入,能不輸入盡量不輸入,能不修改盡量不修改,觀察應用程式是否能響應得出正確結果。
反叛測試法:你見過去酒吧不喝酒點果汁的麼?反叛思想要求輸入最不可能的資料,或者已知的而已輸入,測試人員可以採用逆向思維、明知一些資料違反規則,卻偏偏要採用這樣的資料,或者不按照正確的順序來輸入。
強迫症測試法:測試人員強迫軟體一邊又一邊接受同樣的資料,反覆執行同樣的操作,最重要的特點就是重複。此種思維方式,常常打破了開發人員設計**的思路,他們預想著你會按步驟操作,卻不曾考慮過你反覆的執行第一步應該如何處理。
情景劇測試法:將軟體帶入到現實生活中,想象一下使用者使用產品時可能會出現的情景。採用該方法時測試人員需要拋棄掉所有的設計文件,把自己當做乙個使用者,思考使用者使用軟體過程中可能想要去解決的一些實際問題。該方法可以讓測試人員規避自身慣性思維所導致的漏測,而這些漏測很有可能是使用者常常需要使用的功能。
穿越測試法:
有一些軟體,它們一旦安裝,就需要在很長一段時間內都可以正常去使用它,因此,測試人員有必要去觀察在未來的時間裡,這些軟體是否仍可以正常工作。穿越測試法需要測試人員手動修改系統時間,穿越到過去或未來,檢視軟體在異常的時間段中表現是否在可控範圍內。
探索性測試
探索性測試概念 摘 探索性測試 et 是敏捷世界裡的一種重要測試方法,作為乙個研究性的工具,它是使用者故事測試和自動化回歸集的重要補充。它是一種經過深思熟慮的測試方式,沒有測試指令碼,可以使你的測試超出各種明顯已經測試過的場景。探索測試將學習,測試設計和測試執行整合在一起,形成一種測試方法。探索性測...
探索性測試
探索性測試的定義 探索性測試 et 是敏捷世界裡的一種重要測試方法,作為乙個研究性的工具,它是使用者故事測試和自動化回歸集的重要補充。它是一種經過深思熟慮的測 試方式,沒有測試指令碼,可以使你的測試超出各種明顯已經測試過的場景。探索測試將學習,測試設計和測試執行整合在一起,形成一種測試方法。探索性測...
《探索性軟體測試》
說說 探索性軟體測試 這本書吧,閱讀之後一些個人理解和思考,純文字,不感興趣可忽略。第一章有這麼一句話 從設計來說,有些軟體的功能本身就存在功能邏輯上的錯誤或不友好,且產生的效果完全違揹我們的初衷。做軟體測試工作,或許第一件要知道的事情就是 沒有完美的設計和產品。也許這也是軟體測試這個行業產生以及發...