軟體測試讀書報告

2022-07-11 06:03:11 字數 3099 閱讀 4316

第十三章 軟體測試

1.軟體測試基本概念

1.1 軟體測試背景

2023年glenford myers在《軟體測試藝術》一書中作出了當時最好的軟體測試定義:「測試是為了發現錯誤而執行的乙個程式或者系統的過程。」

2023年,bill hetzel在《軟體測試完全指南》一書中指出:「測試是以評價乙個程式或者系統屬性為目標的如何一種活動。測試是對人家質量的度量。」

myers和hetzel的定義至今仍被引用

2023年,rick和stefan在《系統的軟體測試》中對軟體測試做了進一步的定義:「測試是為了度量和提高被測軟體的質量,對測試軟體進行工程設計、實施和維護整個生命周過程。」

近20年來,隨著計算機和軟體技術的飛快發展,軟體測試技術研究也取得了很大的突破。測試專家總結了很好的測試模型,比如著名的v模型、w模型等,在測試過程改進方面提出了tmm的概念,在單元測試、自動化測試、負載壓力測試及測試管理等方面湧向了大量優秀的軟體測試工具。

1.2 軟體測試著名案例

獅子王案例,intel浮點出發軟體測試,美國航天局火星登陸,愛國者飛彈防禦系統

1.3 軟體缺陷

缺陷:軟體未達到產品說明書標明的功能。

軟體出現了產品說明書指明不會出現的錯誤。

軟體功能超出產品說明書指明的範圍。

軟體未達到產品說明書雖然未指出但應達到的目標,此條的目的是抓住產品說明書上遺漏之處。

軟體測試員認為軟體難以理解,不易使用,執行速度緩慢,或者終端使用者認為不好。

產生缺陷的原因:

軟體模型或者說業務建模不正確(約佔百分70)

軟體龐大,功能十分複雜

程式設計過程出錯(約佔百分20)

個別功能要求改變而影響到其他部分

與要開產的軟體對接的第三方軟體有缺陷

個人因素:專案組管理方法、專案進度要求時間緊、專案組配備人力不足、組內及組外溝通不充分等幾種情況

1.4 軟體測試原則

(1)完全測試程式是不可能的

(2)軟體測試是有風險的行為。

(3)測試無法顯示潛伏的軟體測試。

(4)軟體缺陷會成群出現。

(5)並非所有軟體缺陷都能修復

(6)難以說清的建缺陷

(7)產品說明書不斷變化

(8)軟體測試員在小組中不受歡迎

(10)軟體測試是一向講究條例的技術專業

1.5 軟體的版本

在整個軟體開發的生命週期中,可能會出現各種版本,每個公司對版本的定義也不一樣

1.6 優秀軟體測試員必備

探索精神、故障排除能手、不懈努力、創造性、追求完美、判斷準確。

2.軟體測試分類

白盒測試、灰盒測試、黑盒測試、基本功能測試、全面測試、基準測試、功能測試、非功能測試。

3.自動化測試

一般認為使用自動化測試工具來進行的測試叫自動化測試,一般不需要人干預。

4.bug管理流程

4.1 通用bug管理流程

(1)bug登記——測試工程師,初始。 

(2)指派任務——專案經理,啟用。

(3)修改bug——開發工程師,修改。

(4)驗證——測試工程師,通過則轉第5步,否則轉第2步,狀態為再啟用。

(5)關閉——測試工程師。

4.2 bug分類

(1)按缺陷狀態分類

(2)按缺陷嚴重級分類

(3)按缺陷優先順序分類

第十四章 系統實現與測試過程

1.系統實現與測試過程簡述

系統實現與測試過程至關重要,在此過程中,主要是達到以下幾個目的:

1)實現產品元件的編碼並產生相應的支援文件。

2)準備產品/系統整合,確保介面相容性,組裝產品元件。

3)同時適時對產品元件進行單元測試和整合測試,實現對產品元件及整合的產品構件的驗證。

2.測試流程

(1)單元測試

(2)整合測試

3.缺陷管理與改錯

(1)在單元測試和整合測試過程中發,發現缺陷時,必須將缺陷記錄在《缺陷管理列表》或記錄進bug管理工具。

(2)開發人員消除缺陷後,測試開發人員應當馬上進行回歸測試,確保不會引入新的缺陷。

(3)測試人員發現缺陷後,填寫《缺陷管理列表》或bug管理工具中缺陷資訊項,並將其狀態置為「已建議」,提交專案經理。

(4)專案經理確認缺陷內容後,將其轉為相關人員解決或指派給相關人員解決,狀態改為「活動的」。

(5)當缺陷解決人員認為缺陷已經修復後,即可填寫《缺陷管理列表》或bug管理工具中相應項改為「已解決」,指派給原來的測試人員進行回測。

4.建立產品支援文件

在整個系統實現及測試過程中,負責文件的人員應當根據開發的進展及時編寫並調整相關產品支援文件。

第15章 制訂測試方案及編寫測試用例

1.測試資料收集與整理

(1)通用的資訊

(2)被測軟體的類別及構成

(3)被測軟體的使用者介面

2.檢查產品規格說明書

3.測試方案的制訂

(1)軟體的現狀及將來可能的發展

(2)現有資源及將來可能獲得的補充資源

(3)風險分析

(4)制定測試的策略

4.測試計畫書的編寫及要素

(1)測試計畫書衡量標準

(2)測試計畫內容

5.測試用例編寫

(1)單元測試用例編寫

(2)整合測試用例編寫

(3)系統測試用例編寫

第十六章 系統測試

1.系統測試簡述

系統測試的目的是對最終軟體系統進行全面的測試,確保最終軟體系統滿足產品需求並且遵循系統設計的標準和規定。採用黑盒測試的方法進行測試,只要內容有:功能測試,健壯性測試,效能--效率測試、使用者介面測試、安全性測試、壓力測試、可靠性測試、安裝/反安裝測試等。

2.系統測試內容

(1)使用者層

(2)應用層

(3)功能層

(4)子系統層

(5)協議/指標層

2.制訂系統測試計畫

(1)測試目標

(2)測試範圍

(3)測試方法

(4)測試環境與輔助工具

(5)測試完成準則

(6)人員與任務表

3.執行系統測試

(1)對於非嚴格系統可以採用「基於測試用例「的準則。

(2)對於嚴格系統,應採用「基於缺陷密度'的規則。

《程式設計珠璣》讀書報告

最後幾章還沒怎麼看,先寫這麼多吧。本章概括的講述了如何用程式解決問題,包括 準確的問題描述 程式設計以及實現。本章首先提出了乙個問題 如何給磁碟檔案排序?並說明應該先對問題進行準確的描述,將已知條件組織成一種更客觀 更易用的形式 輸入 輸出以及約束。在程式設計階段,應該充分理解問題的特點,選擇合適的...

numpy的讀書報告

numpy numpy是python中科學計算的基礎包。它是乙個python庫,提供多維陣列物件,各種派生物件 如掩碼陣列和矩陣 以及用於陣列快速操作的各種api,有包括數學 邏輯 形狀操作 排序 選擇 輸入輸出 離散傅利葉變換 基本線性代數,基本統計運算和隨機模擬等等。numpy包的核心是 nda...

matplotlib的讀書報告

matplotlib是python的乙個2d圖形庫,能夠生成各種格式的圖形 諸如折線圖,散點圖,直方圖等等 介面可互動 可以利用滑鼠對生成圖形進行點選操作 同時該2d圖形庫跨平台,即既可以在python指令碼中編碼操作,也可以在jupyter notebook中使用,以及其他平台都可以很方便的使用m...