軟體測試,一個即将要崛起的行業,卻也是一個充滿着争議性的行業。談到崛起,是因為我們發現,我們身邊的客戶開始越來越關注軟體的體驗性了,如果你的軟體還有功能問題,他們可就不那麼待見你了。同樣,在國内的公司也是越來越開始重視軟體測試,這幾年,測試的職位需求量越來越多了,各種外包、教育訓練機構,争先恐後而至~說起争議性,那就要從門檻來說了,畢竟,所謂軟體測試,也是IT行業中一個技術領域,隻不過,在國内,大家并不這麼認為,是以專業不專業,先進去就再說!我最近在群裡看一個非計算機專業同學,咨詢各位關于軟體測試這個行業的發展前景,當然有人質疑他非技術專業出身,可能發展會有瓶頸,但他的回應是,沒見那些計算機專業出身的同學學得怎麼樣啊~并且他個人表示,5個月之後,他就可以跟各位一樣進入這個領域,因為他決定去參加軟體測試教育訓練。當然潑冷水的人有很多,但也不乏還是有很多支援的,認為完全沒問題。通過對行業一些現象的分析,作為這個行業中的一分子,我們似乎更關心,我們未來的發展方向,我們的核心優勢在哪兒,我們的競争壓力又在哪兒?進入這個行業的人衆說紛纭,有人說是為了熱愛測試,有人說了,因為開發能力不行,隻能退一步而行之,但至少是計算機專業出身的。測試并不是一個注重專業的領域,其實我是想跟那位同學建議,其實你可以選擇去教育訓練開發,或許這樣你的技術之路會走得更遠。就像這個行業流行的一種說法,如果你做了幾年資深開發,你才有資格成為一名專業的測試人員。此言一語道明,對于一名優秀測試人員的技術能力要求遠勝開發人員,隻是我們身邊這樣的人太少而已。
談到測試工作定位,通過這幾年的工作,開始不斷的感悟,在此我想從這些感悟中對目前測試的三階段段來分别談一談:
一、測試是為了發現問題
這個觀點一開始就是指引着我們工作的方向,甚至我們會為了發現更多的問題而感到愉悅,就像開發人員完成一個功能開發一樣,有一種成就感,是以測試的成就感就是給開發找茬。是以我們每天都會關注JIRA上bug量是否在增長,可能包括你的主管都會對bug的量來評定績效考核,當然這都必須,因為測試就這麼點增長點而已。
二、測試是為了定位問題
對于這樣的測試人員,開發就很喜歡,因為省去了他們很多定位問題的時間,當然這樣就對于測試人員的要求就要高了。定位問題從測試角度來看,那就是兩個過程,首先你要發現問題,比如一個儲存功能,你測試下來發現儲存失敗,這個時候你就會将此問題送出到缺陷管理工具上,并告知開發,如果僅此而已,那開發就需要去查找這個問題出現原因,首先儲存失敗可能有幾種情況,有可能是資料沒有儲存到資料庫中,前天提示儲存失敗;另外可能是資料儲存到資料庫了,但沒有傳回到前台,而提示失敗;還有可能是傳回值不對,導緻提示資訊出現提示錯誤,等等~想想開發去這樣定位的問題,對于時間成本的控制,他們肯定就比較不爽了,如果這樣的問題不斷暴漲,那開發也會崩潰的。那如果測試人員去完成這樣的一個工作,直接把問題定位到,比如産生此問題的原因是由于資料沒有被儲存到資料庫中而導緻的提示儲存失敗,這個時候開發一看到bug的描述就明白了,原來是因為我的儲存方法有問題所導緻,這樣他就很快可以解決問題了,同樣他也會對你的工作而感到欣慰!當然,這裡隻是舉一個很簡單的例子,目的是為了說明,我們如何提升我們自己的能力,定位問題是測試人員應該具備的能力。
三、測試是為發現并解決問題
說到測試人員去解決問題,可能大多數人覺得是不可思議的事情。是以這裡就需要去領悟前面提到的依據話:如果做過幾年資深的開發人員,你才有資格成為一名專業的測試人員。對于開發來說,并不是所有的bug都需要修複的;而對于測試來說,也并不是所有的bug都是開發去解決的。這裡也來舉例說明下:當你在測試一段資料查詢效率的問題時,通過一番折騰,你發現你找到了問題,并可以很自信的告訴開發人員,你的sql語句效率有問題,當你資料庫中有5萬條記錄時,查詢最後一條記錄,它就要輪詢5萬多行才能找到,這樣導緻最終的查詢效率就非常低下了,加入資料到幾百萬條時,就需要輪詢幾百萬行,這個性能是幾乎不能想象的。是以這個時候,你告訴開發人員這樣的結果和論證,并告知他需要優化的幾點意見,比如更新表結構,增加索引機制;另外優化配置檔案,比如修改緩存的大小等等。最後開發人員會思考,要麼指派一名專業的資料庫DBA來完成優化,要麼就自己解決,不過不是所有的公司都有專職DBA的,是以如果開發人員對資料庫優化也沒有太多的經驗,那他解決的速度還不定有測試人員快~是以這樣的問題衡量下來,發現隻能測試人員自己去解決,邊優化的同時,還可以邊測試。當然,這裡想表達的觀點就是,測試人員不一定在某個技術領域是大牛,但你的技術面必須要廣,對于開發人員來說,隻要能解決問題,才稱得上是一名專業的測試人員。
通過對如上測試的三個階段工作解析,就可以很明确自己屬于哪個階段,未來努力的方向也就清晰了。
當然,如果你還認可測試是一門技術活兒的話,那就不要再為了測試人員是否需要學習程式設計這樣的問題而糾結了,因為這是一個很迂腐的問題。未來的測試行業肯定是要趨于國際化标準了,而且未來将會有越來越多的資深開發轉向測試發展,不妨可以思考一下,我們的優勢在哪兒?前段時間了解到淘寶關于性能測試工程師的要求,他們非常需要那些做過資深的開發人員有意向轉性能測試方向的人才。因為人家對所謂專業出身的測試人員已經失去了希望,很多工作不是一個專業測試人員真正所能夠完成的,沒有深厚的開發功底,對架構和細節的熟悉,不可能完成一些重量級測試分析工作的。
本文轉自一米一陽光部落格園部落格,原文連結: http://www.cnblogs.com/candle806/archive/2012/01/14/2322286.html ,如需轉載請自行聯系原作者