程秀才,王 蕊,榮鼎慧
(國家軟件產(chǎn)品質(zhì)量監(jiān)督檢驗中心,江蘇 南京 210012)
淺談我國軟件測試行業(yè)人才現(xiàn)狀及培養(yǎng)體系
程秀才,王 蕊,榮鼎慧
(國家軟件產(chǎn)品質(zhì)量監(jiān)督檢驗中心,江蘇 南京 210012)
隨著全球經(jīng)濟(jì)一體化進(jìn)程加快及兩化深度融合,各行業(yè)對軟件產(chǎn)品質(zhì)量的要求也越來越高,尤其體現(xiàn)在軟件安全和性能方面。這必然帶動了軟件檢測行業(yè)的興起。在我國一些重要應(yīng)用領(lǐng)域,如電子政務(wù)、金融、安全、航空、軍方等,都逐步將軟件檢測和質(zhì)量監(jiān)督通過合同委托第三方承擔(dān),以確保軟件產(chǎn)品的質(zhì)量符合用戶的預(yù)期效果。在此大環(huán)境之下,軟件產(chǎn)品檢測必將迎來蓬勃發(fā)展,也導(dǎo)致專業(yè)的軟件測試人才需求缺口巨大,軟件測試,已經(jīng)成為最有市場前景的朝陽行業(yè)。本文將重點探討我國軟件測試人才的現(xiàn)狀、培養(yǎng)體系、職業(yè)發(fā)展等。
軟件測試 人才培養(yǎng)體系
受益于經(jīng)濟(jì)轉(zhuǎn)型和產(chǎn)業(yè)升級,我國軟件產(chǎn)業(yè)呈現(xiàn)加速發(fā)展態(tài)勢。2006年以來,隨著國民經(jīng)濟(jì)的持續(xù)高速增長,我國軟件行業(yè)一直保持快速健康發(fā)展,“十二五”期間,軟件行業(yè)收入年均增速達(dá)31%。2016年,在整體經(jīng)濟(jì)增長放緩的條件下,軟件行業(yè)依然保持快速增長態(tài)勢。2016年,中國軟件行業(yè)共實現(xiàn)業(yè)務(wù)收入4.9萬億,同比增長14.9%。受益于軟件產(chǎn)業(yè)的發(fā)展,軟件測試領(lǐng)域也呈現(xiàn)出了較為廣闊的職業(yè)發(fā)展空間。
2007至 2016年我國軟件業(yè)務(wù)收入及增長情況如圖1所示。
軟件測試雖屬新興,但在軟件產(chǎn)業(yè)起步較早的發(fā)達(dá)國家, 軟件測試不僅早已成為軟件開發(fā)的一個重要組成部分,而且在整個軟件開發(fā)的系統(tǒng)工程中占據(jù)著相當(dāng)大的比重。目前,國內(nèi)軟件產(chǎn)業(yè)規(guī)模也越來越大,突破了傳統(tǒng)的作坊式生產(chǎn),從單打獨斗的開發(fā)模式升級為工業(yè)化、流水線式的生產(chǎn)模式,使得專業(yè)的軟件測試人才需求缺口巨大。據(jù)悉,中國IT人才缺口超過100萬名,其中30萬名以上為軟件測試人才。目前國內(nèi)軟件測試和開發(fā)人員比例大約在1:4~1:5之間,而國外測試和開發(fā)人員比例為1:1甚至更高。
圖1 2007至2016年我國軟件業(yè)務(wù)收入及增長情況Fig.1 Revenue and growth of software business in China from 2007 to 2016
由此可見,我國的IT行業(yè)人才結(jié)構(gòu)正處于失衡狀態(tài),缺口巨大,這不但成為影響中國軟件產(chǎn)業(yè)健康發(fā)展的瓶頸,制約著軟件整體質(zhì)量的提高,也加重了軟件產(chǎn)業(yè)的開發(fā)和服務(wù)成本負(fù)擔(dān)。因此,如何盡快建立軟件測試人才的系統(tǒng)培養(yǎng)機(jī)制、進(jìn)而保障軟件產(chǎn)業(yè)的健康發(fā)展已成為現(xiàn)階段亟需解決的當(dāng)務(wù)之急。
軟件測試工程師作為軟件產(chǎn)品質(zhì)量的把關(guān)者,必須具備以下職業(yè)素養(yǎng):
1. 過硬的技術(shù)能力。軟件測試是一項技術(shù)性很強(qiáng)的工作,作為軟件測試工程師,必須掌握黑盒、白盒等軟件測試基礎(chǔ)理論,熟悉應(yīng)用邊界值分析、等價類劃分、決策表、因果圖法等技術(shù),編寫全面實用的測試用例,然后選擇合適的測試工具,執(zhí)行測試、提交并跟蹤問題。要熟悉功能、性能、安全等測試工具和測試平臺的使用甚至定制化二次開發(fā),具有編寫自動化測試腳本的能力。因為行業(yè)的不同,其測試用的工具和方法也不太一樣,例如手機(jī) App、數(shù)通產(chǎn)品、C/B-S應(yīng)用等,這些產(chǎn)品的差異性很大,其用到的測試工具和方法也很不一樣,但萬變不離其宗,其基本的測試?yán)碚撨€是一致的。
2. 溝通協(xié)調(diào)能力。一名合格的測試工程師應(yīng)能夠與所有測試項目干系人進(jìn)行有效溝通。干系人是指與測試活動、測試工作產(chǎn)品、最終系統(tǒng)或交付物的質(zhì)量有利益關(guān)系的人。干系人的利益可能是直接或間接地介入測試活動、直接或間接地接受測試工作產(chǎn)品,或者直接或間接地受到項目生產(chǎn)的交付物的質(zhì)量的影響。測試干系人取決于項目、產(chǎn)品、組織或其他因素,包含但不限于開發(fā)人員、系統(tǒng)設(shè)計師、市場業(yè)務(wù)人員、高層管理人員、項目經(jīng)理、直接或間接用戶等等。軟件測試貫穿于軟件開發(fā)的整個生命周期內(nèi),需要與項目中所有干系人進(jìn)行有效溝通,而測試工作本身的一個重要任務(wù)就是找出程序、系統(tǒng)中的缺陷,并推動其修改完善,這就有可能與開發(fā)人員等項目干系人發(fā)生直接或間接的沖突對抗。所以,測試工程師不僅應(yīng)具備站高看遠(yuǎn)的統(tǒng)籌規(guī)劃能力,更應(yīng)具備良好的溝通協(xié)調(diào)能力、分析能力、組織能力,可以促成團(tuán)隊有效合作,保障項目順利開展。
3. 洞察力、懷疑精神與強(qiáng)烈的責(zé)任心。一名合格的測試工程師應(yīng)具有強(qiáng)烈的責(zé)任心、敏銳的洞察力,能夠及時捕獲到軟件缺陷各類蛛絲馬跡的表象,由表及里,把握問題出現(xiàn)的規(guī)律性和重現(xiàn)性,探索各種測試用例、測試工具及測試方法,最大限度地暴露系統(tǒng)出現(xiàn)的各種問題。同時,應(yīng)具備對軟件系統(tǒng)高風(fēng)險區(qū)的判斷能力,遵循集群效應(yīng)和殺蟲劑悖論等客觀規(guī)律,能夠在有限的資源環(huán)境下高效發(fā)現(xiàn)更多的嚴(yán)重質(zhì)量缺陷。能夠?qū)①|(zhì)量意識貫穿到軟件生命周期的各個階段,善于從用戶角度、質(zhì)量角度、系統(tǒng)整體的角度思考和解決問題。
軟件測試人才技術(shù)能力的提高,通常有以下幾個階段,如下圖2所示。
軟件測試人才的職業(yè)發(fā)展規(guī)劃,通常分為專業(yè)技術(shù)與綜合管理兩大通道,以及相應(yīng)的延伸崗位,如下圖3所示。
如圖3所示,軟件測試工程師一般有兩大發(fā)展方向,一是走技術(shù)路線,成長為高級軟件測試工程師,甚至自己開發(fā)測試工具。二是向管理方向發(fā)展,從初級測試工程師或項目協(xié)管,到項目主管、項目總監(jiān),以至更高更多的管理職位??傊?jīng)過軟件測試崗位鍛煉的人才往往是行業(yè)中的多面手,在技術(shù)、管理、市場甚至其它非IT領(lǐng)域都能得到良好的發(fā)展。這當(dāng)然也離不開個人的長遠(yuǎn)眼光和合理的職業(yè)生涯規(guī)劃。
1. 高校專業(yè)培養(yǎng)理論基礎(chǔ)。在大專院校傳統(tǒng)的軟件工程、計算機(jī)科學(xué)與技術(shù)、信息網(wǎng)絡(luò)等大專業(yè)下,開設(shè)軟件測試專業(yè)作為補(bǔ)充分支,讓在校學(xué)生系統(tǒng)學(xué)習(xí)軟件測試知識體系,軟件測試體系主要內(nèi)容如下圖4所示。
圖2 軟件測試人才技術(shù)能力層次Fig.2 Technical competence level of software test personnel
圖3 軟件測試人才的職業(yè)發(fā)展Fig.3 Professional development of software testing talents
2. 產(chǎn)學(xué)研結(jié)合培養(yǎng)實戰(zhàn)型人才。高??梢砸劳行袠I(yè),與知名軟件企業(yè)、研究機(jī)構(gòu)、培訓(xùn)機(jī)構(gòu)聯(lián)合培養(yǎng),建立“學(xué)校-企業(yè)-研究院所”人才綠色通道或?qū)嵙?xí)、實訓(xùn)基地,合作辦學(xué),這是培養(yǎng)應(yīng)用性人才的重要方式,通過學(xué)校、企業(yè)、科研院所的有機(jī)結(jié)合,充分利用學(xué)校和社會兩種不同的教育環(huán)境和資源優(yōu)勢,把以課堂傳授理論知識為主的學(xué)校教育與直接獲取實際經(jīng)驗和提高實踐能力為主的生產(chǎn)實踐有機(jī)地結(jié)合起來。學(xué)生在教師和企業(yè)工程師的指導(dǎo)下,參與實際測試項目,既能為企業(yè)解決部分測試人力資源緊缺問題,又能使學(xué)生在實戰(zhàn)中得到鍛煉,通過考察、選拔,直接為企業(yè)或科研院所輸送具有一定理論和技術(shù)技能的合格的軟件測試人才。
圖4 軟件測試體系基礎(chǔ)理論Fig.4 The basic theory of software testing system
3. 與第三方軟件測評機(jī)構(gòu)、國家軟件質(zhì)檢中心合作。
第三方測試是指獨立于開發(fā)企業(yè)和用戶自身的測試。其目的是為了保證測試工作的客觀性。第三方測試機(jī)構(gòu)也是一個中介服務(wù)機(jī)構(gòu),它通過自己專業(yè)化的測試手段為客戶提供有價值的服務(wù)。第三方測試機(jī)構(gòu)除了發(fā)現(xiàn)軟件問題之外,還有對軟件進(jìn)行科學(xué)、公正的評價的職能,這就要求第三方測試機(jī)構(gòu)要保持公正、廉潔、客觀、科學(xué)、獨立的態(tài)度。
從國外的經(jīng)驗來看,測試應(yīng)逐漸由專業(yè)的第三方來承擔(dān)。第三方測試工程主要包括需求分析審查、設(shè)計審查、代碼審查、單元測試、功能測試、性能測試、可恢復(fù)性測試、資源消耗測試、并發(fā)測試、健壯性測試、安全測試、安裝配置測試、可移植性測試、文檔測試以及最終的驗收測試等十余項。
第三方測試機(jī)構(gòu)面對的是各種各樣的系統(tǒng),而且大多與具體的業(yè)務(wù)相關(guān),這就要求他們不僅有寬廣深厚的軟件測試技術(shù)功底,還需要積累行業(yè)知識和經(jīng)驗,并且融會貫通。目前,我國涌現(xiàn)了很多的第三方測試機(jī)構(gòu),雖然它們處于不同的發(fā)展階段,但是它們的存在必將對我國整個軟件產(chǎn)業(yè)的健康發(fā)展起到巨大的促進(jìn)作用。
因此,將高校充裕的人才資源與第三方測評機(jī)構(gòu)深厚的技術(shù)、設(shè)備、資金、業(yè)務(wù)資源有機(jī)結(jié)合,簽署人才引進(jìn)協(xié)議或定向培養(yǎng)協(xié)議,選拔部分高校優(yōu)秀學(xué)生作為實習(xí)生,直接參與各類第三方測試項目。利用雙方的互補(bǔ)資源優(yōu)勢,相互學(xué)習(xí)、協(xié)作、促進(jìn),實現(xiàn)雙贏。
隨著軟件產(chǎn)業(yè)的快速健康發(fā)展,我國中高級軟件測試人才的需求量會進(jìn)一步加大,而初級測試工程師的上升潛力也是非常巨大的。與其他IT職位相比,軟件測試人員最大的優(yōu)勢就是發(fā)展方向的多元化。由于工作的特殊性,測試人員不但需要對軟件的質(zhì)量進(jìn)行檢測,而且對于軟件項目的立項、管理、售前、售后的等領(lǐng)域都要涉及。在這過程中,測試人員不僅提升了專業(yè)的軟件測試技能,還能接觸到各行各業(yè),項目管理、溝通協(xié)調(diào)、市場需求分析等能力都能得到很好的鍛煉,從而為自己的多元化發(fā)展奠定了堅實的基礎(chǔ),軟件測試人才的未來,前景可期。
[1] 王象剛. 基于云計算的軟件測試[J]. 軟件,2013,34(12):246.
[2] 王象剛. 軟件測試過程管理工具的設(shè)計與實現(xiàn)[J]. 軟件,2014, 35(2):96-97.
[3] 王云.《軟件測試》課程教學(xué)探索與思考[J]. 軟件,2015,36(7):129-131.
[4] 王慶喜,鐘家民. 《軟件測試》教學(xué)平臺的設(shè)計與實現(xiàn)[J].軟件,2016,37(5):15-17.
[5] 蘭景英.《濰坊工程職業(yè)學(xué)院學(xué)報》,2011(4): 71-73.
[6] 李兆翠,殷曉峰,趙淑芳.《科學(xué)時代》, 2013(24).
[7] 鐘素芬,葉明芷. 《北京聯(lián)合大學(xué)學(xué)報》, 2007, 21(3): 89-92.
[8] 季玉茹,張續(xù)贏,王金宏,王德忠.《吉林化工學(xué)院學(xué)報》,2013, 30(4): 43-46.
[9] 陳曉竹,王德林,道克剛,陸慧娟,黃俊.《技術(shù)監(jiān)督教育學(xué)刊》, 2005 (1).
[10] 趙俊彬.《青年時代》,2017(1): 171-171.
Talent Status and Training System of Software Testing Industry in China
CHENG Xiu-cai, WANG Rui, RONG Ding-hui
(National Center of Supervision & Inspection on Software Products Quality (Jiangsu), Nanjing, 210012, China)
With the acceleration of the global economic integration and the deep integration of the two industries,the quality of software products in various industries is becoming higher and higher, especially in terms of software security and performance. This will inevitably lead to the rise of software testing industry. In our country some important applications, such as e-government, finance, security, aviation, military etc., gradually the software testing and quality supervision by contract to entrust the third party to bear, to ensure that the expected effect of the quality of software products with the users. In this environment, software testing will usher in vigorous development, but also lead to a huge gap in the demand for professional software testing talents, software testing has become the most promising sunrise industry. This article will focus on the current situation of software testing personnel, training system, career development and so on.
Software testing; Talent training system
TP311.56
A
10.3969/j.issn.1003-6970.2017.12.050
本文著錄格式:程秀才,王蕊,榮鼎慧. 淺談我國軟件測試行業(yè)人才現(xiàn)狀及培養(yǎng)體系[J]. 軟件,2017,38(12):254-257
程秀才(1979-),男,博士,副高,主要研究方向:軟件及智能化檢驗檢測公共技術(shù)服務(wù)平臺的建設(shè)與運營;王蕊(1983-),女,碩士,工程師,主要研究方向:軟件及智能化檢驗檢測技術(shù)。榮鼎慧,女,(1983-),碩士,工程師,主要研究方向:標(biāo)準(zhǔn)化。