劉慰+應新洋
【摘要】對現有《軟件測試技術》教學模式存在的問題進行了分析,闡述了在課程內容體系設置、理論課教學方式、實驗設計及課程考核方式等方面進行的改進與實踐。通過強化課程的工程實踐性,提高教學質量,做到讓學生深入理解并充分掌握從事軟件測試工作的知識與技能,從而達到培養應用型軟件人才的目標。
【關鍵詞】軟件測試 能力導向 工程實踐 教學模式
【基金項目】2013年度寧波大學教學研究項目(項目編號:JYXMxyb201350),受寧波大學科學技術學院重點專業建設——軟件工程資助。
【中圖分類號】G64 【文獻標識碼】A 【文章編號】2095-3089(2017)34-0221-02
一、現有《軟件測試技術》教學模式存在的問題
《軟件測試技術》是一門理論與工程實踐緊密結合的軟件工程專業主干課程,其教學目標是通過讓學生學習軟件測試的基本概念、原理、方法與技術,使他們擁有從事軟件測試工作的能力。教學團隊所在的學院重點培養應用型人才,在教學過程中發現當前采用的教學模式存在以下問題:
(一)重理論、輕實踐,教學方式仍以課堂講授為主。
由于軟件測試課程內容眾多,涉及面廣,為了完成教學大綱規定的任務,外加學生也缺乏足夠的軟件開發與測試經驗,教師往往偏向于選擇以課堂講授為主的教學方法,結果是學生無法通過足夠的軟件測試實踐去真正地理解與掌握課程內容,更不知如何將軟件測試理論與技術應用到實際的軟件測試過程中去。
(二)內容設置與工程實踐聯系不夠緊密,學生感覺理論內容抽象枯燥,甚至認為沒有實用價值。
與軟件開發類課程能夠從網上獲取大量的公開資料不同,由于軟件測試近年來才逐漸受到重視,軟件測試課程發展也較為滯后,相關的書籍與網絡資源都相對貧乏。除此之外,真實的軟件測試案例往往不會被企業公開,難以獲取,造成學生覺得課程內容抽象、枯燥,不知道用在哪,如何用,其學習興趣也隨之大大降低。
(三)考核方式仍以傳統的筆試為主,評價體系不夠完善。 當前的考核方式沿襲了軟件工程課程的考核方式,以對教材中理論知識的掌握為主要考核目標,仍采取筆試的方式,且占總評成績的70%以上,造成學生趨向于考前對于理論知識進行死記硬背,而忽視了平時對于實踐能力的培養。
二、以工程實踐能力為導向的教學模式改進措施的研究與實施
為了解決以上問題,提升《軟件測試技術》的教學質量,課程團隊以培養學生工程實踐能力為導向,進行了以下一系列教學模式改進措施的研究與實施。
(一)制定以工程實踐能力為導向的涵蓋理論與實踐兩個方面的課程內容體系。
教學團隊通過借鑒SWEBOK(軟件工程知識體系)中的軟件測試部分,并融合當前先進的軟件測試技術與軟件工程理念,圍繞著軟件測試基本理論、軟件測試技術與軟件測試過程這三個核心內容,制定了包括功能測試、性能測試、單元測試、自動化測試、Web測試、安全性測試、兼容性測試、缺陷管理、測試用例設計與測試報告編寫的課程內容體系,以達到培養學生具備分析測試需求、制定測試計劃、搭建測試環境、設計與執行測試用例、分析測試結果、撰寫測試文檔與進行測試管理的能力。
(二)從“工程實踐”的角度出發,開展多種方式方法的課程教學。
教學團隊以案例式教學法為主要教學方法,通過技術論壇與博客、代碼開源網站、學生作業、學生畢業設計、其他院校學生課程大作業、畢業生與學校橫向項目等多種渠道收集真實的軟件測試案例,并將其貫穿于整個理論教學過程。例如,在講性能測試時,對學校橫向項目中甲方的性能指標要求進行分析;在講單元測試時,要求學生對自己在之前課程中編寫的程序代碼進行代碼規范評審;在講功能測試時,要求學生對較為優秀的學生畢業設計利用所學的軟件測試理論設計測試用例;在講測試缺陷管理時,引入代碼開源網站上的缺陷跟蹤記錄。通過大量的案例,讓學生樹立初步的軟件質量意識,認識到軟件測試的重要性,激發他們積極思考,提高他們的學習興趣。除此之外,在課上還經常讓學生針對于某個案例進行分組討論,并當堂進行演講與評判,大大活躍了課堂氣氛,提高了學生學習的積極性。
課后延伸方面,鼓勵學生學習著名高校的軟件測試類MOOC。對于一部分學有余力,并對軟件測試有濃厚興趣的學生,充分依托現有的軟件工程實驗室與工作室,鼓勵他們參與真實的,具有一定復雜程度的軟件項目的開發過程,以測試團隊的形式進行測試工作,體驗真實環境下的測試團隊的工作模式,引導學生將理論知識應用于工程實踐,不但能更加深入地掌握所學的知識,而且能進一步提高分析問題與解決問題的能力。
(三)大幅提高實踐環節課時,圍繞課程內容體系,精心設計課程實驗,并設計一套與之配套的,貼近實際工程需求的軟件測試實驗環境。
實驗環節將之前的34學時增加到68學時,并根據制定的課程內容體系,結合大量軟件測試案例,如風閥控制程序、12306訂票網站、融合通信管理系統、在線化妝品銷售網站、在線課程網站等,設計了26個實驗,涵蓋了功能測試、單元測試、自動化測試、Web測試、安全性測試、兼容性測試與測試管理等各個知識點。并通過跟蹤國內外軟件測試技術的最新趨勢及企業實際應用環境,精心挑選軟件平臺與測試工具,如QTP、LoadRunner、JMeter、xUnit,BugClose、Visual Studio等,使學生在實踐過程中掌握目前主流的軟件測試技術與工具,不但做到通過對于測試軟件的使用更好地理解課程內容,而且能夠提高自身技術水平,增強就業競爭力。
(四)改革課程考核方式,建立“平時+理論+實驗+課程大作業”的新考核體系。
取消筆試,采取平時成績與課程大作業各占總評成績50%的成績評價體系。平時成績中,實驗成績占90%。課程大作業的要求是:學生將被分為若干個3-4人的測試小組,模擬真實的軟件測試團隊工作流程,針對教師指定的一個真實的具有一定規模的軟件系統進行綜合性測試,并要求每組在上交一系列規范化的軟件測試過程文檔及測試報告,并提交到缺陷管理系統中。每個組員的成績根據測試報告的整體情況,以及自身完成工作的情況酌情給分。這樣的考核方式,要求學生充分靈活應用課程所學知識,學生也有較高的動力完成。
三、新的教學模式實施效果
經過三輪教學模式的迭代,《軟件測試技術》課程的及格率和平均成績有了大幅度的提高,學評教打分多班次獲得優秀,并被評為寧波市智慧產業人才基地核心引導課程,部分參與實際軟件項目進行測試工作的學生也受到了項目負責人的廣泛好評。有多名學生通過本課程的學習,進入著名IT公司擔任軟件測試工作。
四、結束語
通過幾年的探索和實踐,以工程實踐能力為導向的《軟件測試技術》教學模式,對于提高教學質量,起到了良好的效果。雖然該課程的教學目標是使學生擁有從事軟件測試工作的能力,但即使大部分學生今后并不進入軟件測試崗位工作,也通過這門課程的學習,提高對于軟件質量的重視程度,提高了軟件開發規范性,能夠設計與編寫更為完善的軟件。在今后,本課程的教學模式還會進一步改進,如引入翻轉課堂,增加與移動及云計算相關內容等。
參考文獻:
[1]李亞.“軟件測試”教學探索與實踐[J].計算機教育,2008(6):31-32.
[2]劉強,陳越,駱斌,古天龍,吳潔明,裴小兵,朱少民,白曉穎.“軟件工程”課程教學實施方案[J].中國大學教育,2011(2):41-44.
[3]葉德仕.“軟件質量保證與測試”課程建設.計算機教育,2008(10):65-66.
[4]周元哲.“軟件測試”教學改革的探索和實踐.計算機教育,2008(22):14-15.
作者簡介:
劉慰(1981—),男,浙江舟山人,碩士,講師,研究方向:軟件測試與軟件開發相關課程教學研究。endprint