【软件测试阶段及策略】
軟件測試階段及策略
- 軟件測試階段
- 軟件測試分類--策略
- 常見測試方法
- 軟件測試計劃
- 軟件測試報告
軟件測試階段
單元測試又稱為模塊測試,是最小單位測試
單元測試具有獨立性,可以與系統其他部分分隔離出來,從而完成測試,其依據是詳 細設計
其測試對象是軟件設計的最小單位模塊與組件,類、文件、窗口、函數、菜單、報表 或一個存儲過程都可以作為一個單元進行測試
單元測試可以發現的缺陷類型:
計算錯誤
需求或功能遺漏
程序路徑選擇錯誤
執行方法: 代碼掃描工具:SonarQube + PMD
單元測試
測試原則: 盡可能保證測試用例相互獨立(測試用例中不能直接調用其他類的方法,而應在測試用例 中重寫模擬方法) 此階段一般由軟件的開發人員來實施,用以檢驗所開發的代碼功能符合自己的設計要求
單元測試的好處
盡早的發現缺陷
利于重構
簡化集成
單元測試的不足
不可能覆蓋所有的執行路徑,所以不可能保證捕捉到所有路徑的錯誤
每行代碼需要3~5行代碼進行單元測試,存在投入與產出的平衡
集成測試:是將已分別通過測試的單元按設計要求組合成系統或子系統,再 進行的測試。目的在于檢查這些單元之間的接口是否存在問題。
系統測試 是充分運行軟件系統,以驗證系統是否滿足產品的質量需求
系統測試分為: 功能測試 非功能測試 性能測試、容量測試 安全性測試 兼容性測試 可靠性測試
集成測試和系統測試之間的比較:
測試內容:集成測試是測試各個單元模塊之間的接口,系統測試是測試整個 系統的功能和性能;
測試角度:集成測試偏重于技術的角度進行測試,系統測試是偏重于業務的 角度進行測試。
驗收測試:也稱交付測試,是針對用戶需求、業務流程進行的正式 的測試,以確定系統是否滿足驗收標準,由用戶、客戶或其他授權機 構決定是否接受系統。
軟件測試分類–策略
一:靜態測試與動態測試
靜態測試的特點 : 靜態測試不必動態運行程序,也不必進行測試用例設計和結果判斷等 工作。靜態測試可以由人工進行,充分發揮人的邏輯思維優勢。 靜態測試實施不需要特別的條件,容易開展。
動態測試的特點 : 通過運行被測程序,檢查運行結果與預期結果的差異,并分析運行效率、正確 性和健壯性等性能
二:黑盒測試 又稱為功能測試、數據驅動測試或基于規格說明書的測試
黑盒測試就當整個程序是個黑盒子,我們看不到它里面做了些什么 事情,只能通過輸入輸出看是否能得到我們所需的來測試。 黑盒測試的主要測試方法有:
等價類劃分法、邊界值分析法、因果圖法、場景法、正交實驗設 計法、判定表驅動分析法、錯誤推測法、功能圖分析法等。
三:手工測試與自動化測試
手工測試:就是由人去一個一個的輸入用例,然后觀察結果,和 機器測試相對應,屬于比較初級但是必須的一個步驟。
自動化測試:通過將測試執行部分或者全部交由機器執行的一種 測試,叫做自動化測試。這種測試不需要人的實時參與。同時這 種測試在小規模應用時會比手動測試昂貴許多。
測試自動化:這是一種讓測試過程脫離人工的一次變革。對于 控制成本,控制質量,回溯質量和減少測試周期都有積極影響 的一種研發過程
適合使用自動化測試的情況:
版本穩定、項目周期長、腳本可復用
不適合使用自動化測試的情況 :
定制型項目(一次性的)
項目周期很短的項目
涉及業務規則復雜的對象
關于美觀、聲音、易用性的測試
很少運行的測試
測試的軟件不穩定
涉及物理交互的測試
適合使用自動化測試的情況:
版本穩定、項目周期長、腳本可復用
不適合使用自動化測試的情況 :
定制型項目(一次性的)
項目周期很短的項目
涉及業務規則復雜的對象
關于美觀、聲音、易用性的測試
很少運行的測試
測試的軟件不穩定
涉及物理交互的測試
四:冒煙測試:冒煙測試是在軟件開發過程中的一種針對軟件版本包的快速基本功能驗證策略,是對軟件 基本功能進行確認驗證的手段,并非對軟件版本包的深入測試。冒煙測試也是針對軟件版 本包進行詳細測試之前的預測試,執行冒煙測試的主要目的是快速驗證軟件基本功能是否 有缺陷。如果冒煙測試的測試用例不能通過,則不必做進一步的測試。
冒煙測試執行,與正式測試的區別在于二者側重點不同,冒煙測試關注的是阻塞型缺陷, 包括但不限于流程不通、主要功能未實現等,而正式測試則屬于全面、細致的測試,需要 盡可能的發現全部缺陷并按其嚴重性進行區分。
需注意 開發協同,注重效率,評估用例
五:回歸測試:
過一段時間以后再回過頭來對以前修復過的缺陷重新進行測試,看該缺陷是否會重新出現
修改了舊代碼后,重新進行測試以確認修改沒有引入新的錯誤或導致其他代碼產生錯誤 回歸測試貫穿整個測試活動,且占據很大的工作量
回歸測試應兼顧效率和有效性兩個方面
回歸測試:再測試全部用例。基于風險選擇測試:選擇重要的、最常用的、存在風險的功能。基于操作剖面:操作剖面是操作的集合以及各種使用方式的出現概率。再測試修改的部分。
常見測試方法
1.功能測試:對產品的各功能進行驗證,根據功能測試用例,逐項測試,檢查 產品是否達到用戶的要求
2.性能測試:觀察系統在一個給定的環境和場景中的性能表現是否與預期目標 一致,評判系統是否存在性能缺陷,并根據測試結果識別性能瓶頸,改善系統性 能的完整的過程。
負載測試、壓力測試、穩定性測試。
3.易用性測試:用戶使用軟件是否方便,也稱用戶體驗測試
安裝、功能、界面、輔助系統易用性。
4.界面測試:測試用戶界面的布局是否合理、整體風格是否一致、各個控件的 放置位置是否符合客戶使用習慣,此外還要測試界面操作便捷性、導航簡單 易懂性,頁面元素的可用性,界面中文字是否正確,命名是否統一,頁面是 否美觀,文字、圖片組合是否完美等
優秀界面7要素:符合標準和規范、直觀性、一致性、靈活性、舒適性、正確性、實用性
5.安裝測試:確保該軟件在正常情況和異常情況的不同條件下都能進行安裝。
安裝:首次安裝、重復安裝
卸載
升級
6.文檔測試:檢驗各種文檔的完整性、正確性、一致性、易理解性、易瀏覽性。開發文檔、用戶文檔、管理文檔
7.兼容性測試:指檢查軟件之間能否正確地進行交互和共享信息。軟件兼容性 測試工作的目標是保證軟件按照用戶期望的方式進行交互
向前后兼容、硬件兼容、軟件兼容、數據兼容
8.安全測試:指有關驗證應用程序的安全等級和識別潛在安全性缺陷的過程
功能驗證:權限管理、加密、認證等
漏洞掃描:使用工具
模擬攻擊試驗:跨站攻擊
偵聽技術:在數據通信或數據交互過程中,對數據進行截取分析的過程
9.恢復測試:主要檢查系統的容錯能力。當系統出錯時,能否在指定時間間隔 內修正錯誤并重新啟動系統。
自動恢復:重新初始化、數據恢復以及重新啟動是否正確
人工恢復:還需估測平均修復時間,確定其是否在可接受的范圍內
軟件測試計劃
測試計劃:1.領導根據測試計劃做宏觀的調控、進行相應的資源配置。2.測試人員了解整個項目測試情況,以及項目不同階段所要進行的工作。3.便于其他人員了解測試人員的工作內容,進行有關配合工作。
時間:測試需求分析前總體測試計劃,測試需求分析后詳細編寫測試計劃
六要素:why、what、when、where、who、how、
軟件測試報告
什么是測試報告:
測試階段最后的產物。測試報告是指把測試的過程和結果寫成文檔,對發現的問題和缺陷進 行分析,為糾正軟件中存在的質量問題提供依據,同時為軟件驗收和 交付打下基礎
測試報告的元素?
引言(目的,背景,縮略語,參考文獻);
測試概要(測試方法、范圍、測試環境、工具);
測試結果與缺陷分析(功能、性能);
測試結論與建議(項目概況、測試時間、測試情況、結論性匯總);
附錄(缺陷統計);
總結
以上是生活随笔為你收集整理的【软件测试阶段及策略】的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 零基础无实物一步一步学PLCS7-120
- 下一篇: 苹果 AirTag 防丢器震撼发布,让你