郭 娟
安徽理工大學理學院,安徽 淮南 232001
項目驅動教學法在《軟件測試》課程中的應用
郭 娟
安徽理工大學理學院,安徽 淮南 232001
在軟件測試技術強調實踐性和課時不足情況下,提出將項目驅動教學法應用于軟件測試課程的思想。介紹了在軟件測試課程中應用項目驅動教學法的基本思想、課程內容的劃分和項目的設置以及項目實施效果評測等內容。項目驅動教學法不僅有效提高學生對知識的綜合應用能力,也提高了教師對課程的掌控能力。
項目驅動;軟件測試;教學法
“軟件測試”是進入2000年后才被國內逐漸關注的一門課程。2002年國家信息產業(yè)部在軟件產業(yè)發(fā)展公報中列舉了我國軟件業(yè)發(fā)展的三大問題:“隨著國內軟件企業(yè)的發(fā)展壯大,國內軟件企業(yè)也在開始開拓海外市場。但是由于缺乏有自主知識產權的拳頭產品,同時又缺乏較強的項目分析和設計經驗,對國際市場信息、先進軟件的設計、開發(fā)方式缺乏了解,大多數沒有完善的質量保障體系,對軟件開發(fā)過程缺乏有效地管理體系,缺乏嚴格的質量認證和規(guī)范化管理,不能與國際標準接軌,這些都構成了軟件出口的重要障礙”[1]。軟件測試的根本任務是確保軟件能夠按時按質量提交,是軟件質量保證的手段。隨著政府和企業(yè)對軟件測試重要性認識的逐步提高,軟件測試從以往那種處于末端不為人知的狀態(tài),轉而成為企業(yè)全部生命周期中的一個重要組成部分。市場對軟件測試人才的需求量也很大。因此,廣大高等院校的計算機相關專業(yè)普遍開設了“軟件測試”這門課程。
“軟件測試”課程的任務是使學生掌握軟件測試相關測試方法和技術、軟件測試的組織和管理以及軟件測試團隊的組成和建立?!败浖y試”課程具有很強的實踐性和靈活性,學生只有充分參與實踐才能熟練掌握基本的測試方法,才能了解軟件測試的具體流程,只有通過實踐才能鍛煉學生靈活應用知識和解決問題的能力。目前,課堂教學加上機實驗仍是“軟件測試”教學的主要手段,其中,課堂教學為主,上機實踐為輔。隨著教學改革的不斷深入,“軟件測試”課程的課時不斷被壓縮,導致的現(xiàn)狀是:學生只是學習了基礎理論,而缺乏對知識的綜合應用,對軟件測試流程和組織管理沒有清楚的認識。項目驅動教學法,是德國職業(yè)教育在20世紀80年代開始大力推行的一種“行為引導式的教學形式”。項目驅動教學法
是通過組織學生參加項目設計(包括模擬項目)、履行和管理,在項目實施過程中完成教學任務的過程。它是一種以現(xiàn)代企業(yè)的行為為目標,強調對學生綜合能力作全面培養(yǎng)的一種教學方式。項目驅動教學法顯著的特點是“以項目為主線、教師為實踐的向導、學生為實踐的主體”。項目驅動教學法是隨著建構主義思潮的興起而發(fā)展起來的一種新型教學模式和學習方法,近幾年逐漸被國內外教育領域所采用,對軟件測試課程的教學實踐具有一定的革新意義。
軟件測試過程與軟件開發(fā)過程是相互依賴,相輔相成,緊密聯(lián)系的。通常的軟件開發(fā)和軟件測試周期都比較長,問題比較復雜,軟件測試的項目教學不可能完全模擬這一過程。在具體的教學實踐中,教師需要充分了解課程內容,以及內容之間的關聯(lián),將軟件測試過程分解,根據不同階段的任務,設計相應的項目教學方案。在不同項目方案實施的過程中,學生不但可以系統(tǒng)學習基礎理論,將理論知識應用于實踐,逐步提高學生自主學習知識和應用知識的能力,而且對軟件測試過程有初步的了解和印象,體驗團隊協(xié)同工作,為將來正式的工作打下基礎。由于軟件測試周期性較長和課時的限制,項目驅動教學法的實施過程要設置詳細的實施計劃和標準。
1.1 軟件測試課程內容的劃分和項目的設置
項目的設計要結合具體的課程內容。內容劃分得當,教師才能做到有的放矢,有效降低講授時間,調動學生自主學習積極性并有針對性地掌握和實踐相關知識。教師的主要任務是項目的準備,項目分析和知識點講授。
軟件測試相關教材版本繁多,每一版的內容組織不盡相同。由于軟件測試不同階段側重的知識點有所不同,不同的軟件測試目的也會涉及不同的內容,因此。軟件測試內容可以依據軟件測試的不同階段和測試目的不同進行劃分??傮w上使學生先建立軟件測試流程的框架,在各測試階段的實踐中逐漸豐富內容,加深理解。
軟件測試的初始階段,主要對需求分析和總體設計階段的工作進行測試。包括內容有軟件測試的必要性和基本概念、軟件測試基本方法、軟件測試依據和規(guī)范、軟件測試流程、軟件測試團隊組建以及軟件測試和質量分析報告等內容。教師重點強調軟件測試依據和規(guī)范,軟件測試的流程和本階段使用測試技術的特點和測試方法。學生建立軟件測試流程的總體印象,并有側重的學習相關測試方法。由教師選擇適當的開發(fā)項目,提出需求,學生進行相關測試計劃制定和實施。
單元測試階段,應用黑盒和白盒測試方法以及靜態(tài)測試和動態(tài)測試技術對代碼進行測試。包括內容有單元測試方法和相關技術,單元測試工具,面向對象的單元測試,軟件測試報告與測試評測。教師重點講授單元測試工具的使用以及軟件測試報告和測試測評。在初始階段的項目基礎上,由教師或學生進行單元模塊的編碼,并由教師在代碼中植入錯誤。重點考察基本測試方法的應用效果以及熟練使用測試工具的能力。
集成和系統(tǒng)測試階段,對各模塊接口的測試和系統(tǒng)功能測試。包括的內容有集成測試方法,系統(tǒng)測試功能性測試,回歸測試,測試項目管理。教師在項目設計時負責錯誤植入,重點考察軟件測試計劃制定以及相關測試文檔,測試用例的設計。
系統(tǒng)非功能性測試階段,重點在非功能測試方法和軟件應用。對于實踐的軟硬件環(huán)境要求較高,盡量模擬實際測試環(huán)境。主要內容有:非功能性測試分類、非功能性測試方法、非功能性測試工具,軟件測試自動化。
驗收測試階段,用戶對軟件產品投入實際應用以前進行的質量檢驗活動[2]。主要內容有:驗收測試,軟件本地化測試,設計和維護測試用例,報告所發(fā)現(xiàn)的缺陷。教師和學生充當客戶對軟件產品進行功能正確性和需求的符合性驗證。這一階段教師檢驗學生前期的測試成果,對測試效果作出評價。
1.2 項目的設計原則
由于各種條件限制,合理設計測試項目才能夠充分發(fā)揮項目驅動教學法的優(yōu)勢,真正使學生在項目中應用理論知識,提高實踐水平。項目設計要符合如下原則:
教師針對展示中表現(xiàn)優(yōu)秀的個人和小組進行表揚,對出現(xiàn)的問題進行講解,對重難點進行補充。教師對任務展示實行激勵制度,根據學生完成任務的表現(xiàn)量化成平時成績的分數,并在學期末分別評出個人前三名和小組前三名,給予物質上的小獎勵。
1)項目要有針對性
項目要針對不同測試階段設置,可以做到重點突出,印象深刻。
2)項目規(guī)模、難度要適度
項目規(guī)模過大、過復雜不能在課時之內完成,容易造成虎頭蛇尾,而且不易調動學生的積極性。
3)項目要有延續(xù)性
各個階段設計的項目最好具備延續(xù)性,針對一個項目開展測試工作。使學生在逐步深入測試過程中加深對測試項目的了解程度,以便取得更好的效果。
將學生分成若干小組,確保每位同學親自動手參與各個階段的測試工作,體驗團隊協(xié)作。
1.3 項目效果評價
各階段項目測試完畢,要對測試結果進行效果評價。評價內容包含:在測試項目中由教師植入錯誤的檢出情況,相關測試用例設計文檔,各個階段測試報告。相關評價標準以及需要提交的文檔,由教師在項目啟動前制定。
在項目驅動教學的實踐中,教師要引導學生如何在實踐中學習和掌握新知識以及應用新知識,幫助學生建立獨立研究及解決問題的能力。學生成為學習實踐的主體,通過參與項目實踐,把理論和實踐有機結合起來,在實踐中綜合應用知識解決問題。教師在這個過程中也充分鍛煉了教學問題設計和決斷能力以及教學問題解決能力。[3]總之,項目教學驅動法對于學生和教師都是有所裨益的,對于軟件測試這種強調實踐性的課程值得推廣應用。
[1]朱少民.軟件測試方法和技術(第2版)[M].北京:清華大學出版社,2010.7.
[2]佟偉光.軟件測試技術(第2版)[M].北京:人民郵電出版社,2010.8.
[3]張朝珍.教師教學決策能力的構成與提高[J].教育理論與實際2009.1.
N41
A
10.3969/j.issn.1001-8972.2012.21.131
國家級特色專業(yè)建設(TS12142),安徽省省級教學研究項目(2008jyxm359)
郭娟(1980-),女,碩士,講師,研究領域為:網絡計算。