朱志慧
摘要:根據(jù)軟件測試人才需求和人才培養(yǎng)之間的矛盾,提出基于項目驅動的軟件測試課程改革,通過課堂教學和項目驅動兩個環(huán)節(jié),使學生能夠在掌握基本知識的前提下,靈活的運用到實際項目中。
關鍵詞:項目驅動;軟件測試;課程改革
中圖分類號:G64 文獻標識碼:A 文章編號:1009-3044(2014)33-7960-02
1 概述
隨著軟件產業(yè)的飛速發(fā)展,軟件系統(tǒng)的規(guī)模越來越大,功能、技術經濟等方面的危機頻頻出現(xiàn),軟件質量的問題已經成為開發(fā)者和用戶關注的焦點。而軟件測試正是目前保證軟件質量的控制手段,驗證軟件能否完成用戶預期需求的唯一有效方法。因此,軟件測試在軟件開發(fā)中的地位得到了前所未有的提高。
長期以來,我國軟件行業(yè)重開發(fā)輕測試,測試人員的很多工作由開發(fā)者代勞,導致很多人員不愿意從事專門的測試工作,因此行業(yè)內的軟件測試人才嚴重短缺;另外,在高校的教學設計中,軟件測試僅僅作為軟件工程的一個章節(jié)來講解,而沒有設置專門的軟件測試課程,因此學生無法勝任軟件測試工作。基于以上背景,為了滿足軟件測試人才的大量需求,在高校中,培養(yǎng)應用型技術行的人才迫在眉睫。
2 項目驅動教學模式
項目驅動是指把項目作為專業(yè)課程的總教學目標,根據(jù)教授的知識點,將項目劃分為若干個典型案例, 以案例引導學生對知識點的掌握,實行“理論與實踐的一體化”,在這個過程中,學生會不斷獲得成就感,并激發(fā)學習熱情,培養(yǎng)自主學習能力?;陧椖康慕y(tǒng)領,將原來瑣碎的知識點,通過不同的案例,整理的系統(tǒng)、條理, 是提高教學效果, 訓練職業(yè)技能的有效教學方法。
在軟件測試課程中,所挑選的項目為學生們比較熟悉的學生管理系統(tǒng),根據(jù)理論+實踐課程的教學方式,將該系統(tǒng)分為多個小項目,每個項目中都蘊含著重要知識點的講授,在理論課的教授中,先通過簡單案例,熟悉知識點,之后將其應用的小項目中,最后將各個項目綜合起來,按照軟件測試的過程,帶領學生進行實際項目的測試工作,使學生在實際工作中, 盡快上手。
3 課程改革實踐
根據(jù)應用型軟件測試人才培養(yǎng)的目標,在基于項目驅動的教學中,軟件測試課程的定位主要分為:課堂教學和項目驅動。
3.1 課堂教學
課題教學由基礎理論知識和實驗操作兩部分組成。根據(jù)不同的階段,所提供的案例,使學生能夠掌握軟件測試的基礎知識。
在理論部分,重點和難點為黑盒測試和白盒測試測試用例的設計方法。依黑盒測試用例方法為例,將學生管理系統(tǒng)所分的兩個小項目:系統(tǒng)登錄功能和學生評價功能,當學生掌握黑盒測試用例方法設計時,對兩個項目進行用例設計和功能測試。在教學過程中,一方面為了使學習內容更接近學生的接受能力,另一方面擴大接觸不同類型軟件,擴大學生知識面,根據(jù)學習內容,由簡到難分別提供了加法器、求三角形的面積、ATM機等例子,分別對應等價類劃分、邊界值、因果圖、場景法等。掌握黑盒測試用例的編寫。其中三角形的面積貫穿與等價類劃分、邊界值和因果圖三個知識點,為了提高學生的學習興趣和動手能力,將求三角形面積作為學生動手的項目任務進行練習。首先,老師提出軟件需求;其次,將學生進行分組,一部分學生進行軟件功能說明文檔的編寫,部分學生根據(jù)功能說明進行軟件的開發(fā)。第三:根據(jù)軟件的功能說明,對開發(fā)的軟件的功能進行設計測試用例,并且進行測試的執(zhí)行。
通過求三角形面積項目,能夠將所學到的基礎知識點,應用的實踐項目中, 為下一步進行系統(tǒng)所分割的登錄功能和查詢學生功能打下堅實的基礎。
在實踐部分,主要是軟件測試工具的學習。軟件測試所使用的工具很多,根據(jù)學校的實際情況和學生對象,所教授的工具有:實踐:例如單元測試:Junite;錯誤的管理:Bugziller; 自動化工具:QTP;所測試的對象為自帶飛機訂票系統(tǒng)和所開發(fā)軟件學生管理系統(tǒng)。
在學習Junit中,仍然測試學生所開發(fā)軟件求三角形面積為任務驅動,要求學生掌握兩個方面的內容,一、復習理論中白盒測試用例設計的方法,對程序進行用例設計;二學習Junit單元測試工具,包括掌握JUnit的安裝,熟悉簡單測試和運行的過程。當在測試工程中發(fā)現(xiàn)軟件的缺陷時,利用Bugziller工具進行缺陷的管理,包括缺陷描述、缺陷報告的提交、分配缺陷、審核缺陷報告、處理缺陷和驗證關閉缺陷等。
相對于手工測試而言,把需要重復執(zhí)行的測試步驟描寫成測試腳本,讓機器去重復執(zhí)行即自動化測試可以極大的提高工作效率。在教學設計中介紹了自動化測試的基本概念,通過QTP自帶的飛機訂票系統(tǒng),介紹了QTP功能的基本使用,特別是檢查點、數(shù)據(jù)驅動、參數(shù)化、對腳本的編輯等,提取學生管理系統(tǒng)的小項目,作為每個知識點學習的案例。
3.2 項目驅動
在本校的教學設計中,軟件工程為軟件測試的先驅課程,將學生所設計的軟件作為一個整體的項目進行測試,一方面豐富了教學內容,另一方面,進一步的提高了學生的積極性。
以學生管理系統(tǒng)為例:在對整個項目的測試中,包含了測試計劃的編寫,測試環(huán)境的搭建,測試用例的編寫,自動化工具的使用,從錯誤的描述及Bug管理工具的使用。當學生對軟件測試的技術有一定程度的掌握時,選取的項目盡可能的與企業(yè)的實際工作環(huán)境接近。
在整個項目實踐中,測試工程師從軟件最初簡單的需求模型到產品發(fā)布各個階段的主要工作都進行了詳細的講述和實踐操作,包括項目初期各個階段的主要工作,軟件測試計劃的制定、軟件測試案例的編寫、軟件項目各個部門相互協(xié)作、執(zhí)行測試案例并報告缺陷、產品功能完善與修復缺陷階段、測試工程師在產品發(fā)布前后的工作,如下表所示:
4 總結
由于軟件測試是一門新課程、新技術,教學經驗和積累相對較少,各個學校在對該門課程的教授中,分別進行了不同的改革方案。在本文章中,提出基于項目驅動的軟件測試課程改革,經過多輪的教學實踐,證實學生學習興趣較高,知識點掌握較好,并且應用相對靈活;在下一步的教學過程中,為了使所選項目案例和學習環(huán)境與企業(yè)更貼切,可以由學?;蛟合党雒媾c企業(yè)建立合作關系,建立教學實踐基地,保證教學中對軟件測試項目案例的需要,讓學生更貼近專業(yè)領域中的實際應用,所培養(yǎng)的軟件測試人才跟好的與企業(yè)需求吻合。
參考文獻:
[1] 曾煌興,周曉宏.項目開發(fā)教學法的教學設計策略及其應用[J].職教論壇,2005(6).
[2] 鄭人杰, 殷人昆, 陶永雷. 實用軟件工程[M]. 北京: 清華大學出版社,1997.4.
[3] 程茂,溫靜,吳玉潔.《軟件測試》課程的教學研究[J].河北師范大學學報,2010,12(4).
[4] 方寶富,王浩,胡學鋼,等. 基于教學競賽一體化的大學生實踐創(chuàng)新能力培養(yǎng)模式研究[J].計算機教育,2010(24).