聯系我們
地 址:南京市玄武區洪武北路188號 長發數碼大廈1501室
電 話:025-84810007
025-84811152
025-84811916
傳 真:025-84811916
網 址:www.yzcldq.com
郵 箱:sales@sys-test.com.cn
剛開始做測試的朋友很多都在做黑盒測試,因為黑盒測試往往對代碼編寫能力要求不是很高,這樣給剛入門的人就造成了一個測試人員不需要太多知識的誤解。然而,做測試往往需要很廣泛的知識。不僅僅只是專業上的,而且要了解很多開發人員不了解的東西,在一個系統里面開發人員可以只了解客戶需求,而我們的測試人員需要了解整個全局的東西。呵呵,感覺有點統籌全局的成就感。不過有時候相對于開發人員來說也的確是這樣的。開發人員可以不用太多了解用戶的需求,而我們卻需要能夠準確捕獲用戶的觀點,對很多細節需要非常注意。往往很多人在初入測試行業的時候非常熱衷于測試工具的學習以及使用,其實這并不是一個很系統的認知。知識的學習也是分階段的。測試這兩個字很表面來看很簡單,只是給程序挑錯誤,找出bug來,但是在整個軟件開發過程中我們該如何把測試跟開發結合起來有效地進行都需要經過實踐來證明。而這些不是工具所能完成的。
我們對整個測試流程方面的東西需要了解得很多很多,而工具只是需要了解的其中一部分而且是比較小的一部分知識而已。你所了解的不僅僅只是測試的表面,你需要了解測試的流程,你需要了解如何用一個好的測試計劃來規劃我們的測試時間、測試范圍(有些公司把測試范圍的設計歸納在測試需求里面,但是很多公司都是在測試計劃里面),需要了解如何用一個好的測試用例來覆蓋整個測試范圍之內的測試實施。了解如何保證所測試出來的bug 是開發人員的問題而不是因為自己了解不夠導致出現的問題。Bug分析報告之內如何總結問題都是我們需要注意到的知識。對自己的測試時間也需要進行詳細規劃,盡量多地考慮進去各種可能。這樣才可以盡量減少相關的風險。
如何進行軟件測試?
測試里面的知識學習可以分為以下三個階段來進行(這個階段只是自己的一種個人見解):
第一個階段我們必須要讓做測試的人明白測試在整個軟件工程里面的重要性,了解測試的相關基礎知識,并且在了解這些知識的過程中逐漸挖掘出他對測試的興趣。興趣愛好是很好的從事一項工作的一個重要條件。讓一個對測試絲毫不懂而且不感興趣的人去直接去做測試,你不覺得是在耽誤別人的青春嗎?
第二個階段我們必須對測試的流程的管理工作通過實際的軟件測試有個非常明確的認識。因為很多時候工作都是在團隊相互協調的情況下進行的,所以對于整個軟件開發流程以及開發流程當中的測試流程都需要很熟悉,這樣才可以更好的配合工作。當我們這些都很熟悉并且在工作當中應用很流暢的時候,我們就可以對測試工具進行相對應的學習。誠然,現在很多公司在招聘測試人員的時候總是要求了解自動化測試工具,實際上據了解,很多公司并不能真正用自動化測試。所以不要一進門就想著學習自動化測試工具,很多知識在你了解了其他知識之后學習效果跟用途可能會更好。在了解測試相關流程的同時我們必須擴充我們的其他相關知識,包括對我們的產品的客戶的需求的了解要比開發人員了解更全面,更深入。這樣才能保證我們的流程,我們的測試按照客觀的正確的方向前進,而不至于被開發人員的思想所牽引。呵呵。我喜歡做事主動而不是被動的去執行。
到第三個階段我們可以跟區分專業一樣走自己喜歡的途徑:一方面可以繼續深入提高自己的測試的專業技能并且能夠真正從事自動化測試,成為技術領域里面的專家。另一方面我們可以慢慢趨于測試管理方面。
從一個初級測試工程師晉升到一個高級測試工程師比較快,但是從一個初級測試工程師發展到一個Team Leader所需要的時間相對比較長。而從一個高級測試工程師發展到一個資深測試工程師花費時間更長一點,到達資深測試工程師之后就可以很容易做到測試主管了,以后可以發展到PM。當然從初級測試人員到高級、資深測試人員在上面的圖中并不是表述為“曲線發展過程”的,很多時候行業經驗、行業知識的累積等都很重要。而這點只有深入發展的人才會發現其重要性的。很多隨著時間的推移和經驗的增長,一些沉淀下來的東西不是表現在字面上,別人就可以理解并領悟的。所以要有信心的同時我們做事還必須有耐心,羅馬非一日建成。相信明天就要緊緊把握今天。
我認為的測試人員應具備的基本素質
我們很多人在測試的時候感覺到不爽的另外一個比較大眾化的原因,可能就是對測試不感興趣的同時知識層次不夠。(建議接觸測試一年之后還對此不感興趣的朋友找找自己的原因,實在找不出來就早點看看別的比較好發展的行業吧。)。因為自己知識層次的不夠,這樣往往感覺自己找出的bug在開發人員那里得不到很好的重視,感覺自己的勞動成果沒有得到相應的尊重一樣。一個測試人員在跟開發人員打交道的時候往往會產生這么一個現象,隨著開發的進行,測試人員提交的bug越來越不被開發人員重視了,這里面除了開發人員比較忙碌的緣故之外,另外一個不容忽視的原因就是我們測試人員自身的知識不夠層次,很多時候因為我們不了解需求,不了解相關專業知識而誤認為正確的東西是bug。任何一個領域里面的人我想都應該有這樣的想法并且比較反對這個想法:那就是外行對內行進行不正確的指點,這相當于對別人勞動成果的一種不負責任的否定。所以我們一定要加強我們自身的專業知識的學習。這個時候大家可能會問,那么一個真正的測試人員應該具備哪些知識呢?我想在除了相關專業知識之外還有一些比較共性的知識需要我們大家了解,專業知識因為行業的不同所以有很多的不同之處,這兒不詳細介紹了,我從大眾化的方面來闡述下面幾個需要我們注意的地方,這也是作為一個測試人員應該具備的基本素質:
A、我們需要具備很好的溝通能力:溝通是人類相互進步的一個重要標志,用在我們這個行業里面溝通也比較適用。我們的溝通往往不僅是跟開發人員的溝通,有時候也會跟我們的客戶進行溝通的。這是兩種不同類型的人,他們關心問題的側重點也不同。所以我們溝通時候需要掌握一定的技巧,這樣才能從客戶那兒得到比較準確的需求。有時候我們的工作會被開發人員認為是“破壞”性的工作,這樣就會引起我們跟開發人員的沖突,所以當我們發現一個bug之后如何跟開發人員溝通也是一門藝術。很多時候我們不僅僅是把bug寫出來,也要很好地說給開發人員知道。從而達到我們彼此想要的一種結果。
B、我們需要具備很好的自信心:很多時候開發人員會經常認為測試人員的開發相關知識不如自己,所以會有一種輕視的態度,這個時候我們除了補充我們的專業知識之外還需要有很強的自信心。呵呵。如果允許他對我們說這說那,那么我認為我們的工作還沒開展就已經處在十分不利的地步了,我們將會被他們牽著鼻子走。這種現象很正常。而我卻屬于那種很討厭被別人牽著鼻子走的人。所以我知道我們一定要很專業才能讓別人尊重自己的勞動成果并聽取自己的見解。當然這種自信心也是建立在心平氣和下的溝通,不是完全對立的。
C、我們需要保持一種懷疑的精神:(這點我很擅長,我經常懷疑那些跟我擦肩而過的PLMM對我放電。所以總是。。。。。。,呵呵,結果最近醫務室大夫說我患了神經質。虧大了)我們會經常碰到這樣一種情況,我們往往發現的bug交給開發人員時他們總是盡他們最大的努力解釋每個他們認為不是bug的bug。我們在傾聽他們解釋的同時必須要懷疑他們的觀點直到我們自己確認過之后。
D、我們需要耐心和很好的記憶力:有時候往往一個bug需要我們很耐心的花費時間、精力去投入在上面,而且當我們再找到有些類似的bug的時候,要能從腦子里面找出來這些bug,這就需要我們有很好的記憶力。其實如果不具備這些條件了那么相關的文檔就是我們最好的查詢資料。我就是屬于這種類型的,很多時候總是翻閱以前的文檔。但是這樣也有一個好處,那就是在不斷的查詢過程中我們對文檔的修改,使文檔日臻完善,當然這種完善也是相對的。
E、我們需要一顆安靜的心:因為浮躁的人是找不出隱藏在深處的bug的,(所以我們的開發人員總是喜歡讓我測試他們的東西,因為我匯報的bug很少,這樣他們的績效就表現得很好啊。所以我總是挨批啊。不過現在學乖了,呵呵。)所以當我們測試的時候我們應該保持內心的平靜,這樣我們才會保持很好的洞察力來找到那些隱藏很深的bug。而且也會抓到相關的重點的。這點是很重要的。否則你的測試跟流水賬做也沒什么區別,根據業務流程,根據用戶需求,根據開發人員的思路一路跑下去,發現一些皮毛的bug。這不是一個好的測試人員應該做的。我們在平靜當中才能保持自己的觀點不被別人左右。
F、我們還需要能夠承受壓力并排遣壓力:無須質疑,我們的工作承受著一定的壓力,當然這樣說有點片面,不過大體上應該是這樣的。所以我們經常承受著一定的壓力,客戶在催促,開發人員在delay,風箱里面的老鼠兩頭受氣。所以我們要能夠承受壓力,包括外界的、工作上的壓力。并且不要把因為壓力而導致的不好的情緒帶到工作當中。學會排遣這些壓力,保持一顆輕松的,平靜的心,然后全身心投入到我們的工作。
上面的只是根據實際的一些經驗以及曾經看過的一些朋友的見解總結而來的,還有很多其他方面的知識,但是我實在沒有時間了,呵呵,很抱歉。以后有時候還可以繼續補充。只是想強調一點:測試在中國的發展前景是非常好的,而這點從這幾年無論測試人員和測試環境的變化還是客戶對產品質量的要求越來越高都可以看出的。