軟件測試工程師的工作經(jīng)驗總結
「摘要」軟件質(zhì)量越來越受到人們的關注,軟件測試作為新興行業(yè)有很多不完善的地方。很多從事軟件測試工作的同行處于迷茫之中,如何提高,如何解決測試工作中的實際問題,困惑著每一個人。本文總結了一下個人經(jīng)驗,希望對大家有幫助。
「關鍵詞」軟件測試軟件測試學習軟件測試工程師
我最初參加測試工作的時候,不知道什么是軟件測試,集成測試和系統(tǒng)測試的概念經(jīng);煜,CMM是什么就更加不知道了。那時候最簡單的開關機也是通過直接拔插電源完成,安裝系統(tǒng)對我來說簡直是有史以來人類的最高技能,對于那些拿著螺絲刀安裝機器的人就認為是宇內(nèi)超級高手,身具殺人于無形之絕世秘技。拿破侖說不想當將軍的士兵不是好士兵,我最初的夢想就是想成為軟件測試的高手,傲視天下。所以不斷偷師,總結經(jīng)驗,自認為掌握了成為高手的幾個秘技,這幾年混跡“江湖”還算無往而不利。不敢獨享,望與吾輩測試人員切磋,早日總結成功密技之大成,助新進人員早日入門,也算不愧對東北活雷鋒的稱號。
第一招學會利用網(wǎng)絡
剛參加工作面對浩瀚的網(wǎng)絡世界,當時如劉姥姥進大觀園,什么都新奇,什么都想要,從網(wǎng)上下載很多源程序的代碼,軟件技術文檔之類,恨不得把所有的好東西收集到手中,其實有些在他人看起來就是垃圾一堆。當時覺得有了這些“武林秘籍”,成為高手指日可待。最初參加工作由于自己工作努力有幸轉為開發(fā),加入項目組后我的習慣還是沒有改,反而變本加厲,手中的資源更加多,上網(wǎng)的時間更加頻繁。
一次項目經(jīng)理分配任務,覺得依靠手中的秘籍加上自己的“聰明才智”很快會完成,不料短短的時間,所有的一切變成了馬奇諾防線。解決問題很慢,思路不清晰,項目經(jīng)理在對我施壓的過程中教會了我終身難忘的一招,學會利用網(wǎng)絡尋找要解決問題的答案,從此Google成了我的最愛,關鍵字成了我變化的招數(shù)。在軟件測試工作中,他幫我解決了很多疑難問題,解答了很多令我迷惑的地方。也是我?guī)椭鷾y試同行解決問題手段之一,很多軟件測試新手,甚至老手都沒有意識到自己手上就握有“無敵秘籍”,所以只要你耐心找,答案就在身邊。
這里總結一下利用網(wǎng)絡搜索引擎的技巧:
組合搜索
每次搜索某個文件,如果只給出一個單詞進行搜索,經(jīng)常會出現(xiàn)成千上百萬計的匹配網(wǎng)頁。然而如果再加上一個單詞,那么搜索結果會更加切題。
選擇表述內(nèi)容的詞組
一般我在網(wǎng)頁搜索引擎的時候,選擇一些可以表達我要查找內(nèi)容的關鍵詞組,用來縮小搜索范圍,從而找到搜索結果是最好的辦法。運用詞組搜索涉可以先先簡單地輸入一個問題作為詞組搜索,如果仍然找不到合適的,那就用多個可以表達要查詢內(nèi)容的關鍵字進行查詢。
定位信息來源
有的時候用詞組搜索不到或者無法準確表達所需信息?梢杂昧硪环N方法直接到信息源,就是直接到到提供某種信息的站點去?梢杂霉健肮久.com”去猜測某一組織的特點。從而得到所要搜索的信息的主要詞組
其實網(wǎng)絡上還有很多關于搜索技巧的文章,大家可以自行學習。千萬要記住搜索引擎是幫助你成功的有力武器。
第二招學會動手
參加軟件測試工作后,隨著工作經(jīng)驗的增長自我感覺越來越好。在公司里也逐漸受到同事領導的重視,一次針對公司的新的軟件功能進行測試的時候,像往常一樣“隨手”測試出了幾個Bug,然后“仔細”的填寫了Bug單(這個Bug的現(xiàn)象已經(jīng)出現(xiàn)了很多次了)。這時候測試經(jīng)理走過來,重新復查了一下填寫的Bug.他在重現(xiàn)我的bug的過程中,簡化了我的輸入變化,bug神奇的又出現(xiàn)了,同樣的現(xiàn)象,他關閉軟件重新變化輸入,擴展出10幾個變化后,軟件不動了,內(nèi)存不斷上升。終于他找到了產(chǎn)生軟件的Bug的原因,然后對我說“尋找Bug要準確定位,我們開發(fā)團隊是一個整體,時間是等量的,時間不在你身上浪費,就是在他身上浪費。如果測試人員每次發(fā)現(xiàn)的bug描述不清楚,并且多個問題潛在的錯誤原因是一個,雖然操作可能稍微有些變化。這樣開發(fā)人員在重現(xiàn)bug的時候他要調(diào)試跟蹤判斷,很花費時間,而且效率低。如果測試人員發(fā)現(xiàn)bug的時候多動手可以更加準確的定位bug步驟和原因,給開發(fā)人員最精確的步驟和準確的描述,這樣整個團隊才能高效,所以需要大家協(xié)作!。”
在以后的日子里,每次解決問題的時候我都記得多試驗幾次,多嘗試。網(wǎng)上很多朋友還有同事問我問題的時候,其實他們只是萬里長征就差一步,只要再多動手實驗一次就可以達到目的了。所以多動手,多嘗試。
第三招思考自己所作的
剛開始入行的時候,總是思考如何做好軟件測試。認為公司的測試流程混亂總是很郁悶,認為自己學不到東西,如何才能測試好產(chǎn)品,常說心動不如行動,以前看到古龍小說中經(jīng)常出現(xiàn)的場景無名小子不斷挑戰(zhàn)高手,總結積累。我總結了有些經(jīng)驗是實戰(zhàn)中得到的,所以不斷嘗試引入新的測試流程然后評估,這個過程雖然很痛苦,但是從中積累了不少經(jīng)驗。這段時間讓我學習到了很多東西,接觸了ISO,CMM,測試管理工具,自動化工具(因為公司不正規(guī)給了我很多學習的機會,后來到了比較大的軟件公司后,以前的經(jīng)歷給了我更多的發(fā)展機會,因為大公司非常正規(guī)了,公司內(nèi)部人員分工明確,所以能力的鍛煉反倒少了)。由于工作中經(jīng)常寫報告反倒養(yǎng)成了總結教訓的習慣,因為紙面上的東西是永遠也忘不掉的。在寫的過程中可以不斷補充擴展,整個過程是思想升華的過程,當年達摩面壁九年就是融會貫通的典型例子,如果他不是有個思考的過程,他也不能成為一代大家。如果后來不時有人把他的絕技記錄下來,也就不能有后來的少林寺七十二絕技。
所以善于思考,總結經(jīng)驗,也是成為高手之路的不二法決。
第四招學會利用論壇資源
其實測試新兵和測試高手之間的區(qū)別,往往是不會利用現(xiàn)有資源。在論壇中我們會看到很多新手不斷的提問,但是有很多問題其實都是已經(jīng)別人提過了,或者已經(jīng)有解決方案的。所以經(jīng)常會看到“測試高手”的身影,并且不提問題,而且還能“鋤強扶弱”,是測試新丁的救命稻草。好像是高手們無所不能,其實摘掉這層耀眼的光環(huán),他們并沒想像得那么厲害,只不過通過自己的搜索找到的答案,然后幫助其他人。當然也有很多人都是通過自學,然后在論壇中交流得到了很多經(jīng)驗,高手其實也是因為善于思考問題,親自動手解決問題。所以動手和利用論壇資源的過程中他們也在不斷提高。
很多時候看到論壇中有人提問,問題描述不清,很多人看了很困惑。發(fā)貼題目動不動請高手幫忙,救命之類的,好像天下大亂,世界末日。雖然這個題目很招人,但是無法讓那些想幫助你的人幫你,因為題目不清晰,而且高手字樣嚇阻了很多人。其實問問題也是個思路整理的過程,描述清晰,讓人理解清楚,才能望文知意知道你的當前發(fā)生問題的環(huán)境,才能讓那些想幫你的人解決問題,否則給人無從下手的感覺,解決問題效率不高。
第五招學習和你所測試的軟件產(chǎn)品相關的知識
要想成為好的測試人員,還要了解你要測試的軟件的相關知識。要了解軟件產(chǎn)品的架構是什么樣的。要了解軟件的市場需求,在接觸軟件之初要可以多看看用戶的反饋信息,這些才是用戶最關心的,也是你在測試中需要注意的問題,滿足客戶是最大的需要。但是了解軟件需求之后要學會要多讀些軟件系統(tǒng)的技術文檔,軟件設計文檔,這些文檔可以幫助你了解產(chǎn)品如何工作。還有多看看公司Bug庫中的問題,這些存在的問題可以幫助你了解軟件產(chǎn)品那些地方存在缺陷,軟件系統(tǒng)那些地方會出現(xiàn)錯誤。軟件是運行在一個大環(huán)境中,如果對系統(tǒng)不熟悉,那么有些問題你不能從一個更廣闊的層面考慮,學習操作系統(tǒng)的知識,有助于你發(fā)現(xiàn)缺陷,定位問題更加準確。比如軟件運行在Windows或者Linux,如果你不懂操作系統(tǒng),你就無法建立測試環(huán)境,有些時候時候軟件的組件發(fā)生問題,就是你系統(tǒng)配置造成的,對系統(tǒng)不熟悉,你會把外在原因歸結為軟件本身。所以要學習關于和軟件系統(tǒng)相關的知識,比如編程,網(wǎng)絡,數(shù)據(jù)庫等。不一定你要學習到多好的程度,只是通過這些擴展的知識面,你可以在發(fā)現(xiàn)問題,解決問題上不會局限在狹小的圈子里。
和一切相關的人員交流,不同的交流渠道,獲取消息是不同的,角度也不同。和客戶交流,你會在測試中從客戶的角度發(fā)現(xiàn)問題;和開發(fā)人員交流,你會了解開發(fā)人員怎么實現(xiàn)軟件功能的;和項目管理人員交流,你會知道開發(fā)進度以及遇到的困難。
擴展閱讀:一位軟件測試工程師六年的工作經(jīng)驗總結
一位軟件測試工程師六年的工作經(jīng)驗總結
樓主:admin分享于201*-08-2411:20標簽:無
1、分享第一條經(jīng)驗:“學歷代表過去、能力代表現(xiàn)在、學習力代表未來!逼鋵嵾@是一個來自國外教育領域的一個研究結果。相信工作過幾年、十幾年的朋友對這個道理有些體會吧。但我相信這一點也很重要:“重要的道理明白太晚將抱憾終生!”所以放在每一條,讓剛剛畢業(yè)的朋友們早點看到哈!
2、一定要確定自己的發(fā)展方向,并為此目的制定可行的計劃。不要說什么,“我剛畢業(yè),還不知道將來可能做什么?”,“跟著感覺走,先做做看”。因為,這樣的觀點會通過你的潛意識去暗示你的行為無所事事、碌碌無為。一直做技術,將來成為專家級人物?向管理方向走,成為職業(yè)經(jīng)理人?先熟悉行業(yè)和領域,將來自立門戶?還是先在行業(yè)里面混混,過幾年轉行做點別的?這很重要,它將決定你近幾年、十年內(nèi)“做什么事情才是在做正確的事情!”。3、軟件開發(fā)團隊中,技術不是萬能的,但沒有技術是萬萬不能的!在技術型團隊中,技術與人品同等重要,當然長相也比較重要哈,尤其在MM比較多的團隊中。在軟件項目團隊中,技術水平是受人重視和尊重的重要砝碼。無論你是做管理、系統(tǒng)分析、設計、編碼,還是產(chǎn)品管理、測試、文檔、實施、維護,多少你都要有技術基礎。算我孤陋寡聞,我還真沒有親眼看到過一個外行帶領一個軟件開發(fā)團隊成功地完成過軟件開發(fā)項目,哪怕就一個,也沒有看到。倒是曾經(jīng)看到過一個“高學歷的牛人”(非技術型)帶一堆人做完過一個項目,項目交付的第二天,項目組成員扔下一句“再也受不了啦!”四分五裂、各奔東西。那個項目的“成功度”大家可想而知了。
4、詳細制定自己軟件開發(fā)專業(yè)知識學習計劃,并注意及時修正和調(diào)整(軟件開發(fā)技術變化實在太快)。請牢記:“如果一個軟件開發(fā)人員在1、2年內(nèi)都沒有更新過自己的知識,那么,其實他已經(jīng)不再屬于這個行業(yè)了!辈灰嬖V自己沒有時間。來自時間管理領域的著名的“三八原則”告誡我們:另外的那8小時如何使用將決定你的人生成敗!本人自畢業(yè)以來,平均每天實際學習時間超過2小時。
5、書籍是人類進步的階梯,對軟件開發(fā)人員尤其如此。書籍是學習知識的最有效途徑,不要過多地指望在工作中能遇到“世外高人”,并不厭其煩地教你。對于花錢買書,我個人經(jīng)驗是:千萬別買國內(nèi)那幫人出的書!我買的那些家伙出的書,!00%全部后悔了,無一本例外。更氣憤的是,這些書在二手市場的地攤上都很難賣掉!皳碛袝⒉槐硎緭碛兄R;擁有知識并不表示擁有技能;擁有技能并不表示擁有文化;擁有文化并不表示擁有智慧!敝挥袑咀兂傻淖约褐腔郏潘闶钦嬲龘碛辛怂。
6、不要僅局限于對某項技術的表面使用上,哪怕你只是偶爾用一、二次!皩θ魏问挛锊痪烤屠铩笔侨魏涡袠I(yè)的工程師所不應該具備的素質(zhì)。開發(fā)Windows應用程序,看看Windows程序的設計、加載、執(zhí)行原理,分析一下PE文件格式,試試用SDK開發(fā)從頭開發(fā)一個Windows應用程序;用VC++、Delphi、Java、.Net開發(fā)應用程序,花時間去研究一下MFC、VCL、J2EE、.Net它們框架設計或者源碼;除了會用J2EE、JBoss、Spring、Hibernate等等優(yōu)秀的開源產(chǎn)品或者框架,抽空看看大師們是如何抽象、分析、設計和實現(xiàn)那些類似問題的通用解決方案的。試著這樣做做,你以后的工作將會少遇到一些讓你不明就里、一頭霧水的問題,因為,很多東西你“知其然且知其所以然”!
7、在一種語言上編程,但別為其束縛了思想!按a大全”中說:“深入一門語言編程,不要浮于表面”。深入一門語言開發(fā)還遠遠不足,任何編程語言的存在都有其自身的理由,所以也沒有哪門語言是“包治百病”的“靈丹妙藥”。編程語言對開發(fā)人員解決具體問題的思路和方式的影響與束縛的例子俯拾皆是。我的經(jīng)驗是:用面對對象工具開發(fā)某些關鍵模塊時,為什么不可以借鑒C、C51、匯編的模塊化封裝方式?用傳統(tǒng)的桌面開發(fā)工具(目前主要有VC++、Delphi)進行系統(tǒng)體統(tǒng)結構設計時,為什么不可以參考來自Java社區(qū)的IoC、AOP設計思想,甚至借鑒像Spring、Hibernate、JBoss等等優(yōu)秀的開源框架?在進行類似于實時通信、數(shù)據(jù)采集等功能的設計、實現(xiàn)時,為什么不可以引用來自實時系統(tǒng)、嵌入式系統(tǒng)的優(yōu)秀的體系框架與模式?為什么一切都必須以個人、團隊在當然開發(fā)語言上的傳統(tǒng)或者經(jīng)驗來解決問題???“他山之石、可以攻玉”。一時應該難以改變。
8、養(yǎng)成總結與反思的習慣,并有意識地提煉日常工作成果,形成自己的個人源碼庫、解決某類問題的通用系統(tǒng)體系結構、甚至進化為框架。眾所周知,對軟件開發(fā)人員而言,有、無經(jīng)驗的一個顯著區(qū)別是:無經(jīng)驗者完成任何任務時都從頭開始,而有經(jīng)驗者往往通過重組自己的可復用模塊、類庫來解決問題(其實這個結論不應該被局限在軟件開發(fā)領域、可以延伸到很多方面)。這并不是說,所有可復用的東西都必須自己實現(xiàn),別人成熟的通過測試的成果也可以收集、整理、集成到自己的知識庫中。但是,最好還是自己實現(xiàn),這樣沒有知識產(chǎn)權、版權等問題,關鍵是自己實現(xiàn)后能真正掌握這個知識點,擁有這個技能。
9、理論與實踐并重,內(nèi)外雙修。工程師的內(nèi)涵是:以工程師的眼光觀察、分析事物和世界。一個合格的軟件工程師,是真正理解了軟件產(chǎn)品的本質(zhì)及軟件產(chǎn)品研發(fā)的思想精髓的人(個人觀點、歡迎探討)。掌握軟件開發(fā)語言、應用語言工具解決工作中的具體問題、完成目標任務是軟件工程師的主要工作,但從軟件工程師這個角度來看,這只是外在的東西,并非重要的、本質(zhì)的工作。學習、掌握軟件產(chǎn)品開發(fā)理論知識、軟件開發(fā)方法論,并在實踐中理解、應用軟件產(chǎn)品的分析、設計、實現(xiàn)思想來解決具體的軟件產(chǎn)品研發(fā)問題,才是真正的軟件工
程師的工作。站在成熟理論與可靠方法論的高度思考、分析、解決問題,并在具體實踐中驗證和修正這些思想與方式,最終形成自己的理論體系和實用方法論。
10、心態(tài)有多開放,視野就有多開闊。不要抱著自己的技術和成果,等到它們都已經(jīng)過時變成垃圾了,才拿出來丟人現(xiàn)眼。請及時發(fā)布自己的研究成果:開發(fā)的產(chǎn)品、有創(chuàng)意的設計或代碼,公布出來讓大家交流或者使用,你的成果才有進化和升華的機會。想想自己201*年間開發(fā)的那些Windows系統(tǒng)工具,5、6年之后的今天,還是那個樣子,今天流行的好多Windows系統(tǒng)工具都比自己的晚,但進化得很好,且有那么多用戶在使用。并且,不要保守自己的技術和思想,盡可能地與人交流與分享,或者傳授給開發(fā)團隊的成員。“與人交換蘋果之后,每個人還是只有一個蘋果;但交換思想之后,每個人都擁有兩種思想”,道理大家都懂,但有多少人真正能做到呢?
11、盡量參加開源項目的開發(fā)、或者與朋友共同研制一些自己的產(chǎn)品,千萬不要因為沒有錢賺而不做。網(wǎng)絡早已不再只是“虛擬世界”,網(wǎng)上有很多的開源項目、合作開發(fā)項目、外包項目,這都是涉獵工作以外的知識的絕好機會,并且能夠結識更廣的人緣。不要因為工作是做ERP,就不去學習和了解嵌入式、實時、通信、網(wǎng)絡等方面的技術,反過來也是一樣。如果當他別人拿著合同找你合作,你卻這也不會,那也不熟時,你將后悔莫及。
12、書到用時方恨少,不要將自己的知識面僅僅局限于技術方面。諾貝爾經(jīng)濟學獎得主西蒙教授的研究結果表明:“對于一個有一定基礎的人來說,他只要真正肯下功夫,在6個月內(nèi)就可以掌握任何一門學問!苯逃睦韺W界為感謝西蒙教授的研究成果,故命名為西蒙學習法?梢,掌握一門陌生的學問遠遠沒有想想的那么高難、深奧。多方吸取、廣泛涉獵。極力夯實自己的影響圈、盡量擴大自己的關注圈。財務、經(jīng)濟、稅務、管理等等知識,有空花時間看看,韜光養(yǎng)晦、未雨綢繆。
13、本文的總結與反思:
A:不要去做技術上的高手,除非你的目標如此。雖然本文是關于提高軟件開發(fā)知識的建議,做技術的高手是我一向都不贊同的。你可以提高自己的專業(yè)知識,但能勝任工作即止。B:提高軟件知識和技術只是問題的表面,本質(zhì)是要提高自己認識問題、分析問題、解決問題的思想高度。軟件專業(yè)知識的很多方法和原理,可以很容易地延伸、應用到生活的其它方面。
C:在能勝任工作的基礎上,立即去涉獵其它領域的專業(yè)知識,豐富自己的知識體系、提高自己的綜合素質(zhì),尤其是那些目標不在技術方面的朋友。
PS:正常來說工作時間是8個小時,除去早上、中午、下班的磨蹭時間,也就剩下6個小時左右了,而真正用在工作上的平均來說絕對不超過3個小時,再去除1個小時的閑聊時間,所以至少有2個小時是屬于自己的,那么需要做什么就是自己的事情了...
友情提示:本文中關于《軟件測試工程師的工作經(jīng)驗總結》給出的范例僅供您參考拓展思維使用,軟件測試工程師的工作經(jīng)驗總結:該篇文章建議您自主創(chuàng)作。
來源:網(wǎng)絡整理 免責聲明:本文僅限學習分享,如產(chǎn)生版權問題,請聯(lián)系我們及時刪除。