出版時間:2009-2 出版社:Srinivasan Desikan、Gopalaswamy Ramesh、韓柯、 李娜 機械工業(yè)出版社 (2009-02出版) 作者:(?。┑衔骺希―esikan,S) 等 著 頁數:285
Tag標簽:無
前言
當今世界,軟件變得無處不在。消費者對此的期望大幅度增加,“軟件出錯很正常,我們必須接受這個事實”的舊觀點已經不再適用。如今,人們期望軟件能每時每刻地正常運行,并且要滿足客戶不斷變化的需求。早先,軟件系統用于后臺管理服務和非關鍵業(yè)務的操作?,F在,越來越多的關鍵應用都在全球實現。對無差錯運行軟件期望的提高,導致了對軟件供應商高品質產量需求的增長。反過來,在過去十幾年中,市場關注的焦點已從單純的編程和開發(fā)轉向更全面的目標:生產的軟件一直正常工作,因而更加關注對軟件的測試。在過去的十幾年中,測試已經引起人們的極大興趣。以下列舉一些事實:測試工作量的成倍增加提供了廣闊的職業(yè)發(fā)展機會;測試相關職位的薪資正在上升;測試已經成為重要的外包機會;過去五年,關于測試的會議和其他類似活動有了明顯的增加;越來越多的專業(yè)人士考慮把軟件測試作為職業(yè)。測試的工作方法為了跟上需求的增加也經歷了徹底的改變。首先,全球化是持久的?,F在的組織利用地域時差和全球的人才,向各大洲派遣開發(fā)和測試團隊,這些團隊共同無縫地工作。為了成功地推動這種新的全球化運作方式,公司必須掌握異地分布團隊這項工作的藝術。其次,測試已經從即興和偶然的嘗試,轉變?yōu)橐豁椣到y的、有計劃的活動,以完成所有過程并且通過科學的度量。第三,現在成功的測試需要謹慎地利用各種技術,滿足產品上市時間的要求。貫穿于測試生命周期的測試自動化也已經成為必需品而不是奢侈品。最后,人們對測試職業(yè)的看法也經歷了一種巨變——成功的公司應為測試專業(yè)人士提供職業(yè)發(fā)展途徑,鼓勵他們發(fā)揮聰明才智,以保證他們能夠長期供職于該公司和從事軟件測試這個職業(yè)。本書及時滿足了測試從業(yè)人員的需要,同時鼓舞了有志投身測試行業(yè)的專業(yè)人士和學生。
內容概要
《軟件測試原理與實踐》全面論述了軟件測試的基本原理和最佳實踐,介紹了最近出現的極限測試和即興測試等新的測試方法?!盾浖y試原理與實踐》介紹了全球團隊的個人、組織結構和模型等問題。在介紹綜合性理論知識的同時,強調實際經驗?!盾浖y試原理與實踐》在介紹黑盒測試和白盒測試等傳統方法的同時,還介紹了測試的很多實際問題,例如國際化測試和回歸測試等?! 盾浖y試原理與實踐》的突出特點是從工程實踐的角度,比較全面地討論棘手問題的具體應對方法和相應的風險,站在比較高的層次上討論軟件測試工程的整體把握方法。全書在各章附有許多實際問題的思考題,幫助讀者更深刻地理解這些現實問題?! 盾浖y試原理與實踐》可作為高等院校軟件工程和測試方面的基礎教材,對軟件開發(fā)和測試人員解決實際問題也有較高的參考價值。
作者簡介
作者:(印度)Srinivasan Desikan (印度)Gopalaswamy Ramesh 譯者:韓柯 李娜Srinivasan Desikan,印度班加羅爾市的西貝爾系統公司質量工程部主任,具有16年的產品測試經驗。所測試的產品正在被全世界數以百萬計的客戶使用。Srinivasan在測試自動化、測試管理、測試過程和測試團隊建立等方面有豐富的經驗。他經常在國際測試會議上發(fā)表演講,定期在多所大學舉辦講座。Srinivasan是印度技術學院的客座教授,并擔任多家印度測試公司的榮譽董事主任。
書籍目錄
出版者的話譯者序序前言第一部分 寫作線索第1章 測試原理1.1 生產軟件中的測試背景1.2 本章介紹1.3 不完善的車1.4 Dijkstra定律1.5 及時測試1.6 圣人和貓1.7 首先測試測試用例1.8 殺蟲劑悖論1.9 護航艦隊與破布1.10 橋上的警察1.11 鐘擺的終結1.12 黑衣人1.13 自動化綜合癥1.14 小結第2章 軟件開發(fā)生存周期模型2.1 軟件項目的階段2.1.1 需求獲取和分析2.1.2 策劃2.1.3 設計2.1.4 開發(fā)或編碼2.1.5 測試2.1.6 部署和維護2.2 質量、質量保證和質量控制2.3 測試、驗證和確認2.4 表示不同階段的過程模型2.5 生存周期模型2.5.1 瀑布模型2.5.2 原型和快速應用開發(fā)模型2.5.3 螺旋或迭代模型2.5.4 V字模型2.5.5 改進型V字模型2.5.6 各種生存周期模型的比較第二部分 測試類型第3章 白盒測試3.1 白盒測試的定義3.2 靜態(tài)測試3.2.1 人工靜態(tài)測試3.2.2 靜態(tài)分析工具3.3 結構測試3.3.1 單元/代碼功能測試3.3.2 代碼覆蓋測試3.3.3 代碼復雜度測試3.4 白盒測試中的挑戰(zhàn)第4章 黑盒測試4.1 黑盒測試的定義4.2 黑盒測試的意義4.3 黑盒測試的時機4.4 黑盒測試的方法4.4.1 基于需求的測試4.4.2 正面和負面測試4.4.3 邊界值分析4.4.4 決策表4.4.5 等價劃分4.4.6 基于狀態(tài)或基于圖的測試4.4.7 兼容性測試4.4.8 用戶文檔測試4.4.9 領域測試4.5 小結第5章 集成測試5.1 集成測試的定義5.2 集成測試作為一種測試類型5.2.1 自頂向下集成5.2.2 自底向上集成5.2.3 雙向集成5.2.4 系統集成5.2.5 選擇集成方法5.3 集成測試作為一個測試階段5.4 場景測試5.4.1 系統場景5.4.2 用例場景5.5 缺陷圍殲5.5.1 選擇缺陷圍殲的頻度和持續(xù)時間5.5.2 選擇合適的產品版本5.5.3 對缺陷圍殲的目標進行溝通5.5.4 建立和監(jiān)視實驗室5.5.5 采取行動解決問題5.5.6 優(yōu)化缺陷圍殲所涉及的工作5.6 小結第6章 系統測試和確認測試6.1 系統測試概述6.2 實施系統測試的原因6.3 功能測試與非功能測試6.4 功能系統測試6.4.1 設計/體系結構驗證6.4.2 業(yè)務垂直測試6.4.3 部署測試6.4.4 貝塔測試6.4.5 符合性的認證、標準和測試6.5 非功能系統測試6.5.1 設置配置6.5.2 提出進入與退出準則6.5.3 平衡關鍵資源6.5.4 可伸縮性測試6.5.5 可靠性測試6.5.6 壓力測試6.5.7 互操作性測試6.6 確認測試6.6.1 確認準則6.6.2 選擇確認測試的測試用例6.6.3 執(zhí)行確認測試6.7 測試階段小結6.7.1 多階段測試模型6.7.2 多個發(fā)布版本的處理6.7.3 誰負責實施與何時實施第7章 性能測試7.1 引論7.2 決定性能測試的要素7.3 性能測試的方法論7.3.1 收集需求7.3.2 編寫測試用例7.3.3 自動化性能測試用例7.3.4 執(zhí)行性能測試用例7.3.5 分析性能測試結果7.3.6 性能調諧7.3.7 性能基準測試7.3.8 能力策劃7.4 性能測試工具7.5 性能測試的過程7.6 挑戰(zhàn)第8章 回歸測試8.1 回歸測試的定義8.2 回歸測試的類型8.3 回歸測試的時機8.4 回歸測試的方法8.4.1 實施第一次“冒煙”或“摸底”測試8.4.2 理解選擇測試用例的準則8.4.3 測試用例分類8.4.4 選擇測試用例的方法論8.4.5 重新設置測試用例以進行回歸測試8.4.6 總結回歸測試的結果8.5 回歸測試的最佳實踐第9章 國際化[I18n]測試9.1 引言9.2 國際化介紹9.2.1 語言的定義9.2.2 字符集9.2.3 屬地9.2.4 本章使用的術語9.3 國際化測試的測試階段9.4 有效化測試9.5 屬地測試9.6 國際化確認9.7 假語言測試9.8 語言測試9.9 本地化測試9.10 國際化使用的工具9.11 挑戰(zhàn)與問題第10章 即興測試10.1 即興測試概述10.2 伙伴測試10.3 結對測試10.4 探索式測試10.5 迭代式測試10.6 敏捷與極限測試10.6.1 xP工作流10.6.2 通過例子進行小結10.7 缺陷播種10.8 小結第三部分 特殊測試專題第11章 面向對象系統的測試11.1 引言11.2 面向對象軟件入門11.3 面向對象測試的差別11.3.1 一組類的單元測試11.3.2 將類組合在一起——集成測試11.3.3 面向對象系統的系統測試與互操作11.3.4 面向對象系統的回歸測試11.3.5 面向對象系統的測試工具11.3.6 小結第12章 可使用性與易獲得性測試12.1 可使用性測試的定義12.2 可使用性測試的途徑12.3 可使用性測試的時機12.4 實現可使用性的方法12.5 可使用性的質量因素12.6 美感測試12.7 易獲得性測試12.7.1 基本易獲得性12.7.2 產品易獲得性12.8 可使用性工具12.9 可使用性實驗室的建立12.10 可使用性的測試角色12.11 小結第四部分 測試中的人員和組織問題第13章 常見人員問題13.1 關于測試的感覺和錯誤概念13.1.1 “測試沒有什么技術挑戰(zhàn)”13.1.2 “測試沒有為我提供職業(yè)成長道路13.1.3 “我被派來測試——我到底怎么了?!”13.1.4 “這些人是我的對手13.1.5 “測試是如果我有時間最終會做的工作”13.1.6 “測試的擁有者毫無意義13.1.7 “測試只是破壞13.2 測試與開發(fā)工作的比較13.3 為測試人員提供職業(yè)發(fā)展道路13.4 生態(tài)系統的角色與行動要求13.4.1 教育系統的角色13.4.2 高級管理層的角色13.4.3 測試界的角色第14章 測試團隊的組織結構14.1 組織結構的要素14.2 單產品公司的結構14.2.1 單產品公司的測試團隊結構14.2.2 按組件組織的測試團隊14.3 多產品公司的結構14.3.1 測試團隊作為“首席技術官辦公室”的一部分14.3.2 針對所有產品的單一測試團隊14.3 3按產品組織的測試團隊14.3.4 針對不同測試階段的獨立測試團隊14.3.5 混合模型14.4 全球化與地域分散的團隊對產品測試的影響14.4.1 全球化的業(yè)務影響14.4.2 全時區(qū)開發(fā),測試團隊模型14.4.3 測試能力中心模型14.4.4 壘球團隊面臨的挑戰(zhàn)14.5 測試服務公司14.5.1 測試服務的業(yè)務需求14.5.2 測試作為一種服務與產品測試公司之間的差別14.5.3 測試服務公司的典型角色和責任14.5.4 測試服務公司面臨的挑戰(zhàn)與問題14.6 測試公司的成功因素第五部分 測試管理與自動化第15章 測試策劃、管理、執(zhí)行與報告15.1 引言15.2 測試策劃15.2.1 準備測試計劃15.2.2 范圍管理:決定要測試和不測試的特性15.2.3 確定測試方法和策略15.2.4 確定測試準則15.2.5 確定責任、人員和培訓計劃15.2.6 確定資源需求15.2.7 確定測試的可交付產品15.2.8 測試任務:規(guī)模與工作量估計15.2.9 活動分解與進度估計15.2.10 溝通管理15.2.11 風險管理15.3 測試管理15.3.1 標準的選擇15.3.2 測試基礎設施管理15.3.3 測試人員管理15.3.4 與產品發(fā)布集成15.4 測試過程15.4.1 把各種要素放在一起并確定測試計劃基線15.4.2 測試用例規(guī)格說明15.4.3 可跟蹤性矩陣的更新15.4.4 確定有可能實現自動化的測試用例15.4.5 測試用例的開發(fā)和基線確立15.4.6 測試用例的執(zhí)行與可跟蹤性矩陣的更新15.4.7 指標的采集與分析15.4.8 準備測試總結報告15.4.9 推薦產品發(fā)布準則15.5 測試報告15.6 最佳實踐15.6.1 與過程相關的最佳實踐15.6.2 與人員相關的最佳實踐15.6.3 與技術相關的最佳實踐附錄A:測試策劃檢查單附錄B:測試計劃模板第16章 軟件測試自動化16.1 測試自動化的定義16.2 自動化使用的術語16.3 自動化所需的技能16.4 自動化的對象與范圍16.4.1 確定自動化負責的測試類型16.4.2 自動化不太可能變更的部分16.4.3 自動化測試符合標準16.4.4 自動化的管理問題16.5 自動化的設計和體系結構16.5.1 外部模塊16.5.2 場景與配置文件模塊16.5.3 測試用例與測試框架模塊16.5.4 工具與結果模塊16.5.5 報告生成器與報告/指標模塊16.6 測試工具/框架的一股需求16.7 自動化的過程模型16.8 測試工具的選擇16.8.1 選擇測試工具的準則16.8.2 工具選擇與部署步驟16.9 極限編程模型的自動化16.10 自動化中的挑戰(zhàn)16.11 小結第17章 測試指標和度量17.1 指標和度量的定義17.2 測試中指標的意義17.3 指標類型17.4 項目指標17.4.1 投入偏差(計劃投入與實際投入)17.4.2 計劃偏差(計劃與實際)17.4.3 不同階段內的投入分布17.5 進度指標17.5.1 測試缺陷指標17.5.2 開發(fā)缺陷指標17.6 生產力指標17.6.1 每100小時測試發(fā)現的缺陷數17.6.2 每100小時的測試用例執(zhí)行數17.6.3 每100小時的測試開發(fā)測試用例數17.6.4 每100個測試用例發(fā)現的缺陷數17.6.5 每100個失敗的測試用例缺陷數17.6.6 測試階段有效性17.6.7 已關閉缺陷的分布17.7 發(fā)布指標17.8 小結參考文獻
章節(jié)摘錄
第一部分 寫作線索第1章 測試原理1.1 生產軟件中的測試背景我們今天使用的幾乎一切東西都包含軟件。在軟件發(fā)展的早期,軟件用戶的數量與大公司相比還是很少的?,F在,一個典型的工作場所(或家里),差不多每個人都在使用計算機及軟件。管理人員使用生產率很高的辦公軟件(代替以前的打字機)。會計師及財務人員使用電子表格軟件和其他財務軟件包,比使用計算器(甚至手工)要快得多。公司和家里的每個人都用電子郵件和互聯網進行娛樂、教育、通信和交互,獲取任何想要的信息。另外,“技術”人員使用程序設計語言、建模工具、仿真工具和數據庫管理系統完成以前主要靠手工完成的任務。上面只是說明軟件的使用對于用戶來說“很明顯”的幾個例子。但是,軟件的無處不在和廣泛普及遠不止以上這些例子所揭示的那樣?,F在的軟件就像20世紀初的電一樣普及。我們在辦公室和家庭所使用的幾乎每一臺設備都嵌入大量的軟件,例如手機、電視、手表和冰箱以及廚房的每一件電器都有嵌入式軟件。另一個值得注意的現象是軟件在任務關鍵場合的使用,在這些場合出現失效是根本不能接受的。對于心臟起搏器軟件,決不能提議“請關機并重啟系統”!我們離不開的幾乎所有服務中都有軟件。銀行、航空管制、汽車等,驅動它們的軟件都是絕對不能失效的。這些軟件系統必須每時每刻、永久、可靠、可預見地運行。這些無所不在、廣泛使用和關鍵之處都對軟件的開發(fā)和部署提出了一定的要求。首先,開發(fā)軟件產品或提供服務的公司必須盡全力減少、最好消除每件所交付的軟件產品或服務中的缺陷。用戶越來越不能容忍劣質的軟件產品。從軟件開發(fā)公司的角度看,發(fā)布有缺陷的軟件產品在經濟上也不是可行的。比如,在電視機發(fā)運給成千上萬的用戶后,其中的嵌入式軟件被發(fā)現有一個缺陷。怎么可能發(fā)送“補丁”給這些用戶,要求他們“安裝補丁”?因此,唯一的解決方案是在產品交付用戶之前就一次做好。
編輯推薦
《軟件測試原理與實踐》從實用的角度對軟件測試進行了全面的闡述,討論了像極限測試和即興測試這類新興的領域。《軟件測試原理與實踐》特色:關注分散在全球地域的團隊。討論全球化團隊的人員、組織結構和模型問題。提供印度在測試方面的豐富經驗。越來越多的產品測試工作是在印度完成的,但是研究印度經驗或印度業(yè)務模型的專著卻很少?!盾浖y試原理與實踐》通過實例討論了印度的最佳測試實踐。在保持完整的理論體系基礎上,強調實踐經驗?!盾浖y試原理與實踐》在介紹諸如等價類劃分和圈復雜度等傳統方法的同時,還討論了測試的一些實際問題,例如國際化測試和回歸測試。
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載