再談軟件測試-工作感悟

         軟件測試,一個即將要崛起的行業,卻也是一個充滿着爭議性的行業。談到崛起,是因爲我們發現,我們身邊的客戶開始越來越關注軟件的體驗性了,如果你的軟件還有功能問題,他們可就不那麼待見你了。同樣,在國內的公司也是越來越開始重視軟件測試,這幾年,測試的職位需求量越來越多了,各種外包、培訓機構,爭先恐後而至~說起爭議性,那就要從門檻來說了,畢竟,所謂軟件測試,也是IT行業中一個技術領域,只不過,在國內,大家並不這麼認爲,所以專業不專業,先進去就再說!我最近在羣裏看一個非計算機專業同學,諮詢各位關於軟件測試這個行業的發展前景,當然有人質疑他非技術專業出身,可能發展會有瓶頸,但他的迴應是,沒見那些計算機專業出身的同學學得怎麼樣啊~並且他個人表示,5個月之後,他就可以跟各位一樣進入這個領域,因爲他決定去參加軟件測試培訓。當然潑冷水的人有很多,但也不乏還是有很多支持的,認爲完全沒問題。通過對行業一些現象的分析,作爲這個行業中的一分子,我們似乎更關心,我們未來的發展方向,我們的核心優勢在哪兒,我們的競爭壓力又在哪兒?進入這個行業的人衆說紛紜,有人說是爲了熱愛測試,有人說了,因爲開發能力不行,只能退一步而行之,但至少是計算機專業出身的。測試並不是一個注重專業的領域,其實我是想跟那位同學建議,其實你可以選擇去培訓開發,或許這樣你的技術之路會走得更遠。就像這個行業流行的一種說法,如果你做了幾年資深開發,你纔有資格成爲一名專業的測試人員。此言一語道明,對於一名優秀測試人員的技術能力要求遠勝開發人員,只是我們身邊這樣的人太少而已。

  談到測試工作定位,通過這幾年的工作,開始不斷的感悟,在此我想從這些感悟中對當前測試的三階段段來分別談一談:

  一、測試是爲了發現問題

  這個觀點一開始就是指引着我們工作的方向,甚至我們會爲了發現更多的問題而感到愉悅,就像開發人員完成一個功能開發一樣,有一種成就感,所以測試的成就感就是給開發找茬。所以我們每天都會關注JIRA上bug量是否在增長,可能包括你的主管都會對bug的量來評定績效考覈,當然這都必須,因爲測試就這麼點增長點而已。

  二、測試是爲了定位問題

  對於這樣的測試人員,開發就很喜歡,因爲省去了他們很多定位問題的時間,當然這樣就對於測試人員的要求就要高了。定位問題從測試角度來看,那就是兩個過程,首先你要發現問題,比如一個保存功能,你測試下來發現保存失敗,這個時候你就會將此問題提交到缺陷管理工具上,並告知開發,如果僅此而已,那開發就需要去查找這個問題出現原因,首先保存失敗可能有幾種情況,有可能是數據沒有保存到數據庫中,前天提示保存失敗;另外可能是數據保存到數據庫了,但沒有傳回到前臺,而提示失敗;還有可能是返回值不對,導致提示信息出現提示錯誤,等等~想想開發去這樣定位的問題,對於時間成本的控制,他們肯定就比較不爽了,如果這樣的問題不斷暴漲,那開發也會崩潰的。那如果測試人員去完成這樣的一個工作,直接把問題定位到,比如產生此問題的原因是由於數據沒有被保存到數據庫中而導致的提示保存失敗,這個時候開發一看到bug的描述就明白了,原來是因爲我的保存方法有問題所導致,這樣他就很快可以解決問題了,同樣他也會對你的工作而感到欣慰!當然,這裏只是舉一個很簡單的例子,目的是爲了說明,我們如何提升我們自己的能力,定位問題是測試人員應該具備的能力。

  三、測試是爲發現並解決問題

  說到測試人員去解決問題,可能大多數人覺得是不可思議的事情。所以這裏就需要去領悟前面提到的依據話:如果做過幾年資深的開發人員,你纔有資格成爲一名專業的測試人員。對於開發來說,並不是所有的bug都需要修復的;而對於測試來說,也並不是所有的bug都是開發去解決的。這裏也來舉例說明下:當你在測試一段數據查詢效率的問題時,通過一番折騰,你發現你找到了問題,並可以很自信的告訴開發人員,你的sql語句效率有問題,當你數據庫中有5萬條記錄時,查詢最後一條記錄,它就要輪詢5萬多行才能找到,這樣導致最終的查詢效率就非常低下了,加入數據到幾百萬條時,就需要輪詢幾百萬行,這個性能是幾乎不能想象的。所以這個時候,你告訴開發人員這樣的結果和論證,並告知他需要優化的幾點意見,比如更新表結構,增加索引機制;另外優化配置文件,比如修改緩存的大小等等。最後開發人員會思考,要麼指派一名專業的數據庫DBA來完成優化,要麼就自己解決,不過不是所有的公司都有專職DBA的,所以如果開發人員對數據庫優化也沒有太多的經驗,那他解決的速度還不定有測試人員快~所以這樣的問題衡量下來,發現只能測試人員自己去解決,邊優化的同時,還可以邊測試。當然,這裏想表達的觀點就是,測試人員不一定在某個技術領域是大牛,但你的技術面必須要廣,對於開發人員來說,只要能解決問題,才稱得上是一名專業的測試人員。

  通過對如上測試的三個階段工作解析,就可以很明確自己屬於哪個階段,未來努力的方向也就清晰了。

  當然,如果你還認可測試是一門技術活兒的話,那就不要再爲了測試人員是否需要學習編程這樣的問題而糾結了,因爲這是一個很迂腐的問題。未來的測試行業肯定是要趨於國際化標準了,而且未來將會有越來越多的資深開發轉向測試發展,不妨可以思考一下,我們的優勢在哪兒?前段時間瞭解到淘寶關於性能測試工程師的要求,他們非常需要那些做過資深的開發人員有意向轉性能測試方向的人才。因爲人家對所謂專業出身的測試人員已經失去了希望,很多工作不是一個專業測試人員真正所能夠完成的,沒有深厚的開發功底,對架構和細節的熟悉,不可能完成一些重量級測試分析工作的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章