[摘 要] 隨著軟件系統的規模和復雜性的增加,軟件測試受到了越來越多的關注,如何培養合格的軟件測試人才成為本科教學的新課題。本文針對軟件測試的培養模式進行了深入的探討與實踐,提出了基于理論知識教學型面、實踐教學型面、項目實戰型面和綜合素質培養型面組成的四面體培養模式。
[關鍵詞] 四面體培養模式;軟件測試;人才培養
[中圖分類號] G642.4 [文獻標識碼] A [文章編號] 1005-4634(2013)03-0056-02
0 引言
為滿足就業市場需求,在全國各院校中,軟件測試課程不斷出現,各院校在教學中也探索了不少經驗與方法,但在教學內容上尚未形成共識,這對課程的建設和發展十分不利[1,2]。本文提出的四面體培養模式的培養體系是由理論知識教學型面、實踐訓練型面、項目實戰型面和綜合素質培養型面組合成的一個四面體,其主要特征是讓學生在學習中應用、在應用中學習。
1 課程性質及現狀
《軟件測試技術》課程性質多為必修課,學時數較多,理論占整體學時的比例偏高且內容覆蓋面廣,一般介紹幾種常用的測試工具;教學效果上,重理論輕實踐,動手能力較差,理論內容短時間內難以消化吸收,學生一般淪為軟件測試工具的使用者,不利于培養學生的創新意識和能力。
《軟件測試技術》作為計算機專業軟件方向的必修課,在哈爾濱學院已經連續開設6年。與計算機其他專業課一樣,教學如果只停留在理論教學和有限的實驗課上,無法讓學生理解測試對于軟件項目的真正作用和價值。因此如何能充分利用網絡資源,以案例驅動的方式,讓學生可以在項目開發不同階段結合課堂的理論知識,對教師提供的案例進行相應的測試并撰寫報告,從而促進這一類型計算機專業課的教學效果,成為該課程發展的瓶頸。
哈爾濱學院的軟件測試課程性質為必修課,教學學時為36學時,其中實踐學時為18學時,開設在第6學期。 除存在上述的問題之外,還缺乏專業的軟件測試實驗室,學生上實踐課時必須自己編程序再進行測試,一方面浪費了大量的時間,另一方面由于無法理解測試理論,所編寫的程序很大程度上無法體現實驗效果。同時教師無法為每個學生提供不同的項目測試樣本,在很大程度上影響了教學效果。
2 理論知識教學型面
知識是能力的基礎。離開了知識,能力就是無源之水、無本之木。根據已確定的辦學理念和培養目標,為本培養模式構造的理論知識教學型面是由軟件測試導論、軟件測試方法與策略概要、黑盒測試及用例的設計、白盒測試用例的設計方法、特定系統和應用環境的軟件測試、軟件自動化測試基礎、軟件測試管理教學構成的一個知識孕育流域,如圖1所示。
3 實踐教學型面
實踐是創新的基礎,是能力的源泉,是完成從簡單到綜合、從知識到能力、從聰明到智慧轉化的孵化器,創新能力是在不斷解決實際問題的過程中鍛煉培養出來的[3]。
3.1 框架下循序漸進式教學方法
框架式教學方法是給出實驗目的和簡略的實驗參考步驟,讓學生應用學過的軟件工程的方法來進行實驗。實驗過程中每一步的具體內容需要學生自己完成,為學生充分發揮主觀能動性創造了條件,留下了思考的空間。
循序漸進式教學方法是根據學生能力水平的高低和實際的崗位需求,將教學目標定位進行劃分。按技能難度遞增分為小組,當掌握了該組所需要的技能之后,就可以認為達到了一個新的等級。這樣,在教學過程中可以循序漸進地讓學生掌握技能,每完成一個技能組,都可以完成對應的實際工作。該教學法以完成職業培養為目標,并將目標細分為一個個漸進的具體目標,通過不斷地設置問題、解決問題,學生最終掌握一系列實際工作技能,達成培養目標。
3.2 分步教學法
根據軟件測試崗位實踐性強的特點,在教學中結合實際項目開展“分步教學法”,按照以下步驟來組織教學:布置問題、動手實踐、分析和討論問題、理論講授、實踐提高。通過動手實踐,學生明確工作任務。通過教師的分析和學生的討論,學生能認識到自己動手實踐中存在的問題。經過前三個環節的鋪墊,學生就比較容易接受理論講授,并能在實踐環節中消化、運用?!胺植浇虒W法”的開展,一方面通過先動手、后總結的方式,強調在實踐中學習,使學生對理論知識的學習有更清楚的目的,提高了學生的學習興趣;另一方面,通過個人思考和小組討論鍛煉了學生的思維能力,同時學生的自主學習能力得到進一步提升,而這也是學生從業后需要具備的基本素質。
4 項目實戰型面
項目驅動下的案例教學更有利于提高學生分析問題和解決問題的能力,促進學生學會學習以及溝通合作[4]。在教學的過程中,應當以可操作的軟件測試案例為中心,將測試理論貫穿開發全過程,指導軟件開發。讓學生能夠真正地體會到實際的測試流程。鑒于軟件測試由第三方進行的原則,可以由小組之間互相交換軟件進行測試,學生之間可以進一步交流,互相督促,共同進步。
項目實戰應配合實踐教學,主要是在各個實踐環節完成的基礎上,應用實際項目將學生學習到的理論知識綜合應用、融會貫通的過程。
5 綜合素質培養型面
企業在招聘人才時,要求應聘者不僅要具有較強的理論知識和實踐經驗,也要具備良好的職業素質。由于軟件測試職業的特殊性,給予學生必要的行為能力指導和面試指導顯得至關重要,有利于學生獲得更多的就業機會[2]。
5.1 行為能力指導
1)測試工作需要對行業有廣泛的知識面。軟件測試人員對客戶需求的把握更直觀,因此在做具體項目測試的時候,還需要對該項目的行業背景有所了解。比如做金融行業軟件有什么特殊的要求,金融行業對信息的操作和信息安全方面要求怎樣,信息安全的技術有哪些等等。在具體的軟件測試方向教學中,可聘請工業界行業專家為學生進行行業軟件開發的專題講座,以讓大家有更多機會了解行業背景。
2)測試人員更需要培養團隊精神,培養耐心測試、技巧溝通的方式。不同人的思維都不一樣,這樣可能一個項目測試的人越多,測試效果就越好,但是人一多,就產生矛盾和意見,學會尊重他人思想和意見是非常重要的,管理協調人員的目標就是需要讓團隊意識到這點,從而找到最好途徑完成項目測試任務。每個成員都需要尊重合作伙伴,能互相體諒的協調好工作,最終拿出合理地解決方案。
3)開發人員和測試人員的辯證關系。在軟件產品開發的工作中,好的測試人員和開發人員是在干一個工作的兩個方面。測試人員清楚軟件產品的客戶需求,憑借敏銳的感覺和對軟件系統的深入了解,可以有一定批評和指導性地幫助設計和開發人員完成軟件產品生產活動。講授課程的時候強調這個觀點,測試人員不是團隊的二等公民,而是客戶的眼睛,是產品的鷹眼。
5.2 面試指導
1)加強學生面試技巧的鍛煉,例如面試中的
(下轉第64頁)
專業知識、工作實踐經驗、口頭表達能力、綜合分析能力、反應能力與應變能力、求職動機等方面。
2)注重培養軟件測試必需的溝通能力、責任心、懷疑精神、發散思維和反向思維能力。在學生中樹立良好的測試團隊意識,例如目標意識、團隊意識、服務意識、競爭意識、危機意識等。
3)搜集和整理一些知名軟件公司的軟件測試工程師面試和筆試題,利用教學間隙組織模擬考試,進行講解和點評。
4)建立校外實訓基地,與IT公司聯合培養,通過企業實習提高學生的崗位技能,形成定向培養的長效機制,彌補畢業生沒有工作經驗的缺陷。聘請業界知名專家、IT公司經理來校講座,了解測試行業最新動態,就相關問題答疑解惑,激發學生對軟件測試學習的興趣。
總之,軟件測試教學應當與社會的真正需求相結合,實現就業崗位零距離。
6 結束語
隨著軟件行業的迅猛發展,社會需要大量的軟件測試人才。軟件測試人才培養剛剛起步,該方向的教學活動成為一個新亮點。由于很多工作仍處于摸索階段,因此,需要學校、教師和學生的共同努力,為社會培養大批合格的軟件測試人才。本文提出的四面體培養模式有助于系統地培養理論知識扎實、動手能力強、項目經驗豐富、綜合素質過硬的軟件測試人才,為畢業生就業提供一個新方向。
參考文獻
[1]孫金華.軟件測試人才培養與課程建構的探索[J].計算機時代,2009,(6):68-71.
[2]馬民生,馬友忠,任剛.以就業為導向的軟件測試實踐課課程改革[J].電腦知識與技術,2010,6(4):999-1000.
[3]鐘素芬,葉明芷.軟件測試應用型人才培養模式的探索與實踐[J].北京聯合大學學報(自然科學版),2007,21(3):89-92.
[4]蘭景英,范勇.基于項目驅動的軟件測試人才培養模式[J].計算機教育,2011,(6):32-35.