# 探索性測試 vs 傳統腳本測試 ###### tags: `經驗` #### 探索性測試 vs 腳本測試 - 探索性測試,本質上是一種黑箱測試(Black-box testing) :::info 意思是你在不了解程式邏輯的情況下,從使用者的角度對你的軟體做各種功能測試 這是一種最貼近使用者的測試方法,能更容易發現使用者可能會遇到的問題 ::: 舉個例子,今天你在測試一個跑在Windows筆電上的商用軟體 上班族的使用者行為(user behavior)可能從某層樓搭電梯到另一個樓層的會議室去開會 筆電的狀態會從正常使用 -> 休眠(關上筆電)-> 斷網路(進電梯) -> 重新連線(出電梯) -> 登入(開啟筆電) 在這樣場景下,你的軟體能不能正常運行不Crash,不測試其實沒人知道。 RD對軟體本身的邏輯判斷與功能實作可能想了很多很完整的解決方案 但是對網路狀態與系統狀態的錯誤處理(error handling)不一定都會想得很全面 不過對使用者來說,我就是裝了你們家的產品,出問題我就是要你們修到好(誤) 而相對於探索性測試 - 基於腳本的測試(Scripted test)就是白箱測試 (White-box testing) :::info 意思是測試有已知的標準答案,驗證過程跟答案是跟著程式邏輯走的。 ::: 比如說後端的 /healthcheck API 在服務上線之後 正常情況下戳這隻API,HTTP response都會是200 OK。 那你不論是手動用postman去打或是用簡單的script都可以成功驗證這件事。 或是今天測試一個藏書查詢的網站,輸入一個不存在的藏書編號之後 會跳出查詢到0筆的藏書記錄,且不會跳出其他不相關的藏書在查詢結果等 https://ithelp.ithome.com.tw/articles/10287586 #####