軟體測試的藝術 讀書筆記 五

2021-10-20 08:35:33 字數 3333 閱讀 8678

當程式無法實現其終端使用者的要求的合理功能時,就發生了乙個軟體錯誤

軟體開發過程 :溝通有關最終程式的資訊,並將資訊從一種形式轉換到另一種形式。由於資訊的轉化,大部分軟體錯誤都可以歸結為資訊溝通和轉換時發生的故障、差錯、干擾。

解決辦法 :

在產生需求和設計的時候每一步的輸出和上一步要的結果做驗證,驗證有不一致或者不清楚的地方,需要反饋到這一步設計過程中解決

在不同階段採用不同的測試方法,將測試過程針對每一步的輸出和原來的期望做對比,多個測試過程可以並行;

不同測試階段的定義 :

功能測試 : 發現程式與外部規格說明書之間存在不一致的過程

外部規格說明書: 乙份從終端使用者的角度對程式行為的精確描述

功能測試主要使用黑盒的測試方法,對規格說明書的進行分析加以提煉,分析使用者使用場景,輸出測試用例,

注意:跟蹤那些功能暴露出的錯誤最多,與之關聯的功能可能還存在著更多尚未被發現的錯誤

對無效和未預想到的輸入給予足夠的重視

目的:為了暴露程式的錯誤以及發現程式與規格說明書中的不一致之處,而不是為了證明其符合規格說明書

系統測試 : 將系統或者產品與其初始目標進行比較,尋找不一致的過程

系統測試並不侷限與系統,如果產品是乙個程式,就是將這個程式作為整體判斷是否滿足其目標

根據定義,如果乙個產品沒有書面的,可度量的目標,系統測試也就無法進行

系統測試的問題:

外部規格說明書,不能作為系統測試用例的基礎,

目標文件對系統的描述不能表示測試用例,有可能含糊而有用的描述

解決辦法 :

分析目標文件來設計測試用例

分析使用者文件來闡明測試用例

系統測試 : 系統測試採用了多種不同的測試用例設計方法,不是描述一項技術,而是討論不同型別的系統測試用例

系統測試的分類: 根據實際情況選取

序號分類說明1

能力測試

確保程式的目標功能實現

2容量測試

發現程式處理大容量時的程式異常,容量的大小

3強度測試

發現大規模負載,高強度不間斷持續的資料處理中的異常

4可用性測試

評估終端使用者在使用軟體並與軟體互動的可用性問題

安全性測試

試圖攻破程式的安全防線

6效能測試

評估系統的響應時間和吞吐量瓶頸

7配置測試

檢查程式在預設的配置上能否正常執行和配置引數的修改,生效

8儲存測試

確保程式正確處理對儲存的需求,物理儲存 和資料庫儲存,

9相容性/轉換測試測試

評估新版本能否相容老版本

10安裝測試

確保程式在支援的平台能夠安裝成功

11可靠性測試

評估程式是否能夠達到規格說明書的執行時長和平均故障要求

12可恢復性測試

測試系統恢復相關功能是否按照設計要求

13服務/可維護性測試

評估系統是否有良好的資料處理、日誌系統,監控系統方便運維

14文件測試

校驗所有使用者文件是否準確

15過程測試

對軟體系統操作或維護所需涉及的流程進行評估和確定

定義 : 對比使用者提供文件,判斷程式是否滿足文件中要求的能力,

注意 : 區別於功能測試,功能測試的對需求文件進行檢查

定義 : 證明程式能夠處理大容量資料的最大能力,超過這個容量系統奔潰;

定義 : 短時間內達到資料或操作的數量峰值, 資料浪湧, 強度測試相對,容量測試考慮時間因素,

注意 : 應該分析軟體的使用者群,根據實際情況做強度測試,體現出訪問站點的最大人群情況

定義 : 又叫使用者體驗測試,人機互動測試

定義 : 軟體使用過程,不能有資料的洩露,被竊取,不能被黑客攻擊,導致系統奔潰;

定義 : 在特定的負載和配置的環境下,程式響應時間和吞吐量,滿足一定的目標

定義 : 程式有儲存目標,需要檢查儲存檔案的容量,臨時檔案的大小,磁碟儲存溢位的情況

定義 : 大型程式有很多配置引數,不同的配置對應不同的執行環境,測試配置是否生效和滿足預期情況

定義 : 相容性測試有新版本相容舊版本,新系統相容舊系統轉換過來的資料, 不同中斷裝置之間的相容

定義 ;  有些軟體的安裝特別複雜,測試安裝在不同系統或者裝置上能否成功是測試的乙個重要部分

定義 : 對軟體可靠性進行定量的評估或驗證,為了達到和驗證軟體的可靠性定量要求而對軟體進行的測試 , 發現軟體中可能發生的故障,對這些故障做可靠性方案設計,保證軟體可靠,任何情況下能夠提供服務;

定義 : 部分軟體有可恢復性測試要求,如果發生某些位置情況可以恢復到初始狀態或者指定狀態的可恢復性測試

定義 : 可維護性目標是指具有運維功能的提供,方便定位,方便除錯,方便分析問題,能夠快速修復系統或程式的測試;

定義 :檢查使用者文件的正確性,介面文件的正確定

定義: 較大的系統都會提供操作文件,要按照操作文件的提示,對提供的操作過程進行測試,因為實際操作的可能不專業,所以過程要寫的非常清晰和正確

定義: 驗收測試一般由客戶來完成驗收測試,不是開發機構的責任

注意 : 測試人員已經從客戶角度做了完整的測試,客戶可能仍然能測試出問題

定義 : 發現軟體安裝中可能會出現的問題,軟體安裝時軟體發布必須提供的內容,確保不能出錯

問題1 : 在測試過程中最常出現的錯誤是預設不會發現軟體缺陷,證明軟體滿足功能,這個錯誤帶來的結果是對計畫投入的資源估計不足,容易造成計畫不準確?

問題2:團隊對軟體測試的定義有誤,  測試的目標是發現錯誤(團隊不一定都有這樣的共識),上線有可能出現問題,造成重新測試的情況?

乙個良好的測試計畫應該包括:

目標定義每個測試階段的目標明確測試範圍

結束準則

制定測試結束的標準

進度測試設計,測試指令碼編寫,測試執行到完成的具體時間安排

責任每個階段由誰來設計,編寫和執行測試用例,對測試結果負責

測試用例庫和標準

公用測試工具庫或者直接可以使用的開源庫等

測試工具

必須的測試工具,如果不具備可能還需要採購

環境準備時間

開始測試之前需要準備的時間,軟體的安裝,機器的採購等。

配置硬體的配置和軟體配置說明文件,盡量詳細。

整合測試過程中一般是先模組測試,最終會整合測試,保證測試測試質量

跟蹤步驟

測試過程中的缺陷跟蹤,進度跟蹤等,風險控等,需要跟蹤測試過程中的方方面面

除錯步驟

測試過程中提出的缺陷需要跟蹤修改,聽過除錯定位問題,發現問題,再去解決問題

回歸測試

對程式做了優化和修改之後進行完整的回歸測試,判斷修改是否引起了其他問題和優化確實已經實現。

《軟體測試的藝術》讀書筆記(上)

一 測試的目的。測試是為發現錯誤而執行程式的過程。乙個成功的測試用例 是發現程式中存在錯誤的測試用例。二 測試用例設計的原則 1 測試用例中乙個必需部分是對預期輸出進行定義。2 測試用例的編寫不僅應當根據有效和預料到的輸入情況,而且也應當根據無效和未預料到的輸入情況。3 檢查程式是否 未做其應該做的...

軟體測試的藝術 讀書筆記 七

類別描述 連線裝置硬體配置 網路速度 網路延時 偏遠地區網路可用性 服務可靠性 裝置多樣性 測試不同裝置web,android ios 測試的不同的語言版本 裝置的各種限制 優先的處理器和記憶體資源 不同螢幕尺寸 多作業系統 多工應用的這次 快取資料的大小 輸入裝置 觸控螢幕觸控筆 滑鼠鍵盤 按鍵滾...

軟體測試的藝術 讀書筆記 六

網際網路平台的開放性和易訪問性,使用者對 的期望很高,市場競爭激烈,如果無法提供快速響應和直觀的瀏覽 查詢功能 使用者就很有可能轉向競爭對手的 第一層 web層,顯示層或表示層,視覺化內容提供給終端使用者 第二層 業務層 處理業務流程,有事務處理,使用者身份鑑定,資料確認,程式日誌 等 第三層 資料...