我曾經歷過這樣一個項目,當時所在的公司急需上線一套新的系統(tǒng)來替代現(xiàn)有的系統(tǒng),以滿足日益增長的需求,解決現(xiàn)有系統(tǒng)性能、功能瓶頸問題。由于需求時間非常緊,所以領導也來不急前期考察、調研,直接找了一家國內名氣比較大的軟件公司,細節(jié)也沒有溝通,直接說了粗線條的需求,然后軟件公司報了價,經過一番討價還價之后,合同簽訂了。由于決定過于草率,前期細節(jié)也沒做到位,合同中也沒有太多的約束條件,項目結果可想而知,原本急需解決現(xiàn)有系統(tǒng)不足的,但新系統(tǒng)項目拖了兩年多,雖然功能上基本上都實現(xiàn)了,但實際應用效果還不如現(xiàn)有系統(tǒng)。整個過程中,公司里參與項目的同事怨聲載道,軟件公司的開發(fā)人員也一肚子火,為什么項目會如此呢?這里面的軟件測試環(huán)節(jié)也費了很多時間,也可以說因為軟件測試工作,讓本不順的工作雪上加霜,部分細節(jié)在后續(xù)分部我會再加以說明。

行業(yè)潛規(guī)則,軟件測試要怎么測?

     先回到上面說的那個項目上來,這個項目之所以非常失敗,我想還有一個重大的原因在于,雖然項目的合同是國內非常有名氣的公司簽訂的,但事后通過其他渠道側面了解到,原來這家公司認為我們的項目太小了,于是轉包給了另一家規(guī)模不大的小軟件公司,給來了一次二轉手。

1.開發(fā)人員兼職測試

     軟件測試本來是需要利用軟件測試工具按照軟件測試方案和流程對產品進行功能和性能測試,甚至根據(jù)需要編寫不同的軟件測試工具,設計和維護測試系統(tǒng),對軟件測試方案可能出現(xiàn)的問題進行分析和評估。這也決定了,在一個合格的項目組里,必須有軟件測試人員。但實際的情況往往要悲觀得多,我見到過一些軟件項目根本沒有軟件測試人員,或者是算有,也是開發(fā)者測試自己的程序,如同讓自己檢查自己寫的作文一樣,自己測自己顯然效果不會太明顯。

      據(jù)我所知,目前很多中、小型的軟件公司都不會安排專職的軟件測試人員,在他們的職位表中,或許本來沒了軟件測試這一項。開發(fā)人員既要編寫程序,又要負責測試,其測試效果往往有限。

2.軟件測試是用軟件

     前面提到,軟件測試本來是需要利用軟件測試工具按照測試方案和流程地產品進行功能和性能測試。但實際的項目中,真正編寫軟件測試方案的非常少,而軟件測試過程頂多也是安排幾個人按照軟件功能需求上的要求,針對功能點逐一進行測試,保證常規(guī)流程能夠正常執(zhí)行行了。

     除了功能測試外,性能測試同樣重要,但卻很少有人會意識到這一點,認為軟件能用行了。我曾遇到過一個系統(tǒng),在系統(tǒng)中拉取一個大概有二十萬條記錄的報表時,竟然花了三十多分鐘的時間,當然數(shù)據(jù)再多一點時,客戶端干脆直接宕掉了,幸運的是,服務器還沒有宕掉。

3.軟件測試不重要

     在一些BOSS的眼中,軟件測試不重要,重要的是美工、開發(fā)。因為美工可以給軟件一個非常絢麗的界面,開發(fā)可以保證系統(tǒng)功能的實現(xiàn),至于系統(tǒng)的穩(wěn)定性、性能等,他們往往不太關心。

軟件測試誰都能做?

     從現(xiàn)階段來看,目前應用廣泛的還是一些中小企業(yè)里的中小型應用,而為這些中小企業(yè)客戶服務的往往也是一些中、小型軟件公司,在這種情形之下會有兩個問題。一是中小企業(yè)里很難聘請完整的IT團隊,并且在這些企業(yè)中,具話語權的也是領導層,也許他們對軟件系統(tǒng)本身并不了解,但他們總認為這些事得他們管;還有一個問題是前面也提到的中小型軟件公司里基本上不會設置專門的軟件測試崗位。

     一方面是需求方對軟件測試本身的不了解,也不知道軟件測試這回事,更不知道軟件測試的重要性了;另一方面產品提供方雖然可能知道軟件測試非常重要,但他們往往會忽略這一點,拿不重要的說,或是淡化軟件測試的重要性。

    比如一開始提到的項目,當時的情況是系統(tǒng)框架出來后,軟件公司直接將軟件打包發(fā)布,然后讓我們需求方安排人員進行軟件測試工作,尋找Bug。這明顯的輕視了軟件測試的作用,作為需求方,軟件使用人員大多數(shù)為非IT專業(yè)人士,試想連非軟件測試專業(yè)相關的IT人士都不太清楚軟件測試的方法、工具等,讓一些非IT人士來測試系統(tǒng),終的效果也是可想而知。

    由“軟件測試誰都能做”這一怪理論誕生了當下的軟件測試行業(yè)怪圈,一邊是人才缺口幾十萬,測試工程師招聘、培訓紅紅火火;一邊是看不清職業(yè)發(fā)展、“成功沒我份,失敗全我錯”的測試崗位從業(yè)者。而在這里面我想還有一部分原因在于,很多人都認為軟件測試誰都能做,從一定程度上降低了軟件測試行業(yè)的含金量,另一方面是當前的軟件測試行業(yè)沒有形成一定的規(guī)模效應,缺少既定的顯性標準,缺少凝聚真正的軟件測試從業(yè)者的平臺、圈子。

軟件測試工程師何去何從?

    “成功沒我份,失敗全我錯”雖然這是目前很多軟件測試崗位的現(xiàn)狀,但我想隨著軟件測試行業(yè)的規(guī)范化,以及各方對軟件測試本身的重視,這種局面會被改變。而作為軟件測試工程師需要做的是什么呢?需要何去何從?個人覺得有幾點理應值得重視。

1.對軟件測試充滿激情

     我不知道現(xiàn)在做的工作或測試是不是你喜歡的,但我想告訴你,如果你正在做著軟件測試或者打算要從事軟件測試這一行,你需要對軟件測試充滿激情。你需要學會享受,從找到的Bug中得到一種滿足,在哪怕是給系統(tǒng)帶來性能上1%提升,你也要為此感到驕傲,要從軟件測試之中發(fā)現(xiàn)自己的價值。

2.學會并善于思考

     在工作中為什么要學會思考,做軟件測試不止是簡單的執(zhí)行,你要想想你同事做的軟件測試用例有沒有到位,是不是已經是好的,如果讓你來做是不是可以更簡單可以達到目標等等。

3.找到一個好的平臺、建立自己的圈子

    現(xiàn)在SNS應用非常發(fā)達了,但在SNS上顯得過于“娛樂”,不太專業(yè)。如果你想專于軟件測試行業(yè),找到一個好的平臺,建立自己的圈子則非常重要。在圈子中有一定的影響力之后,相信你需要換工作也會容易得多,行業(yè)中的獵頭崗位相信也會離你更近一步。

     我想對于一些軟件測試人員來說,頭痛的事可能正在此處。網(wǎng)上各類技術論壇比比皆是,但軟件測試行業(yè),相樣的平臺卻沒見過,F(xiàn)在要告訴你的是,中國信息主管網(wǎng)聯(lián)姻軟件質量管理領域的龍頭企業(yè)??中國惠普,共同建立了軟件測試領域的專業(yè)技術網(wǎng)站??中國測試平臺網(wǎng)堅持以報道軟件測試專業(yè)技術為核心,關注軟件測試領域的前沿技術和管理思想,定期舉辦各種在線活動以推動軟件測試相關領域的交流,力求為中國廣大軟件廠商、系統(tǒng)集成商、IT渠道,以及IT專家、測評專業(yè)人士、熱心網(wǎng)友等提供一個軟件測試、專家問詢、交流溝通的在線互動平臺。

     有了中國測試平臺網(wǎng)這一平臺,相信我們的軟件測試行業(yè)會進步得更快,當整個產業(yè)鏈都對軟件測試有了非常深的認識時,相信我們的軟件項目質量也會跟著上一個臺階。如果你還在困頓于找不到好的平臺時,不妨到中國測試平臺網(wǎng)上去看看,有了這支正規(guī)軍隊伍,相信你也能很快找到自己的歸屬。