隨機測試 (Random Testing / Ad-hoc testing)

一、介紹

隨機測試,或稱 Ad-hoc testing,是指沒有書面資料、測試案例、期望值、檢查點…等的測試;主要是根據使用者的經驗及相關知識對待測軟體進行功能或效能抽查,有時會包括到一些當前測試案例沒有覆蓋到的部分,另外,也可以針對軟體新增或更新的功能做一些重點測試,如特殊場景、特殊環境,並可以結合回歸測試一起進行。

例如 「我來試試看如果當聽音樂時打電話進來會發生什麼事?」或是「任意調整視窗大小」等。

二、執行隨機測試的方法:

1. 前提條件

(1) 熟悉產品的各項功能和產品的邏輯結果

(2) 熟悉測試案例

(3) 完整的執行過測試案例

(4) 熟悉在案例的測試階段所發現的 Bug 和 Bug 的分佈情況

(5) 測試人員具備一定的測試經驗,對 Bug 有敏銳的洞察力

2. 選取隨機測試的功能點

(1) 根據案例的測試階段對產品的了解來選取 Bug 比較密集的功能模組

(2) 根據重現率比較低的 Bug 涉及的功能點選取隨即測試功能點

重現率比較低的 Bug 是隱藏比較深的 Bug ,這些 Bug 可能正是導致軟體無法上線的原因。因此重現這些隱藏 Bug 是十分重要的工作。

(3) 與開發人員溝通了解軟體的 Bug

* 了解到程式本身哪些地方最複雜,最薄弱,這些地方最容易發生什麼錯誤

可通過對程式的熟悉,得到較好的掌握

* 了解工程師最容易在哪些地方犯哪些錯誤

可通過對 Bug 的分析得到

(4) 根據經驗選取功能點

(5) 隨機選取功能點

三、優缺點

  1. 優點
    因為用戶有很多,很多測試案例不一定能夠包含實際的測試場景,所以有時候隨機測試較容易發現一些測試案例無法發現的問題;此外,像是安全性方面的軟體,就需要多點隨機測試來彌補測試案例的不足。

  2. 缺點
    隨機測試常常是突發奇想,或是為了某個特定的目的進行的測試,就這一次,也因為沒有特定的記錄,所以也不能重複使用。隨機測試也有限制,需要有經驗的人使用,才容易抓出不容易抓出的 Bug;由於是隨機去執行,所以覆蓋率也沒有測試案例來的完整,有漏測的可能性。

從某個角度來看,隨機測試也可以用來衡量目前測試案例的完整性,如果透過隨機測試都沒發現什麼在現有的測試案例之外的問題,表示現有的測試案例是比較完整的。有時候如果透過隨機測試而找到的 Bug 太多,就得回頭檢視是否測試案例的使用者場景太少,程式碼邏輯是否完善。隨機測試並非萬靈丹,要有效地提升測試覆蓋率,尚須搭配其他測試技術,才能讓測試更加完備。

參考文章:

(1) 隨機測試

(2) 軟體測試之隨機測試

(3) 隨機測試

(4) 隨機測試 (百度)

廣告

發表迴響

Please log in using one of these methods to post your comment:

WordPress.com Logo

您的留言將使用 WordPress.com 帳號。 登出 / 變更 )

Twitter picture

您的留言將使用 Twitter 帳號。 登出 / 變更 )

Facebook照片

您的留言將使用 Facebook 帳號。 登出 / 變更 )

Google+ photo

您的留言將使用 Google+ 帳號。 登出 / 變更 )

連結到 %s