一位軟體測試工程師的工作總結(轉)

wzdoxu88發表於2008-06-30

我最初參加的時候,不知道什麼是,整合測試和系統測試的概念經常混淆, CMM 是什麼就更加不知道了。那時候最簡單的開關機也是透過直接拔插電源完成,安裝系統對我來說簡直是有史以來人類的最高技能,對於那些拿著螺絲刀安裝機器的人就認為是宇內超級高手,身具殺人於無形之絕世秘技。拿破崙說不想當將軍計程車兵不是好士兵,我最初的夢想就是想成為軟體測試的高手,傲視天下。所以不斷偷師,總結經驗,自認為掌握了成為高手的幾個秘技,這幾年混跡 “ 江湖 ” 還算無往而不利。不敢獨享,望與吾輩測試人員切磋,早日總結成功密技之大成,助新進人員早日入門,也算不愧對東北活雷鋒的稱號。

第一招 學會利用網路

剛參加工作面對浩瀚的網路世界,當時如劉姥姥進大觀園,什麼都新奇,什麼都想要,從網上下載很多源程式的程式碼,軟體技術文件之類,恨不得把所有的好東西收集到手中,其實有些在他人看起來就是垃圾一堆。當時覺得有了這些 “ 武林秘籍 ” ,成為高手指日可待。最初參加工作由於自己工作努力有幸轉為開發,加入專案組後我的習慣還是沒有改,反而變本加厲,手中的資源更加多,上網的時間更加頻繁。

一次專案經理分配任務,覺得依靠手中的秘籍加上自己的 “ 聰明才智 ” 很快會完成,不料短短的時間,所有的一切變成了馬奇諾防線。解決問題很慢,思路不清晰,專案經理在對我施壓的過程中教會了我終身難忘的一招,學會利用網路尋找要解決問題的答案,從此 Google 成了我的最愛,關鍵字成了我變化的招數。在軟體測試工作中,他幫我解決了很多疑難問題,解答了很多令我迷惑的地方。也是我幫助測試同行解決問題手段之一,很多軟體測試新手,甚至老手都沒有意識到自己手上就握有 “ 無敵秘籍 ” ,所以只要你耐心找,答案就在身邊。

這裡總結一下利用網路搜尋引擎的技巧:

組合搜尋

每次搜尋某個檔案,如果只給出一個單詞進行搜尋,經常會出現成千上百萬計的匹配網頁。然而如果再加上一個單詞,那麼搜尋結果會更加切題。

選擇表述內容的片語

一般我在網頁搜尋引擎的時候,選擇一些可以表達我要查詢內容的關鍵片語,用來縮小搜尋範圍,從而找到搜尋結果是最好的辦法。運用片語搜尋涉可以先先簡單地輸入一個問題作為片語搜尋,如果仍然找不到合適的,那就用多個可以表達要查詢內容的關鍵字進行查詢。

定位資訊來源

有的時候用片語搜尋不到或者無法準確表達所需資訊。可以用另一種方法直接到資訊源,就是直接到到提供某種資訊的站點去。可以用公式 “www. 公司名 .com” 去猜測某一組織的特點。從而得到所要搜尋的資訊的主要片語

其實網路上還有很多關於搜尋技巧的文章,大家可以自行學習。千萬要記住搜尋引擎是幫助你成功的有力武器。

第二招 學會動手

參加軟體測試工作後,隨著工作經驗的增長自我感覺越來越好。在公司裡也逐漸受到同事領導的重視,一次針對公司的新的軟體功能進行測試的時候,像往常一樣 “ 隨手 ” 測試出了幾個 Bug ,然後 “ 仔細 ” 的填寫了 Bug 單(這個 Bug 的現象已經出現了很多次了)。這時候測試經理走過來,重新複查了一下填寫的 Bug .他在重現我的 bug 的過程中,簡化了我的輸入變化, bug 神奇的又出現了,同樣的現象,他關閉軟體重新變化輸入,擴充套件出 10 幾個變化後,軟體不動了,記憶體不斷上升。終於他找到了產生軟體的 Bug 的原因,然後對我說 “ 尋找 Bug 要準確定位,我們開發團隊是一個整體,時間是等量的,時間不在你身上浪費,就是在他身上浪費。如果測試人員每次發現的 bug 描述不清楚,並且多個問題潛在的錯誤原因是一個,雖然操作可能稍微有些變化。這樣開發人員在重現 bug 的時候他要除錯跟蹤判斷,很花費時間,而且效率低。如果測試人員發現 bug 的時候多動手可以更加準確的定位 bug 步驟和原因,給開發人員最精確的步驟和準確的描述,這樣整個團隊才能高效,所以需要大家協作!。 ”

在以後的日子裡,每次解決問題的時候我都記得多試驗幾次,多嘗試。網上很多朋友還有同事問我問題的時候,其實他們只是萬里長征就差一步,只要再多動手實驗一次就可以達到目的了。所以多動手,多嘗試。

第三招 思考自己所作的

剛開始入行的時候,總是思考如何做好軟體測試。認為公司的測試流程混亂總是很鬱悶,認為自己學不到東西,如何才能測試好產品,常說心動不如行動,以前看到古龍小說中經常出現的場景無名小子不斷挑戰高手,總結積累。我總結了有些經驗是實戰中得到的,所以不斷嘗試引入新的測試流程然後評估,這個過程雖然很痛苦,但是從中積累了不少經驗。這段時間讓我學習到了很多東西,接觸了 ISO,CMM ,工具,自動化工具(因為公司不正規給了我很多學習的機會,後來到了比較大的軟體公司後,以前的經歷給了我更多的發展機會,因為大公司非常正規了,公司內部人員分工明確,所以能力的鍛鍊反倒少了)。由於工作中經常寫報告反倒養成了總結教訓的習慣,因為紙面上的東西是永遠也忘不掉的。在寫的過程中可以不斷補充擴充套件,整個過程是思想昇華的過程,當年達摩面壁九年就是融會貫通的典型例子,如果他不是有個思考的過程,他也不能成為一代大家。如果後來不時有人把他的絕技記錄下來,也就不能有後來的少林寺七十二絕技。

所以善於思考,總結經驗,也是成為高手之路的不二法決。

第四招 學會利用資源

其實測試新兵和測試高手之間的區別,往往是不會利用現有資源。在論壇中我們會看到很多新手不斷的提問,但是有很多問題其實都是已經別人提過了,或者已經有解決方案的。所以經常會看到 “測試高手”的身影,並且不提問題,而且還能“鋤強扶弱”,是測試新丁的救命稻草。好像是高手們無所不能,其實摘掉這層耀眼的光環,他們並沒想像得那麼厲害,只不過透過自己的搜尋找到的答案,然後幫助其他人。當然也有很多人都是透過自學,然後在論壇中交流得到了很多經驗,高手其實也是因為善於思考問題,親自動手解決問題。所以動手和利用論壇資源的過程中他們也在不斷提高。

很多時候看到論壇中有人提問,問題描述不清,很多人看了很困惑。發貼題目動不動請高手幫忙,救命之類的,好像天下大亂,世界末日。雖然這個題目很招人,但是無法讓那些想幫助你的人幫你,因為題目不清晰,而且高手字樣嚇阻了很多人。其實問問題也是個思路整理的過程,描述清晰,讓人理解清楚,才能望文知意知道你的當前發生問題的環境,才能讓那些想幫你的人解決問題,否則給人無從下手的感覺,解決問題效率不高。

第五招 學習和你所測試的軟體產品相關的知識

要想成為好的測試人員,還要了解你要測試的軟體的相關知識。要了解軟體產品的架構是什麼樣的。要了解軟體的市場需求,在接觸軟體之初要可以多看看使用者的反饋資訊,這些才是使用者最關心的,也是你在測試中需要注意的問題,滿足客戶是最大的需要。但是瞭解軟體需求之後要學會要多讀些軟體系統的技術文件,軟體設計文件,這些文件可以幫助你瞭解產品如何工作。還有多看看公司 Bug 庫中的問題,這些存在的問題可以幫助你瞭解軟體產品那些地方存在缺陷,軟體系統那些地方會出現錯誤。軟體是執行在一個大環境中,如果對系統不熟悉,那麼有些問題你不能從一個更廣闊的層面考慮,學習作業系統的知識,有助於你發現缺陷,定位問題更加準確。比如軟體執行在 Windows 或者 ,如果你不懂作業系統,你就無法建立測試環境,有些時候時候軟體的元件發生問題,就是你係統配置造成的,對系統不熟悉,你會把外在原因歸結為軟體本身。所以要學習關於和軟體系統相關的知識,比如程式設計,網路,資料庫等。不一定你要學習到多好的程度,只是透過這些擴充套件的知識面,你可以在發現問題,解決問題上不會侷限在狹小的圈子裡。

和一切相關的人員交流,不同的交流渠道,獲取訊息是不同的,角度也不同。和客戶交流,你會在測試中從客戶的角度發現問題;和開發人員交流,你會了解開發人員怎麼實現軟體功能的;和專案管理人員交流,你會知道開發進度以及遇到的困難。

[@more@]

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9294812/viewspace-1006328/,如需轉載,請註明出處,否則將追究法律責任。

相關文章