摘要:本文從教學(xué)目的、教學(xué)方法、教學(xué)內(nèi)容和實踐訓(xùn)練等方面對軟件測試課程教學(xué)進(jìn)行了探討,并簡要介紹了我校軟件測試課程的教學(xué)實踐過程。
關(guān)鍵詞:軟件測試;案例教學(xué);實踐教學(xué)
中圖分類號:G642
文獻(xiàn)標(biāo)識碼:B
文章編號:1672-5913(2008)06-0031-02
1軟件測試課程教學(xué)現(xiàn)狀
軟件測試作為控制軟件產(chǎn)品質(zhì)量的重要手段,目前在國內(nèi)也開始熱起來。國外軟件廠商早就極為重視軟件測試,目前歐美等軟件產(chǎn)業(yè)發(fā)達(dá)國家的軟件企業(yè)里,軟件測試和開發(fā)人員的合適比例達(dá)到1∶1,甚至不少企業(yè)測試人員的規(guī)模已超過了開發(fā)人員。而國內(nèi),在被調(diào)查企業(yè)中,測試人員與開發(fā)人員比例為1∶5的企業(yè)高達(dá)36.4%,比例為1∶2的企業(yè)占31.8%,比例為1∶1及以上的企業(yè)僅占31.7%。隨著產(chǎn)業(yè)和企業(yè)的發(fā)展,企業(yè)必然需要大量的測試人員。據(jù)國內(nèi)某大型招聘網(wǎng)站的調(diào)查數(shù)據(jù)顯示,2007年1至6月軟件測試工程師年供需比達(dá)到1:50,人才極度稀缺。
軟件測試人員為什么會有如此稀缺?國內(nèi)相關(guān)人才培養(yǎng)的滯后遠(yuǎn)不能滿足過旺的需求,這是導(dǎo)致測試人才供不應(yīng)求的根本原因。目前國內(nèi)開設(shè)相關(guān)專業(yè)和課程的高校寥寥無幾。各大高校及相關(guān)部門對相應(yīng)的市場需求反映過慢,造成了供需方面的矛盾。一方面市場缺口巨大,企業(yè)苦于招不到合適的人才;另一方面一些應(yīng)屆畢業(yè)生或IT從業(yè)人員想從事軟件測試相關(guān)工作,但由于沒有相關(guān)經(jīng)驗及基礎(chǔ)理論知識而被拒之門外。
目前大部分高校沒有開設(shè)專門的軟件測試課程,軟件測試只是軟件工程課程的一部分,所涉及的軟件測試相關(guān)知識非常有限。即使開設(shè)了軟件測試課程的高校,也面臨著師資力量匱乏、學(xué)生學(xué)習(xí)積極性不高和教學(xué)資源不足等困難。目前比較好的軟件測試教材和參考書不多,而且軟件測試實踐環(huán)節(jié)所需要大量的案例也不足,這也在一定程度上加大了老師上課的難度,也是很多老師不愿意上軟件測試課程的原因。
2教學(xué)目的和授課方式
我校計算機(jī)學(xué)院審時度勢在3年前就開設(shè)了軟件測試課程,該門課程是軟件工程專業(yè)的必修課。通過軟件測試知識體系的學(xué)習(xí),使學(xué)生了解軟件測試的發(fā)展現(xiàn)狀,掌握軟件測試的方法和技術(shù),熟悉軟件測試過程管理,從而具有獨(dú)立承擔(dān)測試項目的實施能力,具有測試策劃、管理、實現(xiàn)和判斷能力;通過實際的案例分析,并選用合適的測試工具實施軟件測試,讓學(xué)生掌握一套主流測試工具的具體應(yīng)用,并且掌握技術(shù)流程、軟件測試方法、測試管理、配置管理以及技術(shù)文檔的寫作等;最后,引導(dǎo)部分對知識技能掌握比較好的學(xué)生對軟件測試某一方面的問題進(jìn)行深入研究,為其后續(xù)的發(fā)展鋪好道路。
鑒于以上的教學(xué)目的,本課程采取理論授課與上機(jī)實踐相結(jié)合的授課方式,并輔之課堂和網(wǎng)絡(luò)討論、案例分析。本科教育最重要的是要為所學(xué)專業(yè)打下堅實的基礎(chǔ),所以該課程的54個學(xué)時中,用于基本概念和理論、工具分析和使用的理論授課時間為36個學(xué)時,用于案例分析討論、實驗操作的上機(jī)實踐、研究分析報告占18個時間。
3軟件測試課程教學(xué)探索和實踐
3.1軟件測試?yán)碚撜n主要教學(xué)內(nèi)容
軟件測試?yán)碚撜n內(nèi)容包括以下6部分的內(nèi)容:第一部分軟件測試綜述。共使用4個學(xué)時講解軟件缺陷的概念、軟件測試的背景、定義、目的和原則;軟件開發(fā)過程和軟件測試的關(guān)系、軟件質(zhì)量的概念和軟件質(zhì)量管理。
第二部分軟件測試基礎(chǔ)知識。本部分是該門課程的重點(diǎn),共使用12個學(xué)時講解,內(nèi)容包括靜態(tài)測試和動態(tài)測試的概念及方法、黑盒測試和白盒測試的概念及方法,其中黑盒測試和白盒測試的概念和方法又是該部分的重點(diǎn)內(nèi)容。黑盒測試主要講解等價類劃分法、邊界值分析法、因果圖法、決策表法、錯誤推測法等常用方法的概念和使用方法;白盒測試主要講解覆蓋測試(包括語句覆蓋、判定覆蓋、條件覆蓋、判定/條件覆蓋、組合覆蓋和路徑覆蓋)、路徑測試、最少測試用例數(shù)計算等內(nèi)容。
第三部分測試文檔。內(nèi)容包括測試計劃、編寫和跟蹤測試用例、缺陷管理,共用6個學(xué)時講解。
第四部分運(yùn)用測試技術(shù)。該部分主要講解軟件測試三大階段單元測試、集成測試和系統(tǒng)測試的概念和方法,其中系統(tǒng)測試具體分為配置測試、兼容性測試、文檔測試、軟件安全性測試、恢復(fù)性測試、壓力測試、性能測試、正確性測試。最后綜合所學(xué)知識完成一個網(wǎng)站的測試實例。該部分共使用8個學(xué)時的時間。
第五部分軟件測試自動化。共用4個學(xué)時講解和演示目前常用的自動化測試工具。
第六部分軟件測試的現(xiàn)狀和未來。由于該課程是在大四上學(xué)期開設(shè),學(xué)生都面臨畢業(yè)找工,所以設(shè)計2個學(xué)時針對畢業(yè)學(xué)生講解軟件測試職業(yè)以及對測試人員的要求。
為了保障軟件測試課程的教學(xué)水平,提高教學(xué)效果,我們主要采用案例教學(xué)法。一些典型的、難度適宜的、有針對性和代表性的案例的收集成為案例教學(xué)法實施的難點(diǎn)。案例的收集我們主要通過以下幾種途徑:
(1) 從實習(xí)企業(yè)中收集
(2) 從學(xué)生畢業(yè)設(shè)計中收集
(3) 從學(xué)生上機(jī)作業(yè)及課堂作業(yè)中收集
(4) 從教材及參考書中收集
(5) 從互聯(lián)網(wǎng)中收集。案例的選擇遵循典型性、針對性和系統(tǒng)性原則,收集到的案例可以作為理論課講解時的實例,也可以作為實驗課的基本素材。
3.2強(qiáng)化實踐教學(xué)環(huán)節(jié)
軟件測試課程實踐教學(xué)環(huán)節(jié)包括兩個方面的內(nèi)容:實驗課實踐環(huán)節(jié)和課外實踐環(huán)節(jié)。實驗課實踐環(huán)節(jié)共設(shè)計了8個實驗,分別是4個基礎(chǔ)實驗,3個專項實驗和1個綜合性設(shè)計性實驗。兩個完整、系統(tǒng)的實驗案例貫穿其中:C/S結(jié)構(gòu)的學(xué)生學(xué)籍管理系統(tǒng),來源于數(shù)據(jù)庫原理課程大作業(yè);B/S結(jié)構(gòu)的網(wǎng)上辦公自動化系統(tǒng),來源于畢業(yè)設(shè)計。實驗內(nèi)容涵蓋了理論課程的大部分重要知識點(diǎn)。詳細(xì)實驗項目內(nèi)容見下表:
要想使學(xué)生真正具有獨(dú)立承擔(dān)軟件測試、軟件配置、軟件維護(hù)、軟件實施等方面的能力,18個學(xué)時的課堂實踐是遠(yuǎn)遠(yuǎn)不夠的。所以除此之外,還設(shè)計了課外實踐環(huán)節(jié)。課外實踐有針對性地設(shè)計了目前軟件測試方面比較受關(guān)注的熱點(diǎn)和難點(diǎn)問題,讓學(xué)生進(jìn)行分組,每組5~8人,確定一名小組長對整個組的成員進(jìn)行管理,確定小組研究方向,然后就該方向利用圖書館科技文獻(xiàn)資源或互聯(lián)網(wǎng)進(jìn)行深入研究與分析,在學(xué)期末每組提交一份學(xué)術(shù)報告匯報學(xué)習(xí)研究情況。
參考文獻(xiàn)
[1] 鐘元生. 軟件測試實踐教學(xué)特色的構(gòu)建實踐[J]. 電化教育研究,2006,(10):62-65.
[2] 李菲. 在數(shù)據(jù)庫教學(xué)中運(yùn)用案例教學(xué)法初探[J]. 職業(yè)教育研究,2006,(9):86-87.
[3] 賀平. 軟件測試課程開發(fā)[J]. 計算機(jī)教育,2006,(12):53-55.