轉眼間來公司已經(jīng)快一年了,在這一年里收獲多多感觸多多。一直想寫一篇總結,由于各種瑣事以及感覺想法的不成熟,一推再推。

  1、分享第一條經(jīng)驗:“學歷代表過去、能力代表現(xiàn)在、學習力代表未來。”其實這是一個來自國外教育領域的一個研究結果。相信工作過幾年、十幾年的朋友對這個道理有些體會吧。但我相信這一點也很重要:“重要的道理明白太晚將抱憾終生!”所以放在每一條,所以無論如何都要努力學習,以知識來武裝自己的大腦,同時還要讓我們所學的知識轉化為工作利器。

  2、一定要確定自己的發(fā)展方向,并為此目的制定可行的計劃。不要說什么,“我剛踏入測試行業(yè),還不知道將來可能做什么?”,“跟著感覺走,先做做看”。因為,這樣的觀點會通過你的潛意識去暗示你的行為無所事事、碌碌無為。無論是想做功能將來轉產(chǎn)品?還是做性能、自動化走技術道路,將來成為技術專家?還是打算做白盒?還是做管理等等?

  3、書到用時方恨少,不要將自己的知識面僅僅局限于技術方面。諾貝爾經(jīng)濟學獎得主西蒙教授的研究結果表明: “對于一個有一定基礎的人來說,他只要真正肯下功夫,在6個月內可以掌握任何一門學問!苯逃睦韺W界為感謝西蒙教授的研究成果,故命名為西蒙學習法。可見,掌握一門陌生的學問遠遠沒有想想的那么高難、深奧。多方吸取、廣泛涉獵。極力夯實自己的影響圈、盡量擴大自己的關注圈。財務、經(jīng)濟、稅務、管理等等知識,有空花時間看看,韜光養(yǎng)晦、未雨綢繆。比如我來咱們公司之前根本沒接觸過socket和webservice腳本的開發(fā),但是經(jīng)過學習和開發(fā)溝通,很快將這2個種協(xié)議掌握,比加以深入研究,并且在我們工作室的沙龍中得意分享。所以從這件事情中我體會到了一點,做任何事情之前都不要懼怕他,一定要懷有強烈信心,這樣你能做成功任何事情。所以在后來我開始學習了android開發(fā)、android自動化、java開發(fā)等,這寫知識以前對我來說都是陌生的。

  4、其實真正要做好一項工作是很困難的,看你想不想深入研究了。在測試界很多人認為只有會了性能和自動化才能成為真正的測試高手,其實我不這樣認為。我們在做了一年到2年的功能測試感覺功能測試沒意思了,沒有什么要學的了?我們有沒有這樣的問過自己,自己真的把要測試的對象了解透了嗎?下面拿咱們的K工具來說,雖然功能邏輯不如快銷寶復雜,但是這的要把這些功能全部測透全部了解透徹也不是那么容易的。我和我們工作室的一些朋友曾了解過他們如何做功能測試的:第一、他們測試的時候不是針對界面(界面上有什么測什么)來測試,而是針對需求來的;第二、每個人都負責一定的模塊,如果那位負責的模塊出了問題該人負責,這叫做責任制,只有身負了責任,才會更加全身心投入測試(算沒有任何獎懲,但是至少測試本人面子上會有壓力);第三、測試不能僅僅做UI測試,而是要跟數(shù)據(jù)流,從客戶端發(fā)出的數(shù)據(jù)到服務器返回的數(shù)據(jù)都要跟蹤。(這在底層幫助開發(fā)人員解決了大問題,其實底層的一個問題可以導致前端N個問題)第四、測試人員一定要聊了開發(fā)人員如何去實現(xiàn)某個功能的,所以這些可以在做單元測試的時候得以了解,如果測試人員做不了,開發(fā)人員可以給測試人員講解一下實習過程。

  所以功能測試如果作深入了到了灰盒測試了。

  5、我認為要想成為一名成功的性能測試人員應該掌握以下知識:

  1)精通性能測試的基本概念,過程,方法論,了解性能工程;

  2)精通1個商業(yè)性能測試工具+1個開源性能測試工具,知道工具可以做什么,不可以做什么,以及工具使用中常見的問題和解決思路;

  3)扎實的計算機專業(yè)基礎知識,包括計算機組成原理、操作系統(tǒng)、數(shù)據(jù)庫原理、計算機網(wǎng)絡原理;

  4)熟悉至少1個常用的數(shù)據(jù)庫產(chǎn)品,例如SQL Server或者 Mysql,能進行一般的數(shù)據(jù)庫管理操作,熟悉SQL腳本的使用,熟悉常用的數(shù)據(jù)調優(yōu)工具和常用的counter;

  5)熟悉至少一個操作系統(tǒng)的原理,Windows或者Linux都可以,熟悉操作系統(tǒng)的體系架構、操作系統(tǒng)的重要基礎概念,以及內存管理、存儲/文件系統(tǒng)、驅動/硬件的管理、網(wǎng)絡協(xié)議的實現(xiàn)及構成、性能的監(jiān)控方法和原理,熟悉常用的counter;

  6)熟悉至少一個web server 產(chǎn)品,例如apache,了解一般的配置和常用的counter;

  7)熟悉至少一個應用服務器產(chǎn)品,例如tomcat,了解一般的配置,熟悉常用的服務器性能監(jiān)控方法和原理,熟悉常用的counter;

  8)至少熟悉TCP/IP協(xié)議,熟悉HTTP協(xié)議,至少見過并了解三層、四層交換或者路由器的使用和配置。了解常用的與網(wǎng)絡性能相關的counter;

  9)了解一般的大型企業(yè)應用的部署架構和應用架構;

  10)了解知名大型web應用、高并發(fā)量、高流量、實時響應要求高的超大規(guī)模網(wǎng)站的架構和優(yōu)化歷程;

  11)熟悉統(tǒng)計學的基礎知識、常用分析方法以及實驗設計方法,了解數(shù)學建模相關的知識;

  12)熟悉專屬行業(yè)的業(yè)務知識和用戶場景,例如電信行業(yè)的OSS系統(tǒng)所涉及的業(yè)務知識和用戶場景,證券交易系統(tǒng)所涉及的業(yè)務知識和用戶場景;

  13)大量的實際性能測試及優(yōu)化經(jīng)驗;

  14)積極的參與到各類圈子、社團的討論和交流、分享中。

  6、明年我們還要努力做到的:

  1)強化我的功能測試功底,完成更深入的功能測試(爭取做到灰盒級別)

  2)如果能夠使用自動化的項目盡量實現(xiàn)自動化。

  3)如果有機會可嘗試做單元測試

  4)接口一定都進行測試,算不做性能可以做成自動化測試,好在集成前做。