向軍 王曉芳 李超
摘要:軟件測試課程是一門應用性很強的專業(yè)課程,作者結合自身從事軟件測試企業(yè)的工作經歷和多年從事軟件測試教學的心得體會,分析軟件測試行業(yè)的巨大人才需求背景,指出傳統(tǒng)高校軟件測試課程教學存在的不足,提出面向應用基于項目驅動的校企合作教學改革模式,并說明教學效果。
關鍵詞:軟件測試;項目驅動;校企合作;應用性
引言
軟件測試課程是高校計算機類專業(yè)開設的專業(yè)方向課程,由于課程知識點與軟件工程課程存在一定的重疊,且很多該專業(yè)學生存在對軟件測試行業(yè)了解的誤區(qū),所以軟件測試課程教學效果差強人意。實際上,IT行業(yè)對于軟件測試工程師需求是特別巨大的,這就導致了尷尬的局面:軟件測試部門招不到人,而計算機類專業(yè)畢業(yè)生既缺乏軟件測試技能又不愿從事軟件測試工作。隨著中央政府要求更多的地方高校向應用型轉變,這些高校的計算機類專業(yè)應該順應高校轉型潮流,進一步明確專業(yè)面向應用的定位,加快專業(yè)方向課程的改革。國內很多學者從軟件測試內容、基于卓越計劃驅動等角度提出改革方案,但改革方案應用性不強。筆者既有在IT企業(yè)從事軟件測試工作的經歷,又從事多年高校計算機科學與技術專業(yè)的軟件測試課程教學工作,因此,對于轉型為應用型高校的計算機類專業(yè)軟件測試課程教學,建議采用面向應用基于項目驅動和校企合作的改革模式。
1軟件測試行業(yè)巨大的人才需求
軟件測試崗位一直是IT企業(yè)中的熱門崗位。據國內知名就業(yè)網站前程無憂統(tǒng)計,軟件測試崗位需求為IT職位前8名,全國就業(yè)崗位數量非常大。軟件測試行業(yè)職位又可分為測試員、軟件測試工程師、高級軟件測試工程師、測試經理等。就軟件測試工程師職位而言,在北京、深圳等一線城市,起點工資月薪可達8000元人民幣。
軟件測試工程師崗位招聘除日常的學歷、資歷要求外,一般還有以下4方面的專業(yè)素質要求:能編制軟件測試方案、設計測試用例、執(zhí)行與記錄測試;熟練使用常見的一兩種主流自動化測試工具;熟練操作常見的數據庫管理系統(tǒng)(如ORACLE、SQL SERVER等)和SQL語言;熟練使用一兩種主流開發(fā)工具和開發(fā)語言(如Java或C++)。作為計算機類專業(yè)畢業(yè)生,達到軟件測試工程師崗位的上述要求應該說是不難的,但現(xiàn)實情況是,企業(yè)即使給出高薪的條件,也難招聘到滿意的軟件測試工程師。筆者分析原因在于以下幾點:
(1)計算機類專業(yè)畢業(yè)生存在對軟件測試行業(yè)的認識誤區(qū),出現(xiàn)諸如“重開發(fā)輕測試”“軟件測試技術含量低、待遇低、發(fā)展前景一般”等片面的觀點;甚至出現(xiàn)高校教師也持有同樣觀點,導致教學過程中未能引導學生正確認識軟件測試行業(yè)和軟件測試崗位;如此一來,畢業(yè)生更加不愿意選擇軟件測試工作。
(2)國內大多數轉型高校在本科、??茖哟蔚膶I(yè)設置中并未專門開設軟件測試專業(yè),招聘崗位大多數來自計算機科學與技術、軟件工程等專業(yè),而這些專業(yè)畢業(yè)生又都只是一心從事軟件工程師工作。
(3)有不少計算機類專業(yè)的女生愿意從事軟件測試工作,但在上述崗位要求的開發(fā)能力、數據庫方面相對男生有所欠缺(這里以筆者所在的湖北民族學院計算機科學與技術專業(yè)為例)。
2傳統(tǒng)高校軟件測試課程教學現(xiàn)狀
雖然軟件測試行業(yè)崗位需求巨大,但未轉型為應用型高校的計算機類專業(yè)的軟件測試課程教學存在不適應軟件測試行業(yè)發(fā)展的問題。從專業(yè)建設角度來說,應用性體現(xiàn)并不明顯。
2.1課程定位
對于軟件測試課程,不同高校的計算機類專業(yè)課程定位不同。以計算機科學與技術專業(yè)為例,按照教育部計算機科學與技術專業(yè)教學指導分委員會定義,軟件測試為非專業(yè)核心課程,屬于專業(yè)課程。有的高校將軟件測試定為專業(yè)方向必修課,也有高校將其定為專業(yè)方向選修課程。
2.2教學內容
傳統(tǒng)高校計算機類軟件測試課程教學內容總體來說存在重理論輕實踐、學時數偏少、與企業(yè)需求脫節(jié)、應用性不強、不注重課程間銜接的問題。而且,還存在軟件工程課程與軟件測試課程知識重疊問題,教學內容重點體現(xiàn)在軟件測試基本流程、軟件測試方法等概念性的知識,沒有把IT企業(yè)有廣泛需求和應用的測試管理、自動化測試工具、測試規(guī)范等重要內容作為課程重點講解和實踐。
2.3教學方式
傳統(tǒng)高校的軟件測試課程的授課教師,由于缺乏企業(yè)工作經歷和項目管理經驗,無論是理論課程還是實踐課程上課,都難以激發(fā)學生對的學習興趣。存在教學內容枯燥、教學方式單一、教學考核評價方式傳統(tǒng)(如課程結業(yè)論文)等問題,難以提高學生的項目工程實踐能力,導致學生就業(yè)時無法達到企業(yè)招聘軟件測試工程師的要求。
3面向應用的軟件測試教學改革
轉型高校計算機類專業(yè)若要將學生培養(yǎng)成軟件測試工程師,應該從3條基線加以培養(yǎng),主要包括軟件測試專項課程、程序設計能力及平臺使用、web技術及數據庫,具體知識體系如圖1所示?;谄P系,此處重點討論軟件測試課程知識。軟件測試課程改革的面向應用,主要體現(xiàn)在項目工程的實踐性。筆者選取IT業(yè)成熟城市的公司,將其工程項目引入課程的實踐教學中。在教學中,把學生分成多個小組,小組中每個學生以不同的角色(如項目經理、軟件工程師、軟件測試工程師等)參與到項目的實踐過程中。筆者每上軟件測試第一次課時,都會帶領學生一起瀏覽智聯(lián)招聘、前程無憂等主流招聘平臺當天有關軟件測試工程師崗位的職位要求,讓學生明白任課教師的出發(fā)點就是面向應用,希望學生學完此課程后能基本勝任軟件測試工程師的崗位。
軟件測試教學改革主要從教學內容知識體系、實踐教學改革、考核評價改革、改革效果的
設置軟件測試課程教學內容要充分考慮融合軟件測試工程師崗位所需的數據庫技術、高級語言程序設計及開發(fā)平臺兩方面的知識,這樣課程體系才具有系統(tǒng)性、綜合性、交叉性。例如,教師在講授自動化測試工具Quick TestProfessional及Test Director時,應將這兩個工具與主流的數據庫管理系統(tǒng)SQL Server、Oracle等結合起來;講授白盒測試工具c++Test時,應將c++程序設計與相應的開發(fā)平臺結合起來,并加以舉例應用。
3.2實踐教學改革
實踐教學是軟件測試課程重要的組成部分。要體現(xiàn)軟件測試課程的應用性,就必須改革實踐教學。傳統(tǒng)高校軟件測試課程實踐教學通常圍繞軟件測試流程制訂測試計劃、測試設計、執(zhí)行測角度闡述改革方案。
3.1教學內容知識體系
軟件測試課程教學內容改革主要體現(xiàn)在應用性、工程實踐性上,同時還要考慮課程與圖1中相關課程的交叉性、關聯(lián)性。筆者結合企業(yè)需求和計算機類專業(yè)人才培養(yǎng)方案,擬定軟件測試課程的主要教學內容和課時安排,詳細安排如表1所示。表1中軟件測試課程總學時為40學時,理論和實踐各為20學時。相對傳統(tǒng)高校軟件測試課程,表1中實踐總學時占總學時比例較高,達到50%。試、測試總結等幾個環(huán)節(jié)展開,總學時數一般為8~12學時。這種實踐教學模式存在實踐學時數偏少、每個流程實驗分散開設、無項目管理過程練習等不足。因此,對實踐教學要進行更加面向應用、結合企業(yè)需求的改革。
(1)實踐教學總學時數提高到20學時,不再按測試流程逐個單獨開設實驗。20學時的實踐教學融為一個項目案例,按照軟件測試企業(yè)項目管理流程及模式開展,分團隊開展訓練,一個團隊一個項目。
(2)集中實踐教學時間段,不間斷教學過程,統(tǒng)籌安排學生上課時間,在項目工程實踐階段不安排其他任何課程,保證學生全身心投入到項目工程實踐中。
(3)加強校企合作,充分利用合作企業(yè)工程師的項目經驗。項目工程實踐期間,請合作企業(yè)工程師或項目經理遠程指導項目管理,解決技術問題。當條件成熟時,還可將合作企業(yè)的部分項目納入到課程的項目工程實踐教學過程中,真正實現(xiàn)服務測試外包。進一步提高學生的軟件測試項目工程實踐能力,讓學生盡早適應企業(yè)管理的工作模式。
3.3考核評價改革
轉型高校教學側重應用和工程實踐,因此教學課程的考核和評價也應進行相應改革。傳統(tǒng)的教學課程考核多為考試、課程報告等形式,這些形式特別容易出現(xiàn)抄襲、只做報告不做設計、不做編碼等問題,原因就在于考核側重結果忽略過程。如何結合實踐教學過程和結果考核,是改革問題關鍵。在師資隊伍充足的情況下,可作如下改革:
(1)教學過程中成立項目小組,每個小組由3~4人組成,每小組一個組長,成員進行相應分工。每次任務完成后,任課教師按小組評定成績并排名,課程結束時進行一次項目答辯,組長主講,小組成員陳述自己分工內容。學生課程成績主要來自兩部分:小組成績(占70%權重),答辯表現(xiàn)(占30%權重)。
(2)課程結業(yè)方式多樣化。除了采用項目答辯,還可增加軟件源代碼、項目文檔、課程報告、學科競賽成績充抵等方式。
(3)鼓勵學生參加有影響力的軟件行業(yè)工程資格認證,如全國軟件測試工程師、測試工具資格證等,若獲證可申請免修。
3.4改革效果
以筆者所在的湖北民族學院計算機科學與技術專業(yè)為例,自2012年采用上述教學改革方案以來,軟件測試課程教學取得了良好的效果。據初步統(tǒng)計,計算機科學與技術專業(yè)每年約有10%畢業(yè)生從事軟件測試相關工作,提高了就業(yè)質量。實施改革后提高了學生學習軟件測試課程興趣,缺勤率在1%之內。學生項目管理水平得到顯著提高,得到企業(yè)的廣泛認可。