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

參考文獻
[1] 鐘元生. 軟件測試實踐教學特色的構建實踐[J]. 電化教育研究,2006,(10):62-65.
[2] 李菲. 在數據庫教學中運用案例教學法初探[J]. 職業教育研究,2006,(9):86-87.
[3] 賀平. 軟件測試課程開發[J]. 計算機教育,2006,(12):53-55.