隨著中國軟件業(yè)的迅猛發(fā)展,軟件產(chǎn)品的質(zhì)量控制與管理正在成為企業(yè)生存與發(fā)展的核心。日益激烈、復雜的商業(yè)環(huán)境使得企業(yè)的IT系統(tǒng)需要有更快的反應速度和更高的穩(wěn)定性。解決IT系統(tǒng)的質(zhì)量問題,減少因為軟件本身的質(zhì)量而引發(fā)的問題已經(jīng)越來越被人們所關(guān)注。
而時下的軟件測試人才職場正面臨著粥多僧少的尷尬局面。業(yè)內(nèi)專家表示,軟件測試行業(yè)已經(jīng)顯現(xiàn)出實際需求與人力資源之間的尖銳矛盾,幾乎所有的IT企業(yè)在軟件產(chǎn)品發(fā)布前都需要大量的質(zhì)量監(jiān)控工作。2005年4月,權(quán)威專業(yè)人才招聘網(wǎng)站——中華英才網(wǎng)發(fā)布的最新一期的IT職場人氣排行榜顯示:IT人才仍然是企業(yè)需求量最大的人群,其中軟件測試工程師、高級程序員、產(chǎn)品項目經(jīng)理位列“三甲”,成為IT就業(yè)市場最新風向標。越來越多的國內(nèi)IT企業(yè)逐漸認識到測試環(huán)節(jié)在軟件產(chǎn)品研發(fā)過程中的重要性,軟件測試工程師也成為IT就業(yè)的新亮點,正處于地位高、待遇高的“雙高”地位。
在軟件業(yè)發(fā)達國家,軟件測試早已成為軟件開發(fā)的一個有機組成部分,在整個軟件開發(fā)周期中占很大的比例。一般說來,以IE4.0為例,代碼開發(fā)時間為6個月,而穩(wěn)定程序花去了8個月的時間。從投入的資金和人力物力來看,測試和修改花去的時間要占總投入量的60%以上。對于一些要求高可靠性、高安全性、高穩(wěn)定性的軟件,測試的費用甚至相當于開發(fā)設(shè)計總費用的3倍以上。
IDC在2004年發(fā)布的軟件質(zhì)量管理調(diào)研報告中指出,由于商業(yè)環(huán)境和軟件產(chǎn)品的日益復雜,質(zhì)量管理軟件的市場需求將會逐漸增強,預計到2008年,該領(lǐng)域市場全球銷售額將達到13.39億美元(2003年市場銷售額為6.59億美元)。EIU(英國經(jīng)濟學家商情組織)2004年底公布的調(diào)研結(jié)果也顯示,在亞太、歐洲和中東地區(qū)的21個國家中,有86%的被調(diào)查者(調(diào)查對象為高級IT經(jīng)理、IT經(jīng)理、CIO 、IT主管和技術(shù)主管)認為他們使用的應用軟件過于復雜,其中,60%的澳大利亞被調(diào)查者認為復雜的應用軟件是他們所面臨的最大困難。另外,在其對2005年IT投入領(lǐng)域的調(diào)查中,47%的被訪者表示要重視應用管理,41%的被訪者表示要加強IT 管控,38%的被訪者表示要提高應用軟件的測試與實施。
美國Mercury公司在這種背景下應運而生。作為獨立的第三方測試公司,測試工作根據(jù)相應的軟件要求并依據(jù)相應的標準進行,提供有效的測試報告。這種為電信、航天、政府等重要部門和領(lǐng)域的軟件進行安全性的第三方測試,擁有著良好的市場,如今Mercury公司占據(jù)著軟件測試市場的半壁江山。
然而,國內(nèi)軟件業(yè)因為對軟件質(zhì)量控制的重要作用認識比較晚,所以目前還沒有形成系統(tǒng)化的軟件測試人員的需求供應鏈,據(jù)《中國教育報》稱,我國目前軟件從業(yè)人員缺口有40萬人,并且在未來5到10年中,我國社會對軟件人才需求的量還將繼續(xù)增大,即使按照軟件開發(fā)工程師與測試工程師1:1的崗位比例來計算,未來幾年我國對于軟件測試人員的需求也有數(shù)十萬之眾。軟件測試人員的“供遠小于求”的現(xiàn)實問題正影響著我國軟件業(yè)的健康發(fā)展。
那么,什么是軟件測試呢?軟件測試工程師平時的工作都有哪些?軟件測試并不是簡單地對開發(fā)出來的軟件查漏補缺,而是一項需要具備較強專業(yè)技術(shù)的工作。在具體的工作過程中,測試工程師要利用測試工具按照測試方案和流程對產(chǎn)品的性能、穩(wěn)定性、安全性、可靠性等進行測試,甚至根據(jù)需要編寫不同的測試工具,設(shè)計和維護測試系統(tǒng),對測試方案可能出現(xiàn)的問題進行分析和評估,以確保軟件的質(zhì)量。
眾所周知,軟件,特別是像Windows這類的大軟件,是大量的源代碼組成的,一套成熟的ERP產(chǎn)品也有數(shù)百萬行源代碼,而每一行源代碼都可能影響到程序的其他部分,并且每個部分之間又可能相互影響??赡芤粋€小小的疏漏或者錯誤就可能導致整個系統(tǒng)的崩潰。2003年9月1日,澳大利亞電信公司(Telstra)移動網(wǎng)絡(luò)上的一個主要軟件出現(xiàn)故障,造成了大量的電話串線以及語音郵件服務(wù)器的錯誤聯(lián)接,使成千上萬的用戶受到了影響。2004年的全球數(shù)百萬的電腦系統(tǒng)崩潰,就是由“沖擊波”和“振蕩波”針對Windows操作系統(tǒng)的一個小小的漏洞所造成的。除此之外,軟件產(chǎn)品的不確定性因素過多,如:用戶需求的不確定性、設(shè)計的不可預測性。
作為一名合格的軟件測試工程師應該具備哪些素質(zhì)呢?雅虎中國品質(zhì)保證部經(jīng)理鮑海燕認為,軟件測試工程師首先必須具有電子、電機類相關(guān)專業(yè)知識背景。第二,還應有三年以上的實際操作經(jīng)驗,這也是對軟件測試負責任的表現(xiàn)。第三,軟件的使用者千差萬別,軟件在使用過程中遇到的各種現(xiàn)象也是千差萬別的,所以要求軟件測試工程師需要具有一些逆向思維的能力。這是作為一名優(yōu)秀的軟件測試工程師最基本的素質(zhì)。第四,要有一種窮追到底的精神。第五,善于溝通,軟件測試人員與開發(fā)人員搞好關(guān)系,這對于提高整個軟件項目質(zhì)量是十分重要的。第六,軟件測試技術(shù)隨著時間的變化也在做一些提高和改進,作為一名優(yōu)秀的測試人員要善于利用書籍、網(wǎng)站、論壇、同事間交流等各種途徑不斷提高自己的軟件測試水平。第七,當軟件測試人員發(fā)現(xiàn)軟件中存在缺陷的時候,往往要書寫缺陷報告,作為一名優(yōu)秀的測試人員提高自己的寫作能力是非常必要的。
一名合格的軟件測試工程師必須經(jīng)過嚴格的系統(tǒng)化職業(yè)教育培訓。作為軟件正式投放市場前的質(zhì)量把關(guān)人,如果沒有專業(yè)的技術(shù)水準、沒有高度的工作責任心、沒有持之以恒的耐心和細心以及自信心,那么他將是無法勝任這一重要工作崗位的。
目前,國內(nèi)少數(shù)的IT培訓機構(gòu)已經(jīng)開始認識到測試工程師的供需矛盾,開始針對軟件測試行業(yè)人才需求啟動系統(tǒng)化的專項培訓。我國軟件企業(yè)人才將日趨合理化,這無疑為我國軟件行業(yè)整體品質(zhì)的進一步提升創(chuàng)造了良好的基礎(chǔ)。