摘要:隨著計算機技術的發展,軟件測試越來越受到IT企業的重視,但這方面的專業人才卻“千金難求”。因此,高職院校應按照“以就業為導向”的辦學方向,加強軟件測試專業建設,并建立起“多元整合,突出技能”的課程體系。
關鍵詞:高職教育;軟件測試;主體內容
近幾年來,我國高職教育發展迅猛,競爭日趨激烈,誰先開辟了適應市場需求的專業,誰就搶占了先機。隨著計算機技術的發展,社會對軟件功能提出的要求越來越高,如何開發出高質量的軟件已成為一個迫切需要研究解決的課題。由此,軟件測試應運而生。這是一個非常有利于提升個人職業發展空間的崗位,因為它正處于起步階段,對人才的需求量很大。因此,辦好軟件測試專業,培養社會急需人才,成為高職院校很好的發展契機。
一、專業構建背景
1.軟件產業的技術發展和需求
隨著中國軟件業的迅猛發展,軟件產品的質量控制與質量管理正逐漸成為企業生存與發展的核心因素。然而,由于軟件業對軟件質量控制的重要作用認識得較晚,長期以來對質量管理崗位的劃分不夠明確,加之社會上對軟件測試工作的一些非專業認識或偏見,目前國內軟件測試工程師極度缺乏,直接造成了企業欲招納軟件測試人才卻“千金難求”的尷尬局面。有關部門的統計顯示,國內軟件測試類職位缺口正向40萬大關逼近。今年教育部在《普通高等學校高職高專教育指導性專業目錄》中計劃新增41個專業,當前最熱門的軟件測試技術也位列其中,這反映了教育領域對軟件測試人才培養的有力扶持。
2.軟件測試人才的供需矛盾
實踐表明,軟件產品的高質量主要依賴科學的軟件測試。有關研究表明,國外軟件開發機構40%的工作量花在軟件測試上,測試費用占項目總費用的30%至50%。相比而言,中國的大型軟件企業中,軟件開發工程師和軟件測試工程師的比例只有4∶1,在其他一些企業只有10∶1,有些甚至沒有專職的測試工程師。由于企業不重視,國內高校也不專門培養,導致軟件測試人才奇缺。在今后很長時間內,軟件測試工程師都將是十分搶手的專業人才。
二、專業構建思路
1.軟件測試職業崗位分析
目前規范的軟件企業都已開始建立軟件測試職業體系,并逐步形成軟件測試員、軟件測試工程師、高級軟件測試工程師、測試項目經理、測試部門經理等系列崗位。軟件測試員和軟件測試工程師要熟悉軟件的測試技術、方法、流程、測試文檔,熟練掌握和操作主流測試軟件,能夠完成一般軟件程序的測試任務,隨著職業的發展,還要熟悉自動化測試的流程、管理及深層開發,能夠擔任較復雜的測試項目分析、測試和管理工作。對于高級軟件測試人才,要求其能夠擔任整個軟件工程的測試項目分析、測試和管理工作,還要具備自主開發測試工具的能力。
2.專業人才培養目標定位
培養具有扎實的計算機專業基礎知識,熟悉當前主流操作系統和數據庫,具有一定的編程能力、數據庫管理能力和網絡應用及開發能力,熟悉軟件測試的基本原理,掌握軟件測試理論知識和測試技術,具有軟件測試技能,能夠承擔并完成實際測試任務,并具有良好的職業道德、良好的團隊合作精神等綜合素質的應用型軟件測試人才。
三、軟件測試課程體系的構建與創新
1.軟件測試專業課程設置
目前,全國1047所高職高專院校中80%以上有計算機專業,更有35所示范性軟件職業技術學院。這些學校可以在原有專業基礎上進行細分,以國家軟件資格與水平考試的“軟件測評師”為綱,以企業需求為基礎,以職業所需的知識和技能為先導,設計、選定專業基礎和專業課程,走“訂單培養”之路。
軟件測試專業課程設置包括專業基礎課、專業課和實訓三部分,知識體系涵蓋了軟件資格與水平考試的內容。學校可以鼓勵學生參加計算機技術與軟件專業技術資格(水平)考試,獲得職業資格證書,在畢業時擁有“畢業證+資格證+工程能力”,為提高就業競爭力、與工作崗位無縫對接奠定堅實的基礎。
2.軟件測試的知識體系由5個核心部分組成
(1)培養計算機專業技術人才的基本能力
本部分開設的課程有計算機應用、計算機網絡、計算機安全與維護。要求學生了解計算機系統的基本概念、硬件基礎知識和軟件基礎知識,熟悉Windows操作系統、Internet工具及辦公軟件的操作,掌握網絡和互聯網的原理和技術,了解計算機安全的重要性,掌握安全與維護的基本技能。
(2)培養軟件測試人員的程序設計能力
本部分開設的課程有VB、C++、Java程序設計、數據庫基礎、軟件工程、軟件開發方法。要求學生了解程序設計語言基礎知識,掌握C語言、C++及Java語言程序設計技術,掌握SQL數據庫、軟件工程知識,理解軟件開發方法及過程。一個軟件測試專業人才必須懂得軟件開發流程和軟件開發方法,才能有針對性地制訂測試方案,選擇測試工具,成功解決測試中遇到的問題。
(3)培養軟件測試工程師的基本能力
本部分開設的課程為軟件測試技術。要求學生掌握測試理論和技術,搭建測試環境,重點掌握軟件測試過程中的單元測試、集成測試、確認測試、系統測試和驗收測試;掌握靜態測試和動態測試方法、黑盒測試和白盒測試方法、軟件測試用例的設計方法等。
(4)培養和提高實際測試能力
本部分開設的課程為軟件自動化測試技術,主要介紹主流的測試技術和測試工具的使用。要求學生能理解軟件測試的復雜性,掌握多種軟件測試方法,熟練運用主流自動化測試工具,完成模擬測試項目的分析、設計、執行、總結、回歸等實踐環節,進一步提升測試能力。
(5)培養測試項目管理能力
本部分開設課程為“軟件測試管理”,培養學生工程化的測試思想。要求學生能夠編制測試文檔,測試過程管理、配置管理、文檔管理,對測試結果進行分析與評估等,掌握主流測試管理方法和測試管理工具的應用。
3.培養應用型人才采取的措施
構建真實的實訓環境和完整的實訓案例庫。軟件測試是一項實踐性很強的工作,為了完成應用型人才的培養目標,必須加強實驗室、實訓基地建設,選擇主流測試軟件平臺,構建全真工程實訓環境,讓學生在實踐中掌握理論知識和工程方法。此外,構建一套覆蓋整個專業,具有典型性、代表性的實訓案例庫也很重要。案例庫構建是一個長期累積的過程,可以多個渠道進行補充和更新:一是從教材中選取,從合作企業中引進并加以改造使之適用于教學;二是將職業資格考試試題收集、歸納、整理;三是由教師設計或網上收集學生實習中的優秀案例,將案例教學貫穿于各課程教學的全過程,課程教學圍繞案例來進行。
教學的改革與創新。為培養學生的職業技能,教師可以按照“教、學、做、考”四個步驟,通過案例教學、分組教學法,使學生成為教學活動的主體,在學習中組內合作、組間競爭,形成學生自主學習、合作學習、研究性學習、探索性學習的開放型的學習氛圍,在培養學生專業能力的同時,也培養他們的創新能力和溝通能力。在教學中,將職業資格考試內容作為重點,并將歷年資格考試試題分散到相關知識的教學中,為今后學生參加職業資格考試打下基礎。
(3)合理、系統的測試實踐體系。實踐是培養學生技能的關鍵手段,各實踐環節的安排遵循由易到難、循序漸進的原則,由單一到綜合,形成一套完整的實踐體系。基礎實驗,如語句覆蓋測試、判定覆蓋測試、條件覆蓋測試、網絡軟件測試、通信軟件測試、負載壓力測試等,在平時教學中完成。綜合性實驗,如面向對象的類程序測試、Web測試、軟件測試項目管理等,在相應課程完成后安排一至三周時間進行集中實踐。學生畢業實訓安排到實訓基地或軟件公司,對實際的應用項目進行測試,并最終形成畢業實習報告。
參考文獻:
[1]賀平.軟件測試教程[M].北京:電子工業出版社,2005,(6).
[2]沈海娟.高職軟件測試課程構建設想[J].計算機教育, 2006,(4).
責編:博雅