性能測試診斷分析與最佳化

圖書信息

測試實踐叢書
《性能測試診斷分析與最佳化》
陳能技 郭柏雅 編著

性能測試診斷分析與最佳化性能測試診斷分析與最佳化

ISBN 978-7-121-16745-4
2012年6月出版
定價:55.00元
16開
376頁
Web性能測試的專業工具書,
軟體測試工程師的良師益友。

內容簡介

性能測試是軟體系統健康持續運行的前提,在軟體系統上線之前,必須由性能測試工程師採用合理的測試策略,設計相應的性能測試方案,對軟體系統實施性能測試、壓力測試、負載測試等。性能測試往往能在軟體系統上線前揭露軟體系統的性能問題,如何診斷分析軟體系統的性能瓶頸是軟體開發團隊實施性能最佳化的關鍵。
本書結合主流性能測試工具LoadRunner,講解性能測試過程、方法和技術;結合筆者豐富的性能診斷調優經驗,講解如何有效分析和診斷性能問題、發現性能瓶頸。
本書分為3篇,第1篇是性能測試基礎篇,主要介紹性能測試的基礎知識;第2篇是性能測試工具篇,主要介紹如何使用主流的性能測試工具LoadRunner進行性能腳本設計、性能場景設計和性能結果分析;第3篇是性能問題診斷分析篇,主要介紹如何分析、定位性能瓶頸,涵蓋Web伺服器、套用伺服器、資料庫、套用代碼、作業系統等層面的診斷分析。
本書適合性能測試工程師、軟體開發工程師、系統設計工程師閱讀,也可作為高等院校相關專業師生的參考書。

作者介紹

陳能技
資深軟體測試專家,廣州億能測試技術服務有限公司創始人。
10年軟體測試和質量管理經驗。熟悉軟體自動化測試、性能測試、安全測試及相關工具的套用。曾主導多個大型軟體項目的測試和質量保證工作,包括:飛機維修跟蹤管理系統、IETM技術資料管理系統、物流管理系統等。為多家企業進行軟體測試方面的培訓和諮詢顧問,包括:上海阿爾斯通、施耐德、深圳空管站、廣電運通、中國南車、廈門35互聯、廣州數控、易方達、貴州電網、環球市場集團等。
著有《軟體測試技術大全》、《.NET軟體測試實戰技術大全》、《QTP自動化測試進階》、《軟體自動化測試成功之道》等多本暢銷書。
創辦自動化測試資訊網
郭柏雅
來自美麗的海上花園城市廈門的一個平凡的軟體測試工程師,是7dtest、祿澤測試論壇版主、祿澤教育特約高級講師。多年來一直致力於研究銀行業商業智慧型數據服務、數據類型項目測試和軟體性能測試診斷分析最佳化技術工作。多次幫助商業銀行客戶解決生產故障問題,為他們提供測試諮詢支持工作。目前擔任公司測試主管,具有豐富的測試團隊管理、自動化測試工作經驗。一直以來受當地多家IT公司邀請提供軟體性能測試和診斷分析最佳化技術指導培訓工作,多次受當地高校邀請為畢業生做就業培訓指導工作。

業界熱評

當前的軟體性能測試領域,不光要關注如何在前端通過分析AUT的業務場景來構建負載模型,更需要在後端系統的監控、性能診斷和調優方面做更多有價值的工作。這本百科全書式的性能測試書籍,尤其在這方面做了非常有特點的探索和實踐經驗總結,相當值得一讀。
夏海濤
今日線上科技發展有限公司 副總經理兼技術總監
本書深入分析介紹軟體性能測試各階段如何介入工作,對於準備在公司組建性能測試體系流程管理的以及對於熱衷於性能診斷分析最佳化技術的朋友提供了很好的引導方向,是一本很有實用價值的書!
Zee 7dtest創建者
在企業級套用軟體開發過程中,為了提升套用版本上線質量,引入第三方測試諮詢團隊已成為趨勢。作為一本全面系統地介紹套用性能測試診斷分析與最佳化的書,相信本書的出版,將給更多有志於性能測試方向的工程師提供指引。
程永新
新炬網路 常務副總經理

推薦序一

初識泊涯是在2007年,當時他出差到北京,於是不謀而合地相約見面。在後海的餐廳一起討論軟體測試、性能測試和性能調優等。離別後還相約下次見面,但誰知造物弄人,只能在網上和電話中相見了。相隔幾年後,得知泊涯同學要出書了,就自告奮勇幫他寫下序。
閱讀泊涯這本《性能測試診斷分析與最佳化》時,讓我想起兒時母親給我講過的18顆櫻桃,18次彎腰的故事,歌德在他的《敘事謠曲》中講了這么一則小故事:耶穌帶著門徒彼得遠行,路上看到一塊小小的馬蹄鐵,便讓彼得撿起來,但彼得懶得彎腰,假裝沒聽見。耶穌沒說什麼,自己撿起馬蹄鐵,路過城鎮時到鐵匠鋪換了三文錢,又用這錢買了18顆櫻桃。兩人繼續前行,經過的地方全是茫茫的荒野,耶穌知道彼得又渴又餓,就將藏於袖中的櫻桃掉出一顆,彼得慌忙撿起來吃掉。耶穌邊走邊丟,彼得也就狼狽不堪地彎了18次腰。 耶穌笑了,對彼得說:“如果當初你彎一次腰,就不會在後來沒完沒了地彎腰了。小事不乾,將來就會在更小的事情上操勞。”
對於這個故事,不同的人從不同的方面可能有不同的感悟和理解。作為一個多年的IT從業者,自然而然就想起了軟體的測試過程。軟體測試是一項龐大而複雜的工作,小到每一個測試用例的實施,為了確保軟體的質量,測試中每一個“小事”都要做好。軟體測試工作瑣碎、繁雜又耗時間,而性能測試領域更是需要關注每一個細微的變化,任何一個指標的分析。
作者是業內資深的性能測試人士,具備多年軟體開發和軟體測試工作經驗。這本《性能測試診斷分析與最佳化》是作者與能技兄多年來的工作經驗積累,在軟體開發、軟體測試流程、軟體工程、流程制定和改進、質量保證、自動化測試等領域有深厚的造詣。作者重點聚集在實踐性,從軟體測試項目啟動、測試計畫開始,到測試用例編寫,功能測試到項目上線運行中性能問題的分析及解決做了詳盡的闡述。
在解決軟體運行中的性能問題,本書全面闡述了性能測試中理論分析和詳細的實戰經驗,對長期從事軟體測試的技術人員具有重要的參考價值。
在軟體產業飛速發展的十多年間,軟體測試已經滲入到IT行業的各個領域,成為不可缺少的技術。越來越多的軟體公司將更多的時間和精力投向了測試工作。很多公司測試人員與開發人員的比例已經由以前的1︰5或1︰6,變為現在接近1︰1。
目前,金融、電信、遊戲、電子商務及通用軟體等都投入大量資金用於測試。為保證軟體的質量及性能的穩定性,減少使用過程中的維護次數及費用,軟體測試已成為影響軟體企業生產質量的關鍵問題。性能測試也被提到了前所未有的高度,性能測試技術是一個綜合的技能,希望本書能夠為同行業者提供有益的指導。
祿澤教育總經理 趙智乾

推薦序二

受多年好友能技兄所託,要我給他的新書作推薦序,心中難免有些驚訝。既欣賞其對技術的鑽研和執著精神,又佩服其毫不吝惜地將自身辛苦積累的實踐經驗總結出來,以書籍的形式傳播這些知識。於是動容,於是欣然動筆。
技術的發展是一把雙刃劍,既給人們帶來了便利和好處,又給人們帶來了新的問題。比如隨著軟體技術的快速發展,一方面使人們可以快速地開發更加複雜的套用系統,另一方面也使開發出的套用系統架構越來越複雜、規模也越來越大。隨之而來的則是系統性能問題越來越多,尤其是在業務尖峰時段出現的系統反應慢、回響時間過長、事務處理能力弱,甚至於系統崩潰的現象也屢有發生。從而導致所開發的套用系統由於性能問題最終被停止使用,不僅給企業自身造成了損失,還有可能造成不良的社會影響,如最近發生的鐵道部網上訂票網站性能問題等。因此,如何測試並準確定位和分析解決套用系統的性能問題,對企業自身和用戶都有著極為重要的現實意義。
本書給出了上述問題的答案!首先講述了性能測試基礎知識和性能測試工具的使用,在此基礎上再對性能問題的診斷和分析技術進行了詳細闡述。本書在傳遞性能基礎知識的同時,告訴我們如何套用工具來測試套用系統性能,診斷和定位分析套用系統的性能問題。這是本書的特色,也是本書與以往的性能測試技術類書籍的不同之處。
本書結合了作者豐富的性能測試實踐經驗,深入淺出地闡述了最實用的性能測試和性能診斷分析技術知識,相信這些實踐經驗的總結,也是很多測試人員所需要的。整本書的知識結構清晰、脈絡分明、循序漸進、循循善誘,對於有志於學習和提高自身性能測試實戰能力的讀者而言,確為一本不可多得的好書。
我很高興能為這本以實踐經驗為基礎寫成的實戰性非常強的作品作推薦序,預祝《性能測試診斷分析與最佳化》能夠早日出版。也希望國內有更多的人來關注性能測試,更好地探討、解決軟體性能問題的技術和方法,共同促進我國軟體質量水平的不斷提高。
中國賽寶實驗室軟體評測中心 商用軟體測試部主任 姚日煌
2012年4月23日

前 言

軟體系統是企業IT的核心,軟體系統的質量影響著企業的運轉、業務的開展,除了軟體系統的功能正確性外,軟體系統的質量還包括性能、安全性、可靠性等。
軟體性能問題遍布各種行業領域的軟體系統,例如金融業務服務系統、電子商務網站、移動互聯套用系統、網路遊戲、嵌入式軟體系統等。在競爭日趨激烈的商業環境下,為了滿足用戶日益增加的體驗需求,軟體系統的性能最佳化被提到了前所未有的高度,您的軟體系統比競爭對手快1秒,您就有可能比競爭對手多賺100萬!
軟體性能最佳化離不開性能測試,全面的性能最佳化需要全過程的性能測試解決方案,包括性能需求分析、性能設計、性能系統測試、性能診斷分析與調優。
在軟體生命周期的需求分析階段,需要對軟體性能的需求作出定義,並進行需求分析,尤其是軟體性能需求的可測試性分析,這有利於後續開展性能架構設計和性能測試的工作。
在設計階段,尤其是架構設計階段,應該對軟體系統的性能架構進行充分設計、原型評估,必要時在這個階段可進行小規模的性能驗證性測試,以便論證系統架構在性能上的可擴展性。
在代碼設計階段,需要按照指定的開發規範進行軟體開發。為了獲得最佳的性能體驗,需要從每個細節入手確保軟體性能,及時進行代碼性能檢查和評估。
系統的性能測試可分為負載測試、壓力測試、耐力測試、容量測試等多種類型,不同類型的性能測試側重點不同,需要根據軟體系統特點和項目類型進行選擇。
軟體系統的性能瓶頸可能出現在各個環節,例如資料庫、中間件套用伺服器、Web伺服器、網路、代碼層。性能瓶頸的定位和診斷分析需要熟悉軟體系統的各個方面,通常需要多種項目成員角色配合一起完成,例如DBA、系統管理員、網路管理員、設計人員、測試人員等。
本書結合主流的性能測試工具LoadRunner,講解性能測試過程、方法和技術。另外,結合筆者多年性能測試和性能最佳化經驗,詳細講解了軟體系統常見的性能瓶頸,以及如何發現、診斷分析這些性能瓶頸,從而提出性能最佳化方案。
本書的內容安排
本書分為3篇,共10章,從軟體性能測試的基本概念講起,再進一步介紹性能測試的基本方法和流程,然後基於LoadRunner介紹性能測試工具的使用方法、測試腳本的開發技巧,以及性能場景設計、性能測試結果分析,之後結合主流作業系統、Web伺服器、套用伺服器和資料庫,從多方面、多角度出發詳細講解性能問題的診斷分析技巧。
第1篇 性能測試基礎篇(第1章和第2章)
講述了性能測試的基礎知識,性能測試基本流程。這兩章內容是性能測試工程師必須具備的基礎知識。
第2篇 性能測試工具篇(第3章到第5章)
性能測試工具是性能測試工程師的基本“裝備”,掌握性能測試工具的基本使用方法,才有可能順利開展性能測試和性能監控,以及後續的性能分析診斷、性能最佳化工作。LoadRunner作為業界主流的性能測試工具,是性能測試工程師必備的“利器”。第3章到第5章的內容涵蓋LoadRunner性能測試工具的使用、腳本開發、場景設計與運行、測試結果分析等內容。
第3篇 性能問題診斷分析篇(第6章到第10章)
性能瓶頸可能出現在軟體系統的各個方面,第6章到第10章的內容分別從Web伺服器、套用伺服器、資料庫伺服器、應用程式代碼、作業系統等層面進行性能問題的分析診斷。讓性能測試工程師可以藉助筆者總結的豐富經驗,套用於實際性能測試項目的性能問題診斷分析最佳化。
本書由淺入深,由理論到實踐,尤其適合初級讀者逐步學習和完善自己的性能測試方面的知識結構,加上LoadRunner性能測試工具的套用技巧和性能瓶頸的分析診斷技巧,是性能測試團隊和性能測試工程師的案頭指南和最佳實踐指導。
本書特色
本書在講解性能測試過程、性能測試工具LoadRunner的使用,以及性能問題診斷分析的過程中,通過詳細的例子進行分析,讓讀者可以通過例子理解,並且可以自己進行嘗試,非常適合獨立學習和研究性能測試技術、性能最佳化技巧的初級測試工程師參考使用。
本書以循序漸進的方式講解了性能測試的基本知識,結合LoadRunner的使用,深入講解性能測試腳本的開發,在講解性能診斷分析技術時,涉及目前流行的Web伺服器、套用伺服器、資料庫伺服器等方面的內容,例如Apache、Tomcat、WebLogic、Oracle、Linux等。
在講解性能診斷分析技術時,首先分析系統組件的架構原理,再介紹性能監控的方法,最後引出性能問題出現的原因和診斷分析的技巧,以及調優的方法。
適合閱讀本書的讀者
本書面向使用LoadRunner等性能測試工具進行性能測試的測試工程師、QA,以及希望了解性能測試的測試員,希望掌握性能診斷分析技術的軟體工程師。
編 者
2012年4月

目 錄

第1篇 性能測試基礎篇
第1章 性能測試基礎 2
第2章 性能測試流程 31
第2篇 性能測試工具篇
第3章 LoadRunner腳本開發 66
第4章 LoadRunner場景設計與運行 132
第5章 LoadRunner測試結果分析 154
第3篇 性能問題診斷分析篇
第6章 Web服務性能問題診斷分析 166
第7章 套用服務性能問題診斷分析 179
第8章 資料庫服務性能問題診斷分析 234
第9章 套用代碼性能診斷分析 261
第10章 作業系統性能問題診斷分析 318
附錄 參考書目和資源 357

相關詞條

熱門詞條

聯絡我們