今天有同行在blog上留言,問「想從功能測試轉向性能測試,但不知道須要哪些瞭解哪些知識,及怎樣進行一個系統的學習」。這類問題以前也被問到不少次了,因此此次乾脆整理一下,發個主題供同行們參考。若是須要補充,也歡迎你們留言一塊兒討論。html
若是想真的作好性能測試,須要學習的東西仍是比較多的。簡單列一下吧。web
1. 精通性能測試的基本概念,過程,方法論,瞭解性能工程;
2. 精通1個商業性能測試工具+1個開源性能測試工具,知道工具能夠作什麼,不能夠作什麼,以及工具使用中常見的問題和解決思路;
3. 紮實的計算機專業基礎知識,包括計算機組成原理、操做系統、數據庫原理、計算機網絡原理;
4. 熟悉至少1個經常使用的數據庫產品,例如SQL Server或者 Oracle,能進行通常的數據庫管理操做,熟悉SQL腳本的使用,熟悉經常使用的數據調優工具和經常使用的counter;
5. 熟悉至少一個操做系統的原理,Windows或者Linux均可以,熟悉操做系統的體系架構、操做系統的重要基礎概念,以及內存管理、存儲/文件系統、驅動/硬件的管理、網絡協議的實現及構成、性能的監控方法和原理,熟悉經常使用的counter;
6. 熟悉至少一個web server 產品,例如apache,瞭解通常的配置和經常使用的counter;
7. 熟悉至少一個應用服務器產品,例如tomcat,瞭解通常的配置,熟悉經常使用的服務器性能監控方法和原理,熟悉經常使用的counter;
8. 至少熟悉TCP/IP協議,熟悉HTTP協議,至少見過並瞭解三層、四層交換或者路由器的使用和配置。瞭解經常使用的與網絡性能相關的counter;
9. 瞭解通常的大型企業應用的部署架構和應用架構;
10. 瞭解知名大型web應用、高併發量、高流量、實時響應要求高的超大規模網站的架構和優化歷程;
11. 熟悉統計學的基礎知識、經常使用分析方法以及實驗設計方法,瞭解數學建模相關的知識;
12. 熟悉專屬行業的業務知識和用戶場景,例如電信行業的OSS系統所涉及的業務知識和用戶場景,證券交易系統所涉及的業務知識和用戶場景;
13. 大量的實際性能測試及優化經驗;
14. 積極的參與到各種圈子、社團的討論和交流、分享中。數據庫
暫時先想到了這麼多,有興趣的朋友能夠一塊兒討論一下,相信每一個人都有本身不一樣的經歷和感想,能夠跟其餘人分享一下,提供參考。
另外,我以前也整理髮布過很多性能測試方面的資料,從入門級的文章到 升級的必讀都有一些,有興趣能夠參考。apache
資料收集:高併發 高性能 高擴展性 Web 2.0 站點架構設計及優化策略
http://www.cnblogs.com/jackei/archive/2007/10/07/915931.htmltomcat
最全,最強的軟件測試資料彙總 (性能測試,性能調優,功能測試,自動化測試,測試管理,測試工具,測試用例設計,缺陷分析預防,前沿測試技術...)
http://www.cnblogs.com/jackei/archive/2007/02/06/641647.html服務器
(更新到 2007-6-14) 兩個新的系列文章的寫做計劃——《LoadRunner 沒有告訴你的》和《JMeter從入門到精通》
http://www.cnblogs.com/jackei/archive/2006/12/04/558720.html網絡
不按期整理推薦 InfoQ 上面的優秀文章 ^_^ [UPDATED: 2008-6-20] —— 部分關於性能測試和優化,以及架構設計的優秀文章
http://www.cnblogs.com/jackei/archive/2007/09/22/902401.html架構
軟件性能測試——blog上關於性能測試文章的所有列表
http://www.cnblogs.com/jackei/category/32808.html?Show=All併發