《軟體測試實戰:微軟技術專家經驗總結》前言

liangshi發表於2014-03-14

經過一年多的研究和寫作,我的新書《軟體測試實戰:微軟技術專家經驗總結》即將上市(亞馬遜互動出版網已經開始預售)。此書由人民郵電出版社出版,圖靈社群提供線上支援(目錄、試讀、付費閱讀、圖書資訊、勘誤等)。期望讀者不吝賜教。

以下是我為此書撰寫的前言。

 

 

我在攻讀博士學位時開始研究軟體測試,畢業後一直任職測試工程師,從事第一線的測試工作,不知不覺已有十餘年的光陰。在此期間,我閱讀過大量的測試文獻,參與過多個不同型別的測試專案,既學到了許多有價值的方法,也觀察到了一些不太有效的實踐,既通過努力獲得過成功的經驗,也從錯誤中得到了寶貴的教訓。隨著經歷的增長,我漸漸構建出自己的知識體系,從實踐中打磨出一批指導測試工作的策略與經驗。自然而然,一個樸素的想法浮現出來:如果將我的所學所知分享給更多的測試工程師,想必能幫助他們節省學習與積累的時間,以更快地提高測試水平。在該想法的驅動下,我廣泛地閱讀了測試文獻,深入地反思了自己的實踐,並開始了漫長的寫作。成果就是您所讀到的這本書。

本書分享了我從事軟體測試工作所學到的知識和所總結的經驗,旨在幫助測試人員建立正確的觀念,並掌握一批切合實戰的測試技術。一方面,我總結了測試專家的見解和方法,將其精華內容綜述在本書之中,以幫助讀者提高學習效率、快速地掌握綜合性的技能。另一方面,我努力將自己的經驗和反思融入書稿,使它反映出我在工作中使用的策略、方法和技巧。總之,這是一本注重實效的書,嘗試用理論結合實踐的方式來解決現實的問題。

本書的組織方式

在概述一些基本測試觀點(第1章)之後,本書按照“啟發式測試策略模型”(參見4.2.1節)的基本元素來展開論述:觀察到的質量(第2章)、測試設計(第3、4、5、6章)、產品元素(第7章)和專案環境(第8章)。隨後,討論了測試人員如何參與團隊工作(第9章)並實施個人管理(第10章)。

  • 第1章闡述我對軟體測試的基本觀點,介紹了我的測試價值觀。作為指導原則,它們將貫穿全書的內容。
  • 第2章討論了測試人員最主要的工作產出——缺陷報告,介紹了一批實踐方法,幫助測試人員高質量地報告缺陷,並利用該過程來改進測試設計。
  • 第3章討論作為測試輔助工具的測試文件,介紹了一些編寫和維護文件的原則和方法。通過分析一批具體的測試文件,展示出測試設計的迭代性和多樣性。
  • 第4章介紹指導測試設計的模型,通過應用組合測試,闡述瞭如何根據專案語境來完善測試模型,然後介紹了測試建模的基本原則和常用方法。
  • 第5章介紹一個測試技術分類系統,以概覽各類測試技術。然後,討論了一批有價值的測試技術,包括啟發式測試先知、漫遊測試、快速測試、情景測試等。在此基礎上,強調了測試人員應該多樣地選擇測試技術,以動態地優化測試的價值。
  • 第6章討論了測試開發的基本分類,然後針對自動化測試、計算機輔助測試和大規模自動化測試,闡述了它們的基本概念、設計目標、開發策略和實作方法。
  • 第7章討論如何從測試視角來研究軟體產品和業務領域,介紹了靜態分析、動態分析、關係人研究、需求評審、測試調查、網路調研、領域研究等研究方法。
  • 第8章討論如何從測試視角來研究專案環境,介紹了團隊分析、缺陷分析、原始碼分析、構建分析、自動化測試分析、基於風險的測試等研究方法。
  • 第9章探討測試人員如何有效地在團隊中工作,以及如何恰當地實施測試管理。針對一些常見任務,如小組協作、測試計劃、工作量估算、軟體度量等,提出了一批註重實效的方法。
  • 第10章分享了我實施個人管理的基本方法,包含時間管理、個人學習、經驗積累、專業發展等。

目標讀者

本書的主要讀者是具備一定測試經驗、想要進一步提高測試能力的測試工程師。全書綜合了測試行家的專業建議和我的實踐經驗,探討了測試價值觀、測試設計、產品研究、專案研究、團隊協作、個人管理等多個方面,能夠幫助讀者更好地理解軟體測試,並提高實踐水平。本書的內容面向廣大的測試社群,並不要求讀者掌握特定的背景知識。我希望它能夠適合大多數測試人員,並通過解決現實問題來引起讀者的共鳴。

此外,本書是很好的軟體工程課程、軟體測試課程和測試培訓的參考資料,能幫助本科生、研究生和測試學員更好地理解真實的軟體測試。一些測試人員在工作後會發現,課程教材和培訓教程所描述的內容並不切合實際的測試工作。例如,課本中的測試設計和執行是線性實施的,真實測試流程卻是迭代展開的;缺陷報告常常是測試工作的核心產出,教材卻沒有討論如何有效地管理缺陷報告;測試人員被要求撰寫文件,其成果又被束之高閣,卻少有教程討論如何編寫有價值的文件。這時,他們可以參考本書所提出的建議,從而發展出更有效的工作策略。

如何閱讀本書

本書第1章討論軟體測試的基本事實和價值觀,是全書內容的基礎,需要首先閱讀。在讀完第1章後,讀者可以按任意順序閱讀本書。您既可以順序瀏覽,以概觀軟體測試,也可以有選擇地閱讀感興趣的章節,並在閱讀的過程中參考相關內容。

這是一本關於實踐的書,許多建議和方法來自於實踐。軟體開發專家Ralph E. Johnson 指出,“從實踐中來的知識在沒有實踐之前是無法被真正理解的”(practical knowledge has to be experienced to fully understood),測試專家Cem Kaner、James Bach等也認為“你不能掌握測試,除非你重新發明它”(You can’t master testing unless you reinvent it)。在閱讀過程中,讀者需要積極思考本書的方法是否適用於自己的專案,然後將恰當的方法應用於真實的測試,並認真評估其效果。通過練習、評估和反思,讀者能夠掌握方法的原理和細節,並混入自身經驗和其他技術,以演化出新的方法。堅持這樣的研究和創新將幫助測試人員走上精通之路。

致謝

作為作者,我誠摯感謝人民郵電出版社和北京圖靈文化發展有限公司為我提供創作的平臺。感謝本書的編輯王軍花、張霞等,你們的專業態度和細緻工作提升了本書的品質。

我還要感謝審稿人和推薦人的批評指教,你們的細心評閱和寶貴意見令我受益匪淺。謝謝你們的時間和智慧。

最後,我要感謝妻子湯紅紅,沒有你的理解和支援,我無法完成此書。我還要感謝兒子史泰德用歡笑帶給我快樂與能量,你令我想成為一個更好的人。感謝你們讓我夢想。

相關文章