软考备战系列一----软件测试基础
1.軟件測試基礎
軟件測試的定義
測試的含義為檢驗產品是否滿足需求為目標,
軟件測試的目的
測試的目的是尋找錯誤,并且盡最大可能找出最多的錯誤
軟件測試的原則
所有的軟件測試都應追溯到用戶需求
應當把“盡早地和不斷地進行軟件測試”作為軟件測試者的座右銘
完成測試時不可能的,測試需要終止
充分注意測試中的集群現象
程序員應避免簡稱自己的程序
盡量避免測試的隨意性
軟件測試的對象
軟件包括文檔、數據以及程序三部分組成
軟件測試分類
按開發階段軟件測試分為:單元測試、集成測試、系統測試、確認測試、驗收測試
單元測試又稱為模塊測試,是針對軟件設計的最小單位----程序模塊進行正確性檢驗的測試工作
集成測試也叫組裝測試,通常在單元測試的基礎上,將所有的程序模塊進行有序的遞增的測試,集成測試是檢驗程序單元或部件的接口關系
確認測試是通過檢驗和提供客觀證據,證實軟件是否滿足特定預期用途的需求,確認測試時檢測魚證實軟件是否滿足需求說明書中規定的要求
系統測試是為驗證和確認系統是否達到其原始目標,而對集成的硬件和軟件系統進行的測試。
驗收測試按照項目任務書或合同、供需雙方約定的驗收依據文檔進行的對整個系統的測試與評審,決定是否接受或拒收系統。
按照測試實施組織劃分為:開發方測試、用戶測試(β測試)、第三方測試
開發方測試也叫“驗收測試”或“a測試“,是在軟件開發環境下,由開發者檢測與證實軟件的實現是否滿足軟件設計說明或軟件需求說明的要求。
用戶測試在用戶的應用環境下,用戶通過運行和使用軟件,檢測與核實軟件實現是否符合自己預期的要求。
第三方測試介于軟件開發方和用戶之間的測試組織的測試,第三方測試也稱獨立測試
,一般情況是在模擬用戶真實應用環境下,進行軟件確認測試。
**按照測試技術分為:白盒測試、黑盒測試、灰盒測試。**也可劃分為靜態測試和動態測試
白盒測試是通過對程序內部結構的分析,檢測來尋找問題
黑盒測試是通過軟件的外部表現來發現其缺陷和錯誤
灰盒測試是介于白盒和黑盒之間的測試,同時結合了他兩測試的要素,也考慮了用戶端、特定的系統知識和操作環境
靜態測試是指不運行程序,通過人工對程序和文檔進行分析與檢查,實際上是對軟件中的需求說明書、設計說明書、程序源代碼等進行非運行的檢查。靜態測試包括走查、符號執行、需求確認等。
動態測試是指通過人工使用工具運行程序進行檢查、分析程序的執行狀態和程序的外部表現。
軟件測試過程模型:V模型、W模型、H模型、X模型、前置測試模型
**測試過程4個步驟:**單元測試—集成(組裝)測試—確認測試—系統測試
軟件錯誤的嚴重級別:
嚴重—系統奔潰、數據丟失、數據毀壞
較嚴重—操作性錯誤、錯誤結果、遺漏功能
一般—小問題、錯別字、UI布局、罕見故障
建議—不影響使用的瑕疵或更好的實現
軟件錯誤的優先級別:
最高優先級—立即修復、停止進一步測試(立即)
次高優先級—在產品發布之前必須修復(嚴重)
中等優先級–如果時間允許應該修復(一般)
最低等優先級—可能修復,但是也能發布(建議)
軟件錯誤的狀態
新建(New)測試中新報告的軟件bug
打開(Open)被確認并分配給開發人員
修正(Fixed)開發人員已完成修正,等待測試人員驗證
拒絕(Declind)拒絕修改bug
延期(Deferred)不在當前版本修復的錯誤,下一版修復
關閉(Closed)bug已修復并驗證通過
Bug記錄信息
測試軟件名稱
測試軟件版本
測試人名稱
測試事件
測試軟件和硬件配置環境
發現軟件錯誤的類型
錯誤的嚴重等級
詳細步驟
必要的附圖
測試注釋
Bug處理信息
處理者姓名
處理時間
處理步驟
錯誤記錄和當前狀態
Bug管理流程
- 測試人員提交新的錯誤入庫,錯誤狀態為”new”
測試組長確認錯誤分配給相應的開發人員,狀態設置為“Open“
測試組長確認不是錯誤,則拒絕,設置為”Declined”狀態
- 開發人員查詢狀態為“Open“的錯誤,做如下處理
如果不是錯誤,則置狀態為“Declined “
如果是錯誤,則修復并置狀態為“Fixed”
如果不能解決的錯誤,要留下文字說明并保持錯誤狀態為“Fixed”
對于不能解決和延期的錯誤,不能由開發人員決定,應進一步向上級反饋
- 測試人員查詢狀態為“Fixed”的錯誤,驗證錯誤是否已經解決,做如下處理
如果問題解決了,置錯誤狀態為“Closed”
如果問題沒有解決,則置錯誤狀態為“Reopen”
軟件測試的方法
白盒測試
白盒測試也稱結構測試測或者邏輯驅動測試,是按照程序內部的結構進行測試程序,通過測試來檢測產品內部動作是否按照規格說明書的規定正常進行。
黑盒測試
黑盒測試也稱功能測試,通過測試來檢測每個功能是否能正常使用,在測試過程中,把程序看作一個不能打開的黑盒子,在完全不考慮程序內部結構和內部特性的情況下,在程序接口進行測試,它只檢查程序功能是否按照需求規格說明書的規定正常使用,主要是針對軟件界面和軟件功能進行測試。是以用戶的角度,從輸入數據與輸出數據的對應關系出發進行測試
**黑盒測試用例設計方法:**等價類、邊界值分析法、錯誤推測法、因果圖法、判定表驅動法、正交試驗設計法、功能圖法等
等價類是把程序的輸入域劃分成若干部分,然后從每個部分中選取少數代表性數據作為測試用例
邊界值分析是通過選擇等價類邊界的測試用例
錯誤推測法設計方法就是基于經驗和直覺推測程序中所有可能存在的各種錯誤
因果圖是從用自然語言書寫的程序規格說明的描述中找出因(輸入條件)和果(輸出或程序狀態的改變)可以通過因果圖轉換為判定表
正交試驗設計法就是使用已經造好的正交表格來安排試驗并進行數據分析的一中方法
自動化測試
自動化測試就是通過測試工具或其他手段,按照測試工程師的預定計劃對軟件產品進行自動話的測試,它是軟件測試一個重要的測試組成部分,能夠完成許多手工無法完成或者難以實現的測試工作。
自動化測試優勢11個
提高測試質量
提高測試效率,縮短測試工作時間
提高測試覆蓋率
執行手工測試不能完成的測試任務,如壓力測試、負載測試、大數據測試、奔潰性測試
更好地重現缺陷的能力
更好地利用資源
增進測試人員與開發人員之間的合作伙伴關系
需要反復進進行的工作
負載壓力測試
會取得事倍功半的效果
自動化測試工具可以進行系統后臺測試或者內部性能特性
自動化測試局限性6個
定制性項目
周起很短的項目
業務規則復雜的對象
人體感觀與易用性測試
不穩定的軟件
涉及物理交互
自動化測試工具分類
**負載壓力測試工具:**主要是為了度量應用系統的可擴展性和性能,是一種預測系統行為和性能的自動化測試工具,這類工具有LoadRunner、QA等
**功能測試工具:**主要目的檢測應用程序是否能夠達到預期的功能并正常運行,這類工具有WinRunner、QA等
**白盒測試工具:**一般主要針對代碼進行測試,測試中發現的缺陷可以定位到代碼級。鏡態工具有logisconpe、PRQA等,動態工具DevPartner、Rational
Purify等
網絡測試工具:主要用于網絡故障定位、網絡性能監測工具、網絡仿真模擬工具可以分析分布式應用性能,關注應用、網絡和其他元素。
**測試管理工具:**用于對測試進行管理,測試管理工具包括對缺陷的跟著管理、測試計劃、測試用例、測試實施進行管理,并且還可以跟蹤缺陷,工具有TestDirector、TestManger、TrackRecord等、
**測試輔助工具:**這些工具本身不執行測試,可以生成測試數據,用于輔助測試等。
功能自動化測試
功能自動化工具主要功能是為了確保應用能夠按照預期設計執行而將業務處理過程記錄到測試腳本中。
功能自動化測試工具基本上都是采取錄制回放的方式來模擬用戶的實際操作。
環境判讀模式:根據你選取的圖形用戶界面對象,把你對軟件的操作動作錄制下來,并忽略這些對象在屏幕上的物理位置。
模擬模式:
①創建腳本通過錄制、編制或兩者同用的方式創建測試腳本。
②調試腳本,腳本錄制或編輯結束后,可以在調試模式下運行腳本,比如設置斷點來檢測變量。
③執行測試,腳本調試結束后,便可以在檢驗模式下測試被測軟件。
④結果分析,測試結束后,測試工具會把測試情況顯示在測試結果報告中,進行結果分析
負載壓力自動化測試
負載測試是為了證明在與產品預期規模等同的數據庫中處理給定的事務請求的容量下,系統功能與性能是否與需求規格說明書中規定的,可接受的響應時間一致的測試過程
壓力測試是使客戶機在大容量情況下運行的測試過程,目的是查看應用將在何時何處出現中斷,即識別系統的薄弱環節,壓力測試可能暴露系統缺陷有內存泄漏、系統資源過量消耗、磁盤空間用完等。
負載壓力測試工具基本上采用錄制回放的方式來模擬用戶的實際操作
測試錄制腳本原則3個
腳本越小越好
選擇負載壓力最高的業務功能進行測試
選擇所需的操作進行錄制。
測試工具模擬用戶并發訪問兩種方式
進程回放模式:模擬多進程運行方式,即客戶端與服務器的訪問采用進程方式,每一個虛擬用戶通過一個進程建立與服務器的通信連接并訪問
線程回放模式:模擬多線程運行方式,即客戶端與服務器的訪問采用線程方式,每一個虛擬用戶通過一個線程建立與服務器的通信連接并訪問。
錄制回放模式操作步驟6個
①選擇協議:一般B/S系統選擇Web(Http/Html)兩層C/S系統則根據C/S架構所用到的后臺數據庫來選擇不同的協議。
②創建測試腳本:選擇好相應的錄制協議后,啟動腳本工具進行錄制
③參數化測試數據:以訂單輸入過程為例,參數化操作可講記錄中的常量數據,如訂單號、客戶名稱,由變量值來替代,以更好地模擬多個實際用戶的操作
④創建虛擬用戶:負載壓力測試目的就是要模擬多個用戶并發訪問系統,
⑤執行測試:設定了相應的負載測試方案后,就可以開始測試
⑥結果分析:主要是交易性能數據,如響應時間、服務器資源占用情況、網路設備和數據庫的實時性能數據等。
總結
以上是生活随笔為你收集整理的软考备战系列一----软件测试基础的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 苹果代工厂辉煌不再:曾经返费过万,如今低
- 下一篇: VMware虚拟机不能上网的解决方法