劉敬勇 黃雪夏 廖朝輝 周儉鐵 孫宣東

摘要:按照“卓越工程師教育培養計劃”的要求,針對軟件測試課程教學中存在的問題,從課程內容、教學實驗、課程實踐和課程資源平臺建設等方面進行改革。合理設置了教學內容并把測試案例貫穿到整個教學過程中,更加注重學生實踐能力的培養,軟件測試課程教學質量得到了顯著提高。
關鍵詞:卓越工程師;軟件測試;教學改革
中圖分類號:G642.0 文獻標志碼:A 文章編號:1674-9324(2016)28-0115-02
一、引言
為了培養一批適應社會經濟發展需要、創新能力強的高質量工程技術人才,2010年教育部啟動了“卓越工程師教育培養計劃”改革項目。“卓越計劃”強調對學生工程實踐能力、創新能力和國際化視野的培養[1,2]。
軟件測試是軟件工程專業的一門核心課程,它對工程實踐要求很高,對學生的動手能力要求也很強。軟件測試不僅貫穿軟件開發的整個生命周期,覆蓋軟件各種應用領域,而且在軟件開發的系統工程中占據相當大的比重,軟件測試階段所占的工作量約為軟件工程總工作量的45%,所占的資金量約為總資金量的15%。在一些國際知名的軟件公司中,開發人員和測試人員的比例通常為1∶1,微軟公司甚至達到了1∶2。
然而,當前我國軟件測試行業面臨著測試人才嚴重短缺的問題,原因在于軟件測試應聘者缺乏系統化的軟件測試培養,軟件測試的實踐能力不高。按照“卓越工程師教育培養計劃”的有關要求,軟件測試工程師的“卓越”培養標準包含兩個方面:一是具備從事計算機工程工作所需的工程基礎知識的專業標準。二是具有國家“計算機技術與軟件專業技術資格”中“軟件評測師”要求的知識和技能,掌握ISTQB國際軟件測試工程師認證的知識體系結構的行業標準[3]。
二、軟件測試課程教學中存在的問題
(一)課程內容偏重理論,缺少具體測試案例
課程中包含了許多軟件測試的基本概念、模型、技術和規范,絕大多數學生缺乏軟件開發與測試的實際經驗,由于沒有具體的測試案例貫穿整個測試過程,因而軟件測試課程難于理解,學生的學習興趣不高。
(二)任課教師缺乏軟件測試的實踐經驗,軟件測試實踐環節內容單調
軟件測試是一門實踐性很強的課程,許多任課教師沒有接觸實際的大中型軟件開發項目,軟件測試的實踐經驗很有限,很難透徹的講解軟件測試技術如何具體的運用。而許多高校的軟件測試實踐課往往停留在幾種基本的白盒測試與黑盒測試技術上[4],學生的軟件測試實踐能力得不到極大的提高。
(三)對軟件測試工具缺乏系統的學習與實踐
隨著軟件規模的不斷擴大,僅靠手工測試已經不能滿足軟件開發的需要。近年來,軟件測試行業出現了許多軟件測試工具,例如QTP、AutoRunner、Junit、LoadRunner、TestDirector、Parasoft C++ Test、Rational PureCoverage等,這些工具在軟件測試行業中獲得了廣泛的應用。然而,由于高校軟件測試實驗條件相對還比較匱乏,導致學生無法學習和使用這些軟件,畢業之后還需要經過長時間的培訓才能適應軟件測試崗位的要求。
(四)不熟悉軟件測試國家標準,不能書寫規范的軟件測試文檔
軟件測試依據的國家技術標準規范主要有8個,分別是:《信息技術軟件包質量要求和測試》(GB/T17544-1998)、《軟件質量模型與度量》(GB/T 16260-2006)、《軟件工程產品評價》(GB/T 18905-2002)、《計算機軟件文檔編制規范》(GB/T 8567-2006)、《計算機軟件測試文件編制規范》(GB/T9386-2008)、《軟件產品質量要求與評價(SQuaRE)指南》(GB/T 25000.1-2010)、《應用軟件產品測試規范》(CSTCJSBZ02)、《軟件產品測試評分標準》(CSTCJSBZ03)。教師在教學過程中往往忽略了這些標準,學生對這些標準也不熟悉,因此在軟件測試實踐中不能按照標準的要求實施測試,也不能書寫出符合規范的軟件測試文檔,使得學校培養的學生無法滿足軟件企業的需要。
三、基于“卓越計劃”的軟件測試課程實踐教學模式
針對軟件測試教學過程中存在的問題,我們在軟件測試課程的教學內容、測試案例和測試實踐等方面進行了一系列的改革,形成了基于“卓越計劃”的軟件測試課程實踐教學模式。以測試理論—測試技術—測試過程—測試工具為主線重新組織教學內容,設定后的教學內容如表1所示。
在軟件測試的教學過程中,我們要全程使用測試案例,讓學生能將學到的測試理論與具體的測試實踐結合起來,更加牢固地掌握軟件測試的理論和技術。在教學過程中使用的測試案例包括面向對象的NextDate問題、三角形類型問題、工資支付系統、自動柜員機問題、簡化的錄像機系統等測試案例。在講解案例的過程中還對相關測試工具進行介紹和演示,在課程實驗和課程設計中學生要用到這些測試工具。
為了提高學生的軟件測試實踐能力,軟件測試課程還增加了課程設計的內容。課程設計以5~7人為一組,完成基于B/S的圖書管理系統的設計與開發,針對該系統按照軟件測試國家標準編寫軟件測試的相關文檔,并利用測試工具完成系統的各項測試。此外,還邀請國內知名軟件測試公司的工程師進行專題講座,并利用暑期組織學生到軟件公司進行軟件測試實習。
通過一系列的軟件測試課程教學改革,學生的軟件測試實踐能力得到了極大的提高。為了幫助學生更好地掌握軟件測試的理論和技術,擴大學生的視野,我們還開發了基于“卓越計劃”的軟件測試課程網絡資源平臺。該平臺的內容包括7大模塊即:軟件測試課程知識體系模塊、軟件測試工具模塊、軟件測試實訓案例分析模塊、職業資格考試信息模塊、軟件測試試題庫模塊、在線測試模塊、答疑與討論模塊。通過該平臺的運行,增強了學生與學生之間、學生與教師之間的互動,極大地調動了學生學習軟件測試的積極性,激發了學生的學習熱情和興趣,也收到了很好的效果。從開展軟件測試課程教學改革以來,近三年軟件工程專業畢業生從事軟件測試的人數分別為8人、27人和39人。從企業反饋的情況來看,學生軟件測試基礎知識掌握得比較扎實,能熟練運用軟件測試技術和工具完成軟件測試任務,并能正確書寫軟件測試的相關文檔。
四、結語
軟件測試是軟件工程專業的核心課程,是一門實踐性很強的課程。近幾年來,我們按照“卓越工程師教育培養計劃”的要求,針對軟件測試課程教學中存在的問題,對軟件測試課程進行了教學改革,從課程內容、教學實驗、課程實踐以及課程資源平臺建設等方面著手,通過借鑒國內外先進的教學理念,合理設置了教學內容,并把測試案例貫穿到整個教學過程中,注重了學生實踐能力的培養,使本課程的教學質量得到了顯著提高。
參考文獻:
[1]林健.“卓越工程師教育培養計劃”通用標準研制[J].高等工程教育研究,2010,(4):21-29.
[2]陳翔,鞠小林.卓越計劃驅動下的軟件測試技術課程教學改革[J].計算機教育,2013,(13):14-17,21.
[3]陳寧江.面向“卓越工程師”標準的軟件測試人才培養方案探討[J].教育教學論壇,2012,(5):99-100.
[4]趙褕,高鵬.軟件測試課程工程實踐教學模式的探索與實施[J].計算機工程與科學,2014,36(A01):51-55.