什麼是靜態測試和測試評審?
什麼是靜態測試?
靜態測試是一種軟體測試方法,用於在不執行程式的情況下查詢軟體應用程式中的故障。靜態測試用於在開發的早期階段預防問題,因為此時更容易發現和糾正故障。它還有助於檢測動態測試可能錯過的故障。
另一方面,動態測試在程式碼執行時檢查應用程式。
靜態測試方法分為兩類:
手動檢查 - 手動檢查包括手動程式碼分析,通常稱為評審。
使用工具進行自動分析 - 自動分析本質上是使用工具執行的靜態分析。
您將在本文中學習以下內容:
什麼是靜態測試?
什麼是測試評審?
為什麼進行靜態測試?
靜態測試中測試什麼?
如何執行靜態測試?
靜態測試技術
用於靜態測試的工具
成功進行靜態測試過程的技巧
什麼是測試評審?
靜態測試評審是一個程式或會議,旨在識別任何軟體設計中的缺陷。評審的另一個好處是,所有團隊成員都能夠及時瞭解專案的進展,並且有時想法的多樣性會導致很棒的建議。文件由個人親自檢查,任何不一致之處都將得到解決。
評審進一步細分為四類:
非正式評審
演練
技術評審
檢查
在評審過程中,有四種參與測試的人員:
主持人 - 檢查條目,跟蹤返工,指導團隊成員並安排會議。
作者 - 對修復發現的問題和提高文件價值承擔責任。
記錄員 - 在評估期間記錄缺陷並監控評審會議。
評審員 - 檢查內容並查詢缺陷。
經理 - 決定實施評估並確保實現評審過程目標。
以下型別的故障在靜態測試期間可能更容易檢測到:
偏離標準
不可維護的程式碼
設計缺陷
缺少需求
不一致的介面規範
通常,靜態測試期間檢測到的缺陷是由於安全漏洞、未宣告的變數、邊界違規、語法違規、不一致的介面等造成的。
為什麼進行靜態測試?
靜態測試出於以下列出的原因進行:
快速發現和糾正缺陷
縮短了開發時間表。
節省測試時間和成本
提高開發效率
為了在以後的測試階段減少複雜性
靜態測試中測試什麼?
在靜態測試期間評估以下專案:
單元測試用例
業務需求文件 (BRD)
用例
系統/功能需求
原型
原型規範文件
資料庫欄位字典電子表格
測試資料
可追溯性矩陣文件
使用者手冊/培訓指南/文件
測試計劃策略文件/測試用例
自動化/效能測試指令碼
如何執行靜態測試?
靜態測試以以下方式進行:
進行檢查程式以徹底檢查應用程式的佈局。
為每個正在測試的文件使用清單,以確保所有評估都得到充分解決。
以下是執行靜態測試的多種操作:
用例需求驗證 - 它確保已檢測到所有使用者操作以及與其相關的任何輸入和輸出。用例越廣泛和完整,測試過程就越準確和完整。
功能需求驗證 - 這將驗證功能需求是否涵蓋所有相關方面。它還檢查資料庫功能、介面列表以及硬體、軟體和網路需求。
架構審查 - 所有業務功能,例如伺服器位置、網路圖、協議規範、負載平衡、資料庫訪問、測試裝置等。
原型/螢幕模型驗證 - 此步驟包括驗證目標和用例。
欄位字典驗證 - UI 中的每個欄位都具有足夠的說明,以便建立欄位級驗證測試用例。檢查欄位的最小和最大長度、列表值、錯誤訊息等。
靜態測試技術
非正式評審
演練
技術評審
檢查
靜態分析
資料流
控制流
用於靜態測試的工具
以下是用於靜態測試的一些工具:
Checkstyle
Soot
SourceMeter
成功進行靜態測試過程的技巧
軟體工程中執行靜態測試的一些有用提示。
專注於真正重要的事情。
正確規劃和監控審查活動。在大多數情況下,軟體概述和評估將合併到同行評審中。
使用舉例來培訓人員。
解決人為問題
將程式的正式性作為專案文化的一部分來維持。
持續改進的方法和工具
透過消除測試過程中的重大延遲,可以最大程度地減少測試成本和時間。
總結
靜態測試的目標是儘快檢測到缺陷。
靜態測試並不是真正替代動態測試;兩者都檢測不同型別的故障。
評審是一種有用的靜態測試方法。
評審不僅有助於發現問題,還有助於理解缺少的需求、設計缺陷和不可維護的程式碼。