摘要:本文從軟件產業發展、軟件企業測試職業崗位出發,解析軟件測試專業人才的培養目標及定位,并以番禺職業技術學院的軟件測試專業(方向)的構建思路、課程體系、教學資源、專業師資,以及教學模式等五個方面說明了軟件測試專業在高職教育中的構建思想與探索過程。
關鍵詞:軟件測試;專業構建;建設思路;實施策略
中圖分類號:G642
文獻標識碼:B
文章編號:1672-5913(2008)02-0063-04
1專業構建背景
1.1軟件產業發展的需求
軟件產業發展和技術進步帶來了對軟件測試專業人才的迫切需求。在國內,僅在2007年2月的網上招聘信息搜索中,廣州、深圳兩地招聘軟件測試工程師的IT企業數量就超過了60多家,企業的規模涵蓋了大、中、小各種類型,人數超過了六七百人,這在近幾年的IT人才招聘廣告中是不多見的,反映出軟件企業測試人才的嚴重短缺。高級的軟件測試人才更是“一將難求”。這種趨勢引發了專業性的軟件測試機構和組織的迅速產生和發展,企業與社會培訓機構舉辦的各類軟件測試技術培訓正成為IT技術培訓的新熱點,其驅動力正是來自軟件產業對測試人才的強勁需求和不斷提升的人才價值。根據對軟件業未來的發展預測,測試人才的需求將持續保持旺盛的態勢,就業前景十分看好。其實,這也從另一角度反映出現代軟件開發與測試的關聯關系,軟件產品追求工程質量的趨勢。
1.2軟件測試人才的供需矛盾
國內軟件業普遍存在軟件測試人才的供需矛盾:一方面,企業對軟件測試人才有大量需求,但又苦于招聘不到合格人才;另一方面,許多高校應屆畢業生和開發人員有志從事軟件測試工作,卻因為沒有測試經驗而被拒之門外。產生這種矛盾的根本原因是由于我國軟件業長期“重開發、輕測試”,很多中、小型軟件企業基本沒有設置專門的測試部門和組成專業隊伍,這導致軟件技術人才不具有測試的知識和工作實踐能力,同時,企業也缺乏相關的培養機制,一旦需求(如軟件外包、產品系列化、規模化、專業化),即造成業內的軟件測試人才嚴重短缺。
與此同時,國內高校計算機教育(本、專科)也忽視了這一領域,截至目前,甚至大多數高校的軟件與計算機類專業中都未曾設置專門的軟件測試課程,所以應屆畢業生自然無法適應和勝任軟件測試的崗位工作,也是屬于“情理之中”的事情。
1.3國內高校軟件測試教學現狀分析
國內高校軟件測試教學總體屬于起步階段,根據近幾年的專業教學調研與交流表明,已開設了軟件測試課程的院校大約只占計算機類或軟件專業院校總數的6~8%,開設軟件測試專業的院校更是“鳳毛麟角”。這一方面表明了高校辦學自覺適應社會和行業需求,促進技術發揮和進步的意識依然不夠強烈,積極培養軟件職業技術人才的認識不到位,另一方面,也反映出針對軟件測試領域,對其學科與技術的研究、教學的投入不足,人才培養的缺失,最顯現的現象是這方面的師資嚴重缺乏,在軟件產業大發展和軟件測試技術發展迅速的形勢下,不能為社會培養這方面的高級人才、適用人才。
當前,針對軟件測試職業崗位的工作需求,一些軟件企業與行業的培訓機構在積極開展測試人才培訓工作,但培訓內容比較單一、且完全實用化,基礎建立不足,呈現了社會培訓“接力”高校計算機類專業及畢業生的過程,經過短期培訓而“應急”企業需求。從培訓系列化、職業化的測試人才角度考察,這種培訓屬于非專門化、專業性的培養和教育。
2專業構建思路
2.1軟件測試職業崗位分析
要落實好高職教育“以就業為導向”的辦學方向與策略,專業培養目標的確定應是以職業崗位分析為前提的。軟件測試職業是軟件行業新興的職業門類,目前規范的軟件企業都在開始建立軟件測試職業體系,逐步形成軟件測試員、軟件測試工程師、高級軟件測試工程師、測試項目經理、測試部門經理等級的職業系列崗位。這其中,軟件測試員和軟件測試工程師作為軟件工作的“主力軍”,應理解軟件測試基本理論,熟悉軟件測試標準,掌握實際測試技能,承擔和完成具體測試任務。而高級軟件測試工程師則要求擔任較復雜的軟件分析、測試策略制定等任務,進行測試規劃、測試用例設計和管理以及對測試結果進行分析。測試項目經理和測試部門經理則更偏重于管理,要求具備深厚、寬廣的軟件測試理論和質量管理知識與能力,承擔對整個測試流程的管理和監督任務,具有能夠使得整個測試團隊或部門高效工作的組織管理能力。這說明軟件測試職業崗位的分布已具有層次性,對報考和學習軟件測試專業的人來說,可以設計職業生涯的規劃。
仔細分析任何一個成熟的軟件企業,為完成軟件產品的開發都需要三類人才:第一類是懂技術、行業知識和管理的軟件高級人才,即“軟件金領”;第二類是系統分析及設計人員,稱為軟件工程師,即“軟件白領”;第三類是能夠熟練編程的程序員,即“軟件藍領”。類似地,軟件測試行業的人才同樣也可劃分為三類:第一類是作為高級軟件測試人才的測試項目經理和測試部門經理,可稱為“測試金領”;第二類是具有豐富實踐工作經驗的高級軟件測試工程師,可稱為“測試白領”;第三類是承擔基礎測試工作的軟件測試員和軟件測試工程師,可稱為“測試藍領”。一個成熟的軟件產業從人力資源結構上應該呈金字塔形狀,不僅需要處于頂端的、決定產業方向和邊緣領域開拓的人,也需要從事產業日常具體工作的人員,因此,位于金字塔底端的“測試藍領”與“軟件藍領”都是軟件企業中最能直接體現產品價值和創造利潤的主力,也是需求數量最大的一類人才。
2.2專業人才培養目標定位
目前國內測試行業大量需求的是軟件測試員和軟件測試工程師,由于歷史原因,測試人才的培養、培訓屬初級階段,要建立一只龐大的“測試藍領”隊伍的任重而道遠。社會需求是高職教育發展的最大動力,“以服務為宗旨”的職業教育理念就是要根據經濟和社會發展的要求,培養多層次、多樣化的技能型人才。作為高技能型軟件技術人才培養中堅力量的高職院校,在軟件專業人才培養方案中設立軟件測試專業將是其辦學的必然趨勢。
高職院校的辦學定位是服務于地方經濟,在人才培養定位及專業設置上,更要及時了解地方經濟的發展趨向,充分考慮地方經濟對人才培養的需求,適時地更新專業設置,合理調整培養目標、課程體系和教學內容,以更好地服務于地方經濟,同時學校在不斷滿足市場需求的同時,自身也得到更快的發展與提高。番禺職業技術學院位于廣州,面向軟件產業發達的廣州地區和‘珠三角’辦學。廣州市政府已將軟件與動漫作為新時期廣州國民經濟發展的支柱產業,區域性的軟件產業園和企業將以更大的規模和更快的速度發展,培養高素質的軟件測試專業技術人才成為我們刻不容緩的任務和職責,以滿足學生就業和社會對此類人才的需求,為發展廣州軟件業服務。
通過對廣東省高校(高職和本科)相關專業辦學情況的調研,針對軟件企業的需求和職業崗位做出分析,確定了軟件測試專業的人才培養目標是:面向軟件企業或其它各類企事業單位對軟件測試人才的需求,以軟件測試員和軟件測試工程師崗位需求為導向,掌握軟件測試理論知識和業界主流的通用測試技術,能夠承擔并完成實際測試工作任務,具有工程實踐能力,并具有良好的職業道德、良好的團隊合作精神和可持續發展能力等綜合素質的高技能型軟件測試人才。
3專業構建策略
3.1課程體系特征
高等職業教育倡導“能力本位”,以培養學生技術和職業崗位應用能力為主,具體體現為培養“基礎理論知識適度、技術應用能力強、具備職業化特征”的專門人才。高職教育的這一鮮明特征,決定了軟件測試專業課程體系的構建將堅持以培養崗位職業能力為目標,突出軟件測試的職業特色,適應軟件企業測試崗位的工作需要,培養針對軟件測試技術應用的高素質技能型專門人才。
針對軟件測試員、軟件測試工程師崗位,以職業所需的知識和技能為先導,采用“逆向制定法”設計專業課程體系。即先根據測試職業工作內涵,分析對應知識、技能與素質要求,構造專業課程體系及層次,并建立課程標準,確立每門課程的知識與技能要求,進行內容的甄選與整合。建立以技術理論和技術應用為主線的課程體系架構,實現知識傳授與技能培養并重,體現知識、能力、素質培養“三合一”特征。
軟件測試職業特征決定了軟件測試專業課程體系的知識覆蓋面要求較廣、并且較深。軟件測試是一門動態的、交叉性學科,跨越軟件工程的整個領域,進行測試工作的人員必須對軟件開發的整個過程有相當的理解和掌握。軟件測試工作主要針對的是由開發者編寫的程序(這里的程序是廣義概念,實際上涵蓋所有軟件開發過程中的每個環節),而且在測試過程中也需要編寫、修改測試腳本等等,因此測試人員必須具有相當的程序閱讀與編制能力;其次,任何一個被測軟件都是運行在特定的系統環境下,包含了硬件和軟件環境,測試人員必須掌握計算機系統軟、硬件的基本理論與知識,網絡系統的理論與知識,系統平臺的知識與環境等等,內容十分豐富,要求對其具有一定的綜合性的掌握與運用能力。因此,該專業課程體系中除了設置那些“看得見”的職業能力課程,如軟件測試基礎、軟件自動化測試技術、軟件測試管理等大類,以及分為面向對象的測試、基于WEB的系統測試、性能測試、嵌入式系統測試等幾個類別,具體的黑盒測試技術、白盒測試技術等等,還需要開設那些“看不見”但會對專業能力培養產生決定作用的課程,如傳統計算機科學與技術的專業基礎類課程,如,計算機系統組成、操作系統、數據結構、計算機網絡、關系數據庫、軟件工程等等,以及十分重要的程序設計類課程(C/C++程序設計、Java程序設計、Web應用開發技術等)。其次,課程體系還包含為從事職業工作必需的協作能力、溝通能力、職業態度訓練的課程。
總之,在專業課程體系構建當中,對軟件測試基礎理論知識的涵蓋原則是“必須的不缺”,對技術原理(方法)的分析原則是“舉一反三”,對實踐技能訓練的原則是“項目運作”,使得學生通過專業課程體系的學習,能具備軟件測試的必備專業知識和實際工作能力,能基本承擔起軟件測試的工作任務,為日后從事軟件測試職業和專業持續發展奠定必須的理論與實踐技能基礎。
3.2教學資源建設
教學資源建設是專業教學的保障條件,在這方面的建設從四個方面著手,主要進行專門教材建設、實踐教學環境建設、測試工程運用平臺搭建、網絡教學平臺及資源建設。
軟件測試是伴隨軟件工程過程的活動,是一項復雜、系統和綜合性較高的工作。要真正認識領會軟件測試的知識和掌握其技能,能夠擔負起實際工作任務,需要通過大量的實踐教學活動,以“學中干、干中學”的方式培養學生的核心專業技能,實現工學結合。因此,在軟件測試專業構建中,需要搭建一個適合實踐教學需要和體現崗位工作內容的實踐教學環境,配備相應的軟件測試工具與測試平臺,呈現真實的軟件企業環境與崗位工作氛圍。
為此,我們在2004年底就建成了集教學、培訓、開發、研究四大功能于一體的軟件技術與工程中心,擁有250多個工作席位,包括項目經理/工程師席位30個,技術工位220多個(學生席位),配備高性能服務器群,包括Linux服務器、Web服務器、數據庫服務器、Websphere中間件服務器等,實現了中等軟件企業規模的專業技術實踐教學基地。該中心引入軟件企業的構建模式和運作機制,系統功能完善,軟、硬件設備配置齊全,購置和配備了IBM Rational Suite組件、MI WinRunner、JUnit等與業界主流運用同步的測試工具及平臺,可實現校內外資源的充分獲取與信息數據的共享,使教學環境與氛圍完全接近企業工程環境及運行條件,為測試實踐教學和技術服務提供了優良環境和條件,提供完全“實戰型”、“工程化”的教學環境。
3.3專業師資隊伍培育
軟件測試專業作為一個新型計算機類專業,師資問題首先要解決。截至目前,高校內的大部分計算機專業教師較少系統的開展軟件測試理論研究和測試工程的實踐,因此,軟件測試專業知識不多,教學經驗幾乎沒有。基于這種情況,建設一支能夠滿足專業教學和工程需要的師資隊伍,成為了軟件測試專業構建的迫切任務。針對這個普遍問題,該專業師資隊伍的建設可以通過引進和培養兩種途徑實現,采取“請進來”與“走出去”相結合的方式進行。
在師資引進上,我們的做法是一方面通過公開招聘引進具有豐富實踐經驗的軟件測試高級人才,加強校內自身師資力量;另一方面則通過聘請來自企業和行業一線(如IBM 廣州分公司、廣東省軟件評測中心、廣東省Linux公關服務技術支持中心等企業與機構)業界的專家擔任兼職教師,以開設講座、直接授課、面對面交流等多種方式培訓指導師資,使教師能夠加深對軟件測試理論的認識,感受測試技術在軟件工程實踐中的運用和技術的新發展。
對內的師資培養培育,主要采取系統地測試理論知識學習和有針對性的專項業務培訓,學習和研究國外高校軟件測試課程,學習和研究軟件測試技術與理論,深入理解和掌握相關理論知識、奠定扎實基礎,具備工程實踐能力,提高專業水平和業務能力,承擔起專業課程的理論與實踐教學任務。2004年以來,多批次的選派教師參加由業內知名企業或行業組織舉辦的軟件測試中、短期培訓進修,組織教師參加軟件工程、軟件測試專業學術會議及各類教學研究活動,開展與知名軟件企業的產學積極互動,與國內多所高校進行軟件測試課程教學與測試實踐的交流,同時,鼓勵和督促專業教師每年至少到軟件企業參加一個月的實踐活動,提高教師的工程實踐能力。
軟件測試課程在我院軟件技術專業中設置和開展教學已達4年,已有4屆(6個教學班)的教學歷程和經驗,師資隊伍通過“教學實戰”得到了鍛煉和成長,使專業水平與教學能力得到全面提高。
3.4教學模式改革
我們在軟件測試專業構建初期就比較重視對傳統學科教學模式的改革,這是緣于學科教育對于職業教育的諸多不適應。貫徹“任務驅動、項目導向”的教學策略,推行學生自主、探究性學習,采用“一體化”教學方式,實施以項目教學為導向的新型教學方法是軟件測試專業新的教學模式體現。
改變傳統的先在教室上理論課、再到實訓室上實踐課的分割模式,將實訓場所設計成既能滿足實踐教學要求,又可在現場進行理論教學的布局。在組織教學的過程中,通過導向任務、講解要領、操作示范演練、訓練與逐個指導等環節,把培養學生知識與技能單元能力的過程設計為邊講邊練的過程,注重理論知識與實踐操作的穿插安排,做到理論教學與實踐教學一體化,教學內容與實踐內容一體化,調動和保持學生學習熱情,保證教學質量與效果。
對專業課程體系中適合引入項目教學的課程,設計、規劃教學項目,確定內容和流程,提出具體的要求和任務。通過引入這種理論知識學習和技術實踐能力相結合的項目教學過程,達到校內學習和實際工作的一致性。這類課程的教學過程以實際項目為目標,圍繞其確定的任務的解決策略和過程展開,即學生需完成規定的任務和規定的動作與步驟,以完成任務的質量、數量、時間等作為考核基本依據。在項目教學中,學生成為教學的主體,教師角色轉變為“教練”身份,通過進行引導型的講解、案例分析、測試“動作”過程示范、組織討論等一系列互動交流形式,加深學生對知識的理解、對技能的掌握,培養邏輯思維能力和實際工作能力,建構知識體系。
4結束語
在高職院校中構建軟件測試專業是源自對專業測試人才的供給遠不能滿足軟件產業發展的需求而做出的一項辦學創新。截至目前,廣東省乃至全國已開辦了軟件測試專業的學校為數還不多,對于開辦軟件測試專業仍處于實踐探索階段。
收稿日期:2007-10
參考文獻
[1] 楊鵬. 高職軟件測試課程的教學探索與實踐[J]. 番禺職業技術學院學報,2005,(2).
[2] 賀平. 軟件測試課程構建[J]. 番禺職業技術學院學報,2005,(2).
[3] 賀平. 項目教學法的探索實踐[J]. 中國職業技術教育,2006,(22).
[4] 賀平. 軟件測試課程開發[J]. 計算機教育,2006,(12).
[5] 賀平. 軟件測試教程[M]. 北京:電子工業出版社,2005.
作者簡介
楊鵬(1978-),女,湖南株洲人,講師,碩士研究生,主要研究方向:軟件測試、Web應用開發。
賀平(1949-),男,陜西榆林人,教授,主要研究方向:計算機專業教育、軟件技術。