漫談測試成長之探索——測試策略

在《漫談軟體系統測試——問題解決》一文中,文章借鑒控制疫情的四大策略,總結了軟體系統品質保障的四大策略。那麼在日常工作中,我們應該如何理解測試策略呢?

什麼是測試策略?

測試策略是描述軟體開發周期的測試方法的概述。測試策略的目的是從組織的高級目標到實際的測試活動提供合理的推論,以從品質保證的角度實現這些目標。

對於一個完整的系統,其測試策略內容一般包含測試範圍、測試角色、測試方法、測試工具、測試層級、測試類型、驗證環境、風險和處理方案、測試指標和測試可交付成果等內容。如何來理解這些內容呢?我們可以將其簡化為四個問題:測什麼?由誰測?什麼時候測?怎麼測?

图1-1 【爱测角】测试策略概括
圖1-1 【愛測角】測試策略概括

測什麼?

如果按測試範圍劃分,如果需求是新增獨立模組,其測試範圍可以只關注新內容。如果需求是舊版本的迭代或者與其他模組存在關聯,我們除了關注新增的需求內容,還需要關注舊版本內容和關聯模組。

如果按測試類型劃分,測試內容除了功能測試,我們還需要開展性能測試、兼容測試和安全測試等工作,這些內容在日常的功能測試中涉及比較少,但是如果從整個產品品質角度考慮,我們還是需要關注的。

如果按測試層級劃分,測試內容可以包含單元測試、集成測試、系統測試和驗收測試。

图1-2 【爱测角】测什么
圖1-2 【愛測角】測什麼

由誰測?

只有測試人員可以參與測試么?當然不是。在項目中,負責測試的角色其實還可以包含產品人員、設計人員、開發人員和用戶。單元測試主要由開發人員編輯測試程式碼,同時,開發在需求提交測試前需要完成自測工作。集成測試和系統測試主要由測試人員完成,產品人員和設計人員需要在需求發布前進行驗收測試。當然,用戶也可以參加測試,例如在正式全量發布前,部分用戶可以被邀請參加內測。

图1-3 【爱测角】由谁测
圖1-3 【愛測角】由誰測

除了測試角色,雖然還有其他角色也會參與到測試工作中,但是其測試內容是有限的。在項目開展過程中,需求的品質保障工作主要還是需要由我們測試工程師把控,同時可以引導其他角色的人員對品質保障起到輔助的作用。

什麼時候測?

在軟體開發生命周期中,開展測試工作階段主要包含需求開發、需求測試和需求發布階段。

在需求開發階段,可以開展單元測試工作。在需求測試階段,可以開展集成測試和系統測試工作。在需求發布階段,可以開展驗收測試工作。

图1-4 【爱测角】什么时候测
圖1-4 【愛測角】什麼時候測

在不同階段,對應的測試環境可以包含:開發環境、測試環境、預發布環境和生產環境。其中單元測試主要在開發環境和測試環境進行,集成測試和系統測試主要在測試環境和預發布環境進行,驗收測試可以在測試環境,也可以在預發布環境或者是生產環境進行。

怎麼測?

測試的方法一般包括黑盒測試、灰盒測試和白盒測試。

黑盒測試方法有等價類劃分、邊界值分析、錯誤推測法、因果圖測試法和場景法等。灰盒測試方法有矩陣測試、回歸測試、模式測試和正交陣列測試等。白盒測試方法有程式碼檢查法、靜態結構分析法、靜態品質度量法、邏輯覆蓋法和基本路徑測試法等。

工欲善其事,必先利其器。除了掌握測試方法,我們還需要了解相關測試工具,從而降低測試成本,提高測試效率。常見的測試工具類型包括:UI測試工具、介面測試工具、性能測試工具和安全測試工具等。當我們需要採用某種測試方法開展測試工作時,可以結合對應類型的測試工具,幫助測試工作能夠降本提效。

除了掌握常規流程的測試方法,對於當前不可測或者未知的風險,我們一方面需要研究其測試方法,另一方面也需要有合理的風險預案,當風險發生時,我們能夠有有效的措施去規避或者最小化影響面。

總結

什麼是測試策略?本文將其概括為測什麼?由誰測?什麼時候測?怎麼測?

图1-5 【爱测角】测试策略概括脑图
圖1-5 【愛測角】測試策略概括腦圖

在了解了測試策略之後,我們就需要在測試工作中運用測試策略開展工作。這時候我們就需要考慮資源和品質的平衡,在有限的資源前提下,我們需要學會採用最合適的測試策略來保障項目的品質。至於如何權衡,大家可以在工作中不斷積累經驗。

作者簡介:Chaofan,愛測角成員之一,專註探索和分享軟體品質保障。
原文地址:《漫談測試成長之探索——測試策略》
相關引文:《漫談軟體系統測試——問題解決》

更多測試成長探索系列文章:
《漫談測試成長之探索——測試文檔》
《漫談測試成長之探索——測試排期》
《漫談測試成長之探索——缺陷分析》
《漫談測試成長之探索——測試用例評審》