摘要:傳統(tǒng)的軟件測試教學(xué)模式很難將知識傳授給學(xué)生,教學(xué)方法和手段已不能適應(yīng)時代發(fā)展的需要,本文介紹了我系在軟件測試課程的教學(xué)過程中引入案例教學(xué)以及項目驅(qū)動等教學(xué)措施,取得了一定的教學(xué)效果。
關(guān)鍵詞:軟件測試;案例教學(xué);項目驅(qū)動
中圖分類號:G642文獻(xiàn)標(biāo)識碼:B
近幾年專業(yè)性的軟件測試機(jī)構(gòu)和組織迅速發(fā)展,隨之帶來了專業(yè)軟件測試人才的旺盛需求,軟件測試人才的培養(yǎng)正成為新的熱點。然而,軟件測試課程的理論與實踐脫節(jié),現(xiàn)有許多軟件工程教材中關(guān)于軟件測試的章節(jié)只介紹軟件測試的理論方法,即使有案例也只是簡單說明,并沒有介紹軟件測試的具體方法和實現(xiàn)過程,這導(dǎo)致學(xué)生只會死記硬背軟件測試的條條框框而不懂如何活學(xué)活用。為此,我們嘗試進(jìn)行改革,引入了新的教學(xué)思路和措施。
1案例教學(xué)
案例教學(xué)法比傳統(tǒng)的以教師為主導(dǎo)的教學(xué)法,更有利于提高學(xué)生分析問題和解決問題的能力,促進(jìn)學(xué)生學(xué)會學(xué)習(xí)以及溝通合作。我們在教學(xué)的過程中,以可操作的軟件測試案例為中心,讓學(xué)生能在教學(xué)中體會實際的測試過程。
首先,一個好的測試案例所包含的內(nèi)容必須完整,應(yīng)包含測試目的、特殊的硬件要求、特殊的軟件要求、特定的配置、執(zhí)行測試的描述、測試的預(yù)期結(jié)果或成功條件。
其次,根據(jù)測試的分類不同,可分為以下幾種:
#61548;對于單元測試案例,主要按照程序內(nèi)部的結(jié)構(gòu)測試程序,檢驗程序中的每條通路是否都能按預(yù)定要求正確工作。這類測試案例主要驗證模塊接口、模塊局部數(shù)據(jù)結(jié)構(gòu)、模塊邊界條件、模塊中所有獨立執(zhí)行通路、模塊的各條錯誤處理通路。掌握白盒測試/黑盒測試方法以及單元測試的用例設(shè)計;通用代碼編程規(guī)范、偽碼寫作規(guī)范的檢查;基本的代碼靜態(tài)檢查方法與工具運用;代碼覆蓋率檢查方法與工具運用;OO程序單元測試方法與過程;針對內(nèi)存泄漏的檢查;掌握測試覆蓋分析方法和測試用例最小化的運用。
#61548;對于功能測試案例,用于鑒定執(zhí)行后啟用的功能。這類測試案例驗證軟件是否提供了基本的單
元功能、是否提供集成后的功能,以及是否提供解決方案設(shè)計中指定的其他功能。
#61548;對于Web測試案例,Web系統(tǒng)是當(dāng)前網(wǎng)絡(luò)環(huán)境下最多的應(yīng)用系統(tǒng),其主要內(nèi)容設(shè)計為Web性能測試項目解析、性能測試流程、測試規(guī)劃與設(shè)計、性能測試需求分析、用戶事務(wù)分析、Web資源分析、網(wǎng)頁元素細(xì)化等。
#61548;對于集成測試案例,主要包括針對結(jié)構(gòu)化軟件和面向?qū)ο筌浖募蓽y試,獨立開展集成測試用例設(shè)計和用例執(zhí)行。具體分為基于結(jié)構(gòu)化程序的集成測試方法和基于UML圖的面向?qū)ο蟮募蓽y試方法。
#61548;對于系統(tǒng)測試案例,掌握常見系統(tǒng)測試類型的基本測試方法,獨立設(shè)計系統(tǒng)測試用例,運用手工方式或測試工具完成系統(tǒng)測試,包括功能測試、性能測試、壓力(負(fù)載)測試、配置測試、易用性測試。
再次,教學(xué)案例的具體應(yīng)用。我們根據(jù)難以程度,將測試案例大致可分為簡單的基礎(chǔ)性實驗案例和綜合實驗。簡單的基礎(chǔ)性實驗案例主要包括白盒測試和黑盒測試,通過學(xué)習(xí)讓學(xué)生掌握軟件測試最基本的一些方法。綜合性的實驗案例,特別是較大型的軟件項目測試實驗,讓學(xué)生在實驗的每一個步驟中理解軟件測試技術(shù)和各種具體的測試方法,增強(qiáng)實際操作能力,增加軟件項目測試的綜合經(jīng)驗。
通過綜合性實驗的學(xué)習(xí),可以讓學(xué)生感受大型軟件測試項目的工作流程和實施細(xì)節(jié),掌握各種軟件測試方法在大型項目中的應(yīng)用,體會軟件測試的規(guī)律;了解軟件測試項目的管理,熟悉軟件測試項目中人員的管理、產(chǎn)品的管理、軟件測試案例的管理以及缺陷的管理;能夠進(jìn)行比較復(fù)雜的白盒測試或自動化測試,為從事要求較高的軟件測試打下很好的基礎(chǔ)。
2項目驅(qū)動
軟件測試是一項技術(shù)性較強(qiáng)的工作,規(guī)范的實施也是以工程的方式開展或進(jìn)行。因此,最好的課程內(nèi)容及教學(xué)設(shè)計是通過項目的活動及過程來呈現(xiàn)問題,運用相關(guān)理論知識解析問題,以及通過工程過程解決問題,通過項目闡明技術(shù)方法與策略的運用。
項目的復(fù)雜性通過分解得到局部的單一性和簡單化。項目包含了由易到難,由簡單到復(fù)雜,由單一到綜合,逐步實現(xiàn)的內(nèi)容和過程。軟件測試本身就是理論與實踐緊密結(jié)合的一門技術(shù)學(xué)科或工程體現(xiàn),貫徹項目教學(xué)法是該課程理論教學(xué)與實踐教學(xué)“一體化”的最好形式。通過項目教學(xué),可落實教學(xué)的循序漸進(jìn)原則、系統(tǒng)化原則、目標(biāo)性原則、整體優(yōu)化原則以及規(guī)范化原則。項目教學(xué)使教學(xué)內(nèi)容的構(gòu)建緊密圍繞課程總體目標(biāo)展開,項目組成具有針對性強(qiáng),目標(biāo)具體明確、步驟清晰的特點。它按照組成技能教學(xué)內(nèi)容及相互間的內(nèi)在聯(lián)系,使各部分內(nèi)容有所側(cè)重,互相銜接,
軟件測試項目大致可以分為以下三個方面:“軟件測試技術(shù)”等課程的實踐教學(xué),強(qiáng)調(diào)案例教學(xué)法,強(qiáng)調(diào)實踐教學(xué);課外實踐,強(qiáng)調(diào)綜合性、設(shè)計性實驗,由學(xué)生在課余時間完成,包括畢業(yè)設(shè)計;企業(yè)實習(xí),和多個企業(yè)建立關(guān)系,供學(xué)生實習(xí)軟件測試。
3常用自動化測試工具使用
在理解軟件測試自動化原理基礎(chǔ)上,掌握業(yè)界常用的
Rational、WinRunner、LoadRunner、Junit、Panorama等系列測試組件的運用。在制定的測試策略中應(yīng)用測試自動化工具開發(fā)、編輯、運行和調(diào)試自動測試腳本程序,建立測試過程、生成測試報告,分析測試結(jié)果,理解測試工具如何進(jìn)行對測試數(shù)據(jù)進(jìn)行自動評估分析,掌握測試工具如何對測試文檔生成和利用。如表1。
4結(jié)束語
我們對軟件測試的教改受到了學(xué)生和老師的普遍歡迎。通過調(diào)查,大多數(shù)學(xué)生認(rèn)為使他們對課本知識的理解更加深入了,主動思考問題的能力也得到了提高。教師們也普遍反映“軟件測試”的教學(xué)質(zhì)量和教學(xué)效果得到極大的提高。
參考文獻(xiàn)
[1] 鐘元生. 軟件測試實踐教學(xué)特色的構(gòu)建實踐[J]. 電化教育研究,2006,162(10):62-65.
[2] 張小進(jìn),陳雄峰. 軟件工程課程改革探索—軟件測試在程序設(shè)計課程中的引入[J]. 高等理科教育,2006,70(6):91-94.
[3] 賀平. 軟件測試課程開發(fā)[J]. 計算機(jī)教育,2006,(12):53-56.
[4] 梁春媚. 建構(gòu)主義教學(xué)理念在中職計算機(jī)教學(xué)中的運用[J]. 職業(yè)教育研究,2004,(12):60-61.
[5] 張繼學(xué). 案例教學(xué)及其在國內(nèi)的發(fā)展現(xiàn)狀[J]. 職業(yè)教育研究,2004,(11):60-61.