一、軟體測試
(一)軟體測試基本概念:使用人工或自動的手段來執行或測試某個軟體系統的過程,其目的在於檢驗它是否滿足規定的需求或弄清預期結果與實際結果之間的差別,是幫助識別開發完成的計算機軟體的正確度、完全度和質量的過程,是軟體質量保證的重要子域。
(二)軟體測試原則
為了更好地進行軟體測試,提高測試的整體效率,降低專案的整體成本,在測試過程中要遵循以下的幾點原則:
完全測試程式是不可能的,不可能找出軟體的所有缺陷
軟體測試是有風險的,要學會把無盡的可能減少到可以控制的範圍,去粗存精
測試無法展示潛伏的軟體缺陷
軟體缺陷通常成群出現
軟體對測試方法及技術也有免疫力
並非所有的缺陷都能修復
小組成員對於缺陷的理解不一致
產品說明書不斷變化,軟體變得越複雜越多功能化
軟體測試員在小組中不受歡迎
(三)軟體版本
alpha版:公司內部測試的版本
beta版:對外發布公測的版本
發布版:正式發布版本
(四)軟體測試分類
1.按軟體測試特性可分為:
白盒測試:測試人員直接在軟體的源程式上進行測試、修改、複測,分為語句測試、分支測試、路徑測試等。
黑盒測試:主要是功能測試,從外部測試軟體的各項功能及效能。
灰盒測試:介於白黑兩者之間,是二者結合的測試方法。
2.按軟體開發過程可以分為:單元測試、整合測試、系統測試、使用者驗收測試及回歸測試。
回歸測試v模型圖如下:
3.按軟體測試要求可分為:基本功能測試、全面測試、基準測試、功能測試和非功能測試。
4.當回歸測試或者手測完成難度較大時,優先採用自動化測試,即使用工具來進行測試。這種方法優點很多,如能為日後自動化測試節省大量資源、沒有時間限制、可以反覆執行、具有較高的功能測試覆蓋率等。當然缺點也是顯而易見,使用性測試和相容性測試不能採用自動化測試、沒有創造性、受具體專案資源限制和時間人力限制等。
5.自動化測試步驟
編寫測試用例,分析驗證測試用例,對已有的測試用例歸類,制定測試自動化計畫方案,編寫自動化測試程式,盡量用「資料驅動」提高測試覆蓋率,將測試用例編寫成自動化測試程式,執行測試程式、記錄反饋bug
,不斷完善自動化測試系統或程式。
(五)bug流程管理
通用的bug管理流程
bug登記
--測試工程師,初始
指派任務--專案經理,啟用
修改bug--開發工程師,修改
驗證--測試工程師,通過則繼續,否則狀態為再啟用
關閉--測試工程師
2.bug分類
按缺陷狀態分類:open,rejected,resolved,reopen,close
按缺陷嚴重級分類:嚴重,較嚴重,一般,輕微
按缺陷優先順序分類:高,中,低
二、系統實現與測試過程
(一)簡述
系統實現階段開始的時機,一般有以下的約定:系統設計階段的《資料庫設計》、《模組設計》、《使用者介面設計》已完成,且通過同行評審後才開始系統實現過程。整個實現及測試過程的活動可以分為:準備工作、產品實現、單元測試、缺陷管理與改錯、系統整合及整合測試、建立產品支援文件。具體操作流程如下圖
(二)編碼流程
編碼活動:開發人員根據《程式設計計畫》、《資料庫設計》、《模組設計》、《使用者介面設計》、《編碼規範》編寫模組**,在完成每個模組時進行必要的自查和測試,發現bug記錄下來。
編碼中常見問題:如何避免開發阻塞,換用更快的計算機還是開發更快的演算法等
(三)測試流程
單元測試流程
根據開發進展情況,安排測試人員或系統分析人員編寫《單元測試管理列表》或直接使用測試相關測試工具來編寫,專案經理審批《單元測試管理表》,指定測試人員進行單元測試,
測試人員進行相應的單元測試,產生單元測試報告
2.整合測試
當《實現與測試計畫》中涉及的單元均通過單元測試,開始整合測試。針對本次整合範圍、整合順序、整合環境等制定《整合測試策略》,建立整合環境進行整合測試,記錄結果。
(四)缺陷管理與改錯原則
記錄缺陷
及時清除缺陷
消除缺陷後進行回歸測試
(五)建立產品支援文件
文件人員在開發人員的協助下編制《使用者操作手冊》、《系統維護手冊》、《培訓教材》、聯機幫助、系統安裝包等。
三、制定測試方案與編寫測試用例
(一)測試資料收集與整理
通用資訊:一般資訊,技術資訊
被測軟體的類別及構成
被測軟體的使用者介面
(二)檢查產品說明書
高階審查步驟:設身處地為客戶著想,研究現有的標準和規範慣用語和約定等,審查和測試同類軟體
產品說明書的8個屬性:完整,準確,精確,一致,貼切,合理,**無關,可測試
(三)測試方案的制定
測試方案是軟體測試的總體規劃,包括測試的方針、策略、系統建立等,制定時一般考慮四個因素。
軟體的現狀及將來可能的發展
現有的資源及將來可能獲得的補充資源
風險分析
制定測試的策略,確定採用的測試方法
(四)測試計畫書的編寫及要素
測試計畫書衡量標準
有效達到最終目的,引導整個測試軟體測試工作正常執行
列舉的資料準確
提供的方法使測試高效執行
提供明確的測試目標、測試策略、具體步驟等
強調測試重點,重視測試的基本覆蓋率
盡可能利用現有資源
有一定的靈活性
2.測試計畫內容
測試計畫書的檔名及版本號
基本情況介紹
測試的具體目標
具體執行的測試型別
測試通過的判斷準則
測試用例等
(五)測試用例編寫
單元測試用例編寫:用例編號、被測物件,輸入資料,期望輸出
整合測試用例編寫:用例編號、被測物件、場景,輸入資料,測試操作步驟,期望輸出
系統測試用例編寫:包括對外的介面測試用例、系統效能測試用例等15種型別
四、系統測試
(一)系統測試簡述
系統測試的目的是對最終軟體系統進行全面測試,確保最終軟體系統滿足產品需求並且遵循系統設計的標準和規定。採用黑盒測試方法進行測試,主要內容有功能性測試、健壯性測試等。
制定測試計畫和設計測試用例活動的準則是:產品需求和系統設計文件完成以後,系統測試小組可以提前開始制定測試計畫和設計測試用例,提高測試效率。
(二)系統測試活動內容
系統測試內容
使用者層,主要面向產品最終的使用操作者的測試
應用層,針對產品應用的測試
功能層,針對產品具體功能實現的測試
子系統層,針對產品內部結構效能的測試
協議/指標層,針對系統支援的協議、指標的測試
2.制定系統測試計畫
主要內容有:測試目標、測試範圍、測試方法、測試環境與輔助工具、測試完成準則、人員與任務表。
3.設計測試用例
4.執行系統測試
系統測試人員依據《系統測試計畫》和《系統測試用例》執行系統測試,並對測試過程中發現的缺陷進行跟蹤,及時解決驗證。
5.兩個結束準則
對於非嚴格系統可以採用「基於測試用例」的準則,對於嚴格系統,應當採用「基於缺陷密度」的準則。
軟體工程13 16章讀書報告
軟體工程讀書報告 一 軟體測試 1 軟體測試的概念 等同於 除錯 目的是糾正軟體中以知道的故障。2 軟體測試的分類 3 自動化測試 一般認為使用 自動化測試 工具來進行的測試叫自動化測試,一般不需要人的干預,但不能完全取代手測。4 bug管理流程 bug登記 測試工程師,初始 指派任務 專案經理,啟...
《程式設計珠璣》讀書報告
最後幾章還沒怎麼看,先寫這麼多吧。本章概括的講述了如何用程式解決問題,包括 準確的問題描述 程式設計以及實現。本章首先提出了乙個問題 如何給磁碟檔案排序?並說明應該先對問題進行準確的描述,將已知條件組織成一種更客觀 更易用的形式 輸入 輸出以及約束。在程式設計階段,應該充分理解問題的特點,選擇合適的...
numpy的讀書報告
numpy numpy是python中科學計算的基礎包。它是乙個python庫,提供多維陣列物件,各種派生物件 如掩碼陣列和矩陣 以及用於陣列快速操作的各種api,有包括數學 邏輯 形狀操作 排序 選擇 輸入輸出 離散傅利葉變換 基本線性代數,基本統計運算和隨機模擬等等。numpy包的核心是 nda...