全程軟體測試

全程軟體測試

本書以兩個典型項目為背景,按實際項目進行的先後次序,循序漸進地闡述了軟體測試的全過程。

基本信息

全程軟體測試

內容提要

本書還系統地介紹了測試管理的各個層次及其細節,包括測試策略制定、風險控制、缺陷跟蹤和分析、測試管理系統的套用等。最後,本書呈現了軟體測試成熟度模型和對軟體測試的總結和思考,幫助讀者了解軟體測試所面對的現實問題和應恪守的原則、領會測試方法的套用之道和品味測試的最佳實踐。

本書是作者長期從事軟體測試工作的經驗與智慧的結晶,是軟體測試工程師的良師益友。本書也可作為軟體開發人員、項目經理等的參考書,更適合用作軟體測試的培訓教材或教學用書。

編輯推薦

本書以兩個典型項目為背景,按實際項目進行的先後次序,循序漸進地闡述了軟體測試的全過程。從軟體項目啟動、需求評審、測試計畫開始,然後深入到測試用例設計、測試工具選擇、腳本開發、功能測試和系統測試等不同階段,生動地演繹了必需而實用的測試方法、技術和實施技巧。本書還系統地介紹了測試管理的各個層次及其細節,包括測試策略制定、風險控制、缺陷跟蹤和分析、測試管理系統的套用等。最後,本書呈現了軟體測試成熟度模型和對軟體測試的總結和思考,幫助讀者了解軟體測試所面對的現實問題和應恪守的原則、領會測試方法的套用之道和品味測試的最佳實踐。

本書是作者長期從事軟體測試工作的經驗與智慧的結晶,是軟體測試工程師的良師益友。本書也可作為軟體開發人員、項目經理等的參考書,更適合用作軟體測試的培訓教材或教學用書。

目錄

引子

第1章 測試項目啟動

1.1了解軟體的質量需求

1.1.1 軟體產品的質量需求

1.1.2 軟體質量的對立面——軟體缺陷

1.1.3 軟體缺陷產生的原因

1.1.4 究竟什麼是軟體測試

1.1.5 軟體測試的目標

1.2 選定測試組長

1.2.1 測試過程和開發過程的關係

1.2.2 測試組長的人選

1.2.3測試團隊在項目中的位置

1.3 掌控項目背景

1.3.1 軟體測試的項目要素

l.3.2 兩個典型項目的介紹

1.3.3 GoogleTalk客戶端功能簡介

1.3.4 Wleb套用——雅虎日曆功能介紹

1.4 制定測試規範

1.5小結

第2章 測試計畫

2.1 產品需求文檔審查和評審

2.1.1 需求評審的重要性

2.1.2 測試人員在需求評審中的角色

2.1.3需求評審的標準

2.2 項目的測試需求和任務

2.2.1 確定軟體功能測試需求

2.2.2 非功能性的系統測試需求

2.2.3 軟體即服務的測試需求

2.2.4 各個階段的測試任務

2.3 測試範圍分析和工作量估計

2.3.1 功能測試範圍的分析

2.3.2 系統測試範圍的分析

2.3.3 工作量的估計

2.3.4 工作分解結構表方法

2.3.5 工作量估計的實例

2.4 測試資源需求和團隊組建

2.4.1 測試資源需求

2.4.2 團隊組建

2.4.3 培訓

2.5 測試里程碑和進度安排

2.6 測試風險分析

2.7 制定有效的測試策略

2.8 完整生成測試計畫書

2.9小結

第3章 設計驗證

3.1 系統架構的審查

3.1.l 系統架構選型的確認

3.1.2 軟體設計評審標準

3.1.3 系統組件設計的審查

3.2 產品設計規格說明書的複審

3.2.1 重視設計規格說明書的審查

3.2.2 設計規格說明書的多層次審查

3.2.3 界面設計的評審

3.2.4 驗證過程與確認過程

……

第4章 測試設計

第5章 測試工具選擇和腳本開發

第6章 測試和編程的互動

第7章 功能測試的執行

第8章 國際化和本地化測試的執行

第9章 系統測試的執行

第10章 後續測試

第11章 測試的跟蹤管理

第12章 總結和思考

附錄A 軟體測試全景圖

附錄B 完整的項目檢查表

附錄C 測試計畫(GB8567-88)

附錄D 完整的測試工具列表

附錄E 代碼審查的示範性列表

附錄F 軟體測試術語中英文對照

附錄G 參考書目和資源

書摘

引子

在本書的開頭,有必要介紹軟體測試在軟體開發中的位置、地位和作用,也就是幫助讀者建立起有關軟體測試的基本輪廓(bigpicture),這樣對閱讀和理解以後各章的內容會有很大幫助。要建立起軟體測試的基本輪廓,也就需要回答下列幾個問題:

軟體測試的作用是什麼?

軟體測試在軟體開發生命周期(SDLC)中的位置在哪裡?

軟體測試過程是怎樣的?

軟體測試團隊的地位如何?

軟體測試和軟體質量保證(SQA)有何區別?

下面我們先簡單回答這些問題。即使您不能完全理解也不要急,後面會逐步幫助您解開軟體測試之謎。但有一點是明確的,在看完這段“引子”後,您對軟體測試會有一個整體的認識,從而不至於陷入“盲人摸象”的困境。

1.軟體測試的作用

在購買商品時,會發現商品上貼有一個“QC”標籤,這就是產品經過質量檢驗(QualityControl)的標誌。軟體測試就好比製造工廠的質量檢驗工作,是對軟體產品和階段性工作成果進行質量檢驗,力求發現其中的各種缺陷,並督促修正缺陷,從而控制和保證軟體產品的質量。所以,軟體測試是軟體公司致力於提高軟體產品質量的重要手段之一。

2.軟體測試在SDLC中的位置

在著名的軟體瀑布模型中,軟體測試處在“編程”的下游,在“軟體維護”的上游,先有編程後有測試,測試的位置很清楚,但瀑布模型沒有反映SDLC的本質,沒能準確無誤地反映測試的位置。

實際上,測試貫穿整個SDLC,從需求評審、設計評審開始,就介入到軟體產品的開發活動或軟體項目實施中了。測試人員藉助於需求定義的閱讀、討論和審查,不僅能發現需求定義的問題,而且可以了解產品的設計特性、用戶的真正需求,進而確定測試目標,準備用例(UseCase)並策劃測試活動。同理,在軟體設計階段,測試人員可以了解系統是如何實現的,以及構建在什麼樣的平台之上等各類問題,這樣可以提前準備系統的測試環境,包括硬體和第三方軟體的採購,並著手研究如何測試系統,完成系統測試用例設計、測試工具的選型或啟動測試工具的開發,進一步完善測試計畫等。所有這些準備工作,都要花去很多時間,應儘早開展起來。

當設計人員在做詳細設計時,測試人員就應直接參與具體的設計、參與設計的評審,找出設計的缺陷。同時,完成功能特性測試的用例,並基於這些測試用例開發測試腳本。

在編程階段就進行單元測試,是一種很有效的辦法,可以儘快找出程式中的錯誤。充分的單元測試可以大幅度提高程式質量,減少開發成本。

軟體測試在SDLC中的位置,可以通過圖0-1充分地體現出來。軟體測試和軟體開發構成一個全過程的互動、協作的關係,兩者自始至終一起工作,共同致力於同一個目標——按時、高質量地完成項目。

圖0-1軟體測試和SDLC的關係

3.軟體測試過程

軟體測試的全過程,要經歷如圖0-2所示的很多個裡程碑,其中主要的里程碑有:

產品需求文檔(PRD)或市場需求文檔(MRD)的評審和簽發;

產品規格說明書(Spec)的評審和簽發;

測試計畫、測試計畫書的評審和簽發;

測試用例的設計、評審和簽發;

功能測試;

系統測試;

驗收測試。

圖0-2測試全過程的跟蹤示意圖

4.軟體測試團隊的地位

在軟體開發中,雖然有很多角色,有各種各樣的人員參與,包括項目經理、產品經理、UI(用戶界面)設計人員、文檔人員等,但最大的兩個團隊就是測試團隊和開發團隊(由設計人員/程式設計師組成),也就是說,在一個軟體公司,測試人員和程式設計師,占有最大比重。當然,有些軟體公司,銷售人員或客戶支持人員也比較多。由此可見,軟體測試團隊的地位應該是舉足輕重的。

5.軟體測試和SQA的區別

如前面所說,軟體測試屬於軟體控制,它和SQA(質量保證)的區別概括起來有4點,見表0-1。

表0-1

項目 軟體測試 SQA

工作性質 技術性工作 管理性工作

對象 軟體產品(包括階段性產品) 軟體過程

焦點事後檢驗強調預防

範圍 在研發(R&D)部門或技術部門 在公司層次,跨所有部門,包括市場、銷售、客戶服務、行政、後勤、人事等部門

相關詞條

相關搜尋

熱門詞條

聯絡我們