如何有效率地測試

Edited by Chloe, Esther, May (以字母排序)

此次主題是「如何有效率地測試」,因為我們發現很多測試其之間的轉換狀態是很相似的,讓同類型的測試一再出現會花費不必要的測試時間。
希望透過閱讀「有效率地測試」相關的文章,讓測試在最短的時間內,以最少的工作量,發現最大量的 bug,提升測試的效率,發揮最大效益。

*如何提高測試效率

1. 工作方面

  • 詳細的測試計劃
    測試任務盡量能細化到測試的功能和測試的 case 這個級別去監控進度,較為理想。
    規劃測試時在心中要保持以下幾個問題:
    a)要測試什麼或測試的對像是誰?
    b)要測試什麼問題或我們想要弄清楚或是論證的問題?
    c)哪​​些因素會影響測試結果?
    d)需要怎樣的測試環境?
    e)應該怎樣測試?
  • 儘早參與專案發展,儘早開始準備、規劃測試工作
    前期準備包括熟悉需求、了解產品特性、準備測試數據、熟悉開發團隊成員等方面,前期介入需求設計階段,和客戶順暢溝通,審視需求是否合理。
  • 提高送測標準
    如果測試部門有嚴格的測試接受標準,一旦發現有重大問題,立即拒絕測試,送回開發人員修改。可以減少很多次反複測試,重複測試,明顯提高了測試效率。
  • 認真審視 test cases
    使用最少的 test case,發現最多的 bug。不要因為規定要 review test cases,工作一忙而不認真審視 test cases,如此只是自欺欺人。
    例如:利用等價劃分,挑選具代表性的部分做測試即可。去除掉重複性質的 test cases。有效精簡 test cases,提高測試 coverage rate。
  • 加強測試團隊間資訊 sync 、溝通順暢
    及時地整理、更新工作相關的文件、讓這些資訊統一在熟悉利於好查詢的地方裡。
    例如:將 spec、注意事項⋯等等放在 wiki 裡供團隊成員查詢,保持最新的資訊。唯有清楚理解需求設計,才能發現有效的問題,才不會誤報問題。
  • 與 RD 相互配合、促進,形成良性的工作循環
  • 針對適合自動化測試的項目導入自動化測試
    測試週期較長、回歸測試次數較多的項目,可以考慮導入自動化測試。
  • 紀錄客戶發現的 bug,若是這個 bug 是可以在測試環境複製到的,需要特別注意。
  • 測試部門內部成員的工作業績數據化
    每週週例會的時候,對表現突出的給予表揚,對每次都比較差的下屬,單獨談心,問問具體原因。
    例如:可將以下的工作表現數據化:「發現 bug 的數量、編寫測試文件的速度和質量、審視測試文件時發現問題、給予有效建議的效率」等等。
  • 根據不同測試人員的特點進行測試分工
    Unit Test 主要由 RD 執行、在選擇獨立測試人員時,盡量選擇比較熟悉了解 SUT (System Under Test) 相關領域知識的人員。
  • 提高測試人員的專業技能和工作能力、擅用工具及清楚理解受測系統
    測試人員需提高對專案需求的理解程度,對測試理論、測試工具和測試方法的掌握程度,以及對被測軟體模組在專案中的重要程度和成熟程度的認識,對軟體測試效率同樣有很大的影響,才能在測試工程 / 過程中合理組織軟體測試,提高軟體測試效率。
    對於每種不同的測試可以使用不同的工具,並對每種工具都熟悉了解,知道在什麼樣的情況下可以使用何種工具來輔助測試,增加測試效率。且較熟工具的組員也可以對內部進行集體訓練,讓團隊迅速瞭解上手測試工具,增進團隊效率。
    如:效能測試時可以使用一些測試效能的工具,靜態程式碼測試時可以使用程式碼質量審閱工具(例如:Emma)。

2. 自我方面

  • 保持愉悅的心情與良好的工作態度,對工作有責任感,更甚者,可以將測試工作當作是自己的事業看待。
  • 提高自己的測試技術,熱於學習相關的技術,不斷充實自己,補充測試相關的方法與理論。
  • 對自己有自信,提出的問題必須自信,可以說服 RD,讓 RD 充分理解這是個 bug,不會讓 RD 反過來質疑 QA。

3. 程式碼方面

  • 加強軟體的可測試性
    具有可測性的軟體有以下特徵,會讓測試更容易進行:
    可操作性
    可觀察性
    可控制性
    可分解性
    簡單性
    穩定性
    易理解性

4. 讓測試數據成為有價值的報表

  • 針對每個階段測出來的 bug 數量,知道哪個部份的 case 可能還不足夠,添加 test cases
  • 對 bug 的嚴重度進行分類(須統一分類數據的標準),讓數據盡量反應並貼近真實情況。
  • 定義一些輔助數據來平衡數據本身的一些差異。根據測試階段和模組的一些特點來給權重。
    例如,也許功能測試發現 bug 的難度較系統測試發現 bug 的難度低,那麼就給予系統測試的模組較高的權重係數,來反應它們之間的差異性。

*參考文章:
(1) 如何提高測試效率
(2) 提高軟件測試效率方法探討

廣告

發表迴響

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