軟體測試可以分成探索的方式 (Exploratory Testing, 之後簡稱 ET) 和檢查的方式 (Scripted Testing, 之後簡稱 ST) 來進行. 所謂 ST, 就是根據測試個案的內容, 照表操課來執行. 所謂的 ET, 就是事先沒有寫好的測試個案, 在測試當下, 同時進行測試設計, 執行和學習.
 
但是這絕對不是二分法. 也就是說, 在專案執行過程中, 不會單純只做 ST 和 ET, 兩者通常是混合進行的. 說得更準確一點, 其實每個人在測試的過程, ET 和 ST 的動作往往是交互發生的. 
 
是這樣嗎? 我們來看一下各種不同程度的 ET 和 ST 的組合
 
 
 
(1) Pure Scripted
這種狀況就是嚴格按著測試個案來執行, 上說什麼做什麼, 不能有自己想法, 也不能自己增加或減少步驟. 個人覺得這種測試人員很危險, 很容易被測試程式所取代. 另一方面來說, 大部分的自動化測試就是屬於這類, 程式怎麼寫, 測試就怎麼做.
 
例如: Line App 測試
測試個案:使用英文和朋友說”早安"
測試步驟
    在 iPhone 8 上面打開 Line App
    按下 聊天 選單
    選擇聊天清單中第一個朋友
    輸入 “早安”, 按下送出鍵
    退出 Lina App
預期結果
    Line 要能正確將”早安” 傳送給朋友 
    自己的 Line App 上面要顯示剛剛輸入的 “早安”, 以及輸入時間
    當朋友收到後, 自己的 Line App 上面的訊息, 要有 “已讀"
    
 
(2) Vague Scripts
測試個案的是有提供簡單的步驟說明. 但是並不像 Pure Scipted 鉅細彌遺, 這中間讓測試人員有比較大發揮的空間. 
 
例如: Line App 測試
測試個案:使用英文和朋友說”早安"
測試步驟
    選擇 聊天 選單
    對某個朋友輸入 “早安”, 按下送出鍵
預期結果
    要有顯示 “早安”, 以及輸入時間
    對方收到後, 要有 “已讀"
 
 
(3) Fragmentary Test Cases
測試個案中可能只有標題, 或者是增加個標題說明, 但是已經沒有執行步驟了, 所中間過程讓你自行處理.
 
例如: Line App 測試
測試個案:使用英文和朋友說”早安”
 
 
(4) Charters
沒有所謂的測試個案, 只有測試方向 (charter), 讓測試人員自行決定要測什麼, 以及怎麼測. 
 
例如: 和朋友聊天
測試個案: 在 session 中你會記錄你側了什麼
 
 
(5) Roles
測試人員會從某個使用者角色觀點來測試. 
 
例如: Line App 測試
扮演角色:重度使用者
 
 
(6) Freestyle ET
在測試過程中, 測試人員沒有事先開好的測試個案, 事前沒有特別準備, 說開始就開始測試, 最終只記錄找到的 bug, 以及提出所感受的風險
 
 
 
從上述分類來看, 其實大家加減都有進行某種程度的 ET 或是 ST, 因為我幾乎沒看過有人是 Pure Scripted 或者是 Freestyle ET. 大多數是混和著在進行.
 
內心 OS, 所以我是不是也可以逢人就說, 我們也有在執行探索性測試呢 ? (誤)
 
 
 
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 kojenchieh 的頭像
    kojenchieh

    David Ko的學習之旅

    kojenchieh 發表在 痞客邦 留言(0) 人氣()