[3] 測試是一門學問,關於測試案例


品質工程師,不只是測試中,我們知道品質工程師的任務,不只是負責測試,但是,測試這項任務的確佔品質工程師大部分的時間,而測試也是一門學問。

把軟體測試的關鍵詞拿去餵 Google,就可以找到太多相關的資訊,不論是測試階段、測試類型、測試進程... 等,每個主題都值得用一系列的文章來探討。

在本篇,我將聚焦在測試案例 (Test case)。


何謂測試案例

測試案例,其實就是使用情境,設計測試案例的目的,是找出可能的使用情境,在產品上線前先走過這些使用情境,確定產品功能符合預期。


設計測試案例

在設計測試案例時,必須有個很重要的認知,那就是不可能預想所有使用情境,即便能窮盡所有使用情境,也絕對沒有足夠時間執行測試。

設計測試案例的基本前提,當然就是要知道產品規格,此外,如果能夠了解技術實作,對於設計測試案例也會有顯著的效益。這也呼應了品質工程師,不只是測試中提到的,品質工程師在產品規劃與實作階段的任務。

設計測試案例跟規劃架構很像,必須系統性的思考,避免雜亂無章,同時也必須對於一些測試方法有基本的認知,才能產生好的測試案例。

至於該用什麼來撰寫測試案例,可以是 Excel,可以是 TestRail 或 Jira,甚至用 Gherkin,端看團隊或是公司的規劃。


測試案例審查

產生測試案例後,如何知道這些測試案例足夠?答案是,永遠不知道。

倘使產品是個龐大的系統,就更容易發生測試案例涵蓋不足的問題。

理想的方式,是召開測試案例審查 (Test case review),與會人員,除了品質工程師,還要有 RD、設計師、產品經理,蒐集來自不同專業領域的回饋,盡量確保重要的使用情境都有涵蓋。

測試案例審查也是品質工程師很重要的課題,優秀的品質工程師,能清楚地說明測試案例的架構,甚至是測試手法,很多人會使用心智圖的方式,讓大家更容易理解測試的範疇。


測試案例管理

假設時間有限,只能執行一定數量的測試案例,你能否快速找出要執行的測試案例?如果沒有,表示你的測試案例沒有做管理。

當測試案例數量不斷累積,如何管理是個很重要的課題。可以用測試的種類,如 RAT、FET... 等,或是依照產品功能分類,最理想的情況,是可以綜合多種分類方式,篩選出需要的測試案例。

當系統龐大時,良好的測試案例管理,也有助於團隊釐清對於系統的掌握度。譬如對某功能進行重構時,如果知道該功能的測試案例充足,也會對重構後的品質更有信心。


如同一開始提到的,軟體測試有太多值得探討的部分,其中如測試階段、測試流程,不單只和品質工程師有關,更會受到整個團隊規劃影響。實務上,也很常在不同團隊看到不同的做法。

測試案例,幾乎完全取決於品質工程師。

如果你想成為品質工程師,但不知從何開始,不妨先試著學習設計測試案例吧!


最後附上個經典笑話

#software development #quality assurance







你可能感興趣的文章

JavaScript 五四三 Ep.05 Array.prototype.find()

JavaScript 五四三 Ep.05 Array.prototype.find()

Customizing a Laptop Through Engraving is a Great Personalization Idea

Customizing a Laptop Through Engraving is a Great Personalization Idea

[Git101] 版本控制

[Git101] 版本控制






留言討論