iT邦幫忙

2022 iThome 鐵人賽

DAY 11
0
Software Development

QA 三十天養成日記系列 第 11

[Day11] 常見軟體測試種類有哪些?新手也能快速了解 (下)

  • 分享至 

  • xImage
  •  

自動化測試 Automation Test

就是將繁瑣的手動驗證,透過程式碼的方式,自動執行驗證,產生驗證的報表,就可以對測試結果更一目瞭然。

目標是希望【減少】人工驗證所耗費的時間,將時間放在更重要更有價值的測試或流程。

註:為什麼使用【減少】這個詞?
因為人工驗證還是必須存在的,在部分的測試種類或情境中,也是很重要的。

Code never lies, comments sometimes do.

來自 Ron Jeffries 程式大師名言
你的寫 code 不會騙人,不管如何,它都會乖乖地執行。
(comments sometimes do 此部分暫時不講,有興趣的人可以再自行搜索一下)

因為人工驗證,是有可能會有誤差的,那 code 的方式就會幫你測好測滿

(前提是你寫的 code 要正確喔XDD)

但是,不代表 自動化 = 省時間

? 釐清時間

- 省時間 → QA 所有工作的總時間。
- 【減少】人工驗證時間 → 顧名思義,就只是減少人工驗證的時間,轉而投注在其他測試或專案上。

兩者還是有差異的的喔!

所以既然是 自動化的 code,就意味著須要 維護/更新/優化,那這些的時間也是相到耗時的

但如果有寫好寫完成,那成效必然是比手動的驗證結果效益來的更大的

(先撇除探索性測試/使用者驗收測試 等,因為目的不同)


Black-box Test(黑箱測試)

也稱為 功能測試(functional test),測試角度會更以 User 作為出發點。

黑箱測試時,無須了解產品背後程式、資料處理方式、系統架構等。

若以 登入頁面 來說,擁有的欄位大部分通常是以下

  • 帳號輸入框
  • 密碼輸入框
  • 登入按鈕

那麼進行測試時,就會針對

  • 輸入正確的帳號、密碼,是否會登入成功
  • 輸入錯誤的帳號、密碼,是否會登入失敗
  • 帳號欄位輸入空值,是否會有錯誤訊息
  • 密碼欄位輸入空值,是否會有錯誤訊息
  • …諸如此類…

以這個為基礎的測試,就會是黑箱測試,但同時它也是整合/系統測試的一種。

我不用深入了解 登入功能 背後是否做了什麼邏輯判斷、是否有運用加密技術、DB如何設計等等較複雜知識。


White-box Test(白箱測試)

它的測試角度就會更以 開發 作為出發點。

白箱測時,就會需要了解到產品背後的程式、資料處理方式、系統架構、資料流向等。

所以通常執行該測試的人員,都需具備一定的技術含量,才有辦法

  • 檢查程式碼本身邏輯是否正確
  • 有效地針對 function 與 function 之前的整合測試
  • 找出程式碼淺在的風險
  • 找出系統本身的資安缺陷

另外先前提到 單元測試 也是白箱測試的一種。


Performance Test(效能測試)

是屬於較為進階的測試領域,也一定是需要具備一定程度的技術含量。

效能測試就是找出該系統效能上的指標,只要與伺服器效能指標相關的測試都屬於效能測試。

主要目標不是要找缺陷(bug),而是要消除系統瓶頸和替未來的回歸測試(regression tests)建立一個底線

常見的指標如下:
1. 響應時間
2. 併發使用者數
3. 伺服器處理能力
4. 吞吐量
等等效能指標

詳細的內容先前有寫過 :[學習筆記]你/我都應該要了解的效能測試、負載測試、壓力測試
(我盡量不湊文章內容了XDD,請自行閱讀)

我覺得效能上的測試,是屬於 CP 值比較高的測試種類。

因為當網站承受不住高流量而直接癱瘓造成的損失應該會遠遠大於【某個文案錯誤、某個欄位沒有防呆錯誤訊息】等基礎項目多更多

使用者甚至是連網站都無法進入,還何需談體驗/images/emoticon/emoticon06.gif


上一篇
[Day10] 常見軟體測試種類有哪些?新手也能快速了解 (上)
下一篇
[Day12] 經典的軟體測試金字塔!現實與理想存在著差異
系列文
QA 三十天養成日記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言