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