摘要:本文分析了軟件測試課程的教學(xué)現(xiàn)狀,并從課程建設(shè)、師資力量、教學(xué)方法、實踐訓(xùn)練等方面對軟件測試課程教學(xué)進行了探討,然后簡要介紹了我校軟件測試課程的教學(xué)實踐過程。
關(guān)鍵詞:軟件測試;課程建設(shè);案例教學(xué);實踐教學(xué)
中圖分類號:G642 文獻標識碼:A
文章編號:1672-5913(2007)12-0011-03
1引言
隨著計算機的誕生,就開始了軟件開發(fā)和軟件測試。計算機硬件的飛速發(fā)展,使得軟件在整個系統(tǒng)中的地位越來越高,同時對軟件的質(zhì)量提出了更高的要求,軟件測試是保證軟件質(zhì)量的重要手段[1]。近年來,國內(nèi)軟件市場不斷擴大,軟件企業(yè)逐漸走入正規(guī),市場需要大量的軟件測試人才。但是各高校并沒有準備好這方面的人才,迫于就業(yè)壓力,許多本科生、碩士研究生紛紛通過自學(xué)、培訓(xùn)等途徑獲取軟件測試所需要的技能,去應(yīng)聘軟件測試職業(yè)。鑒于此,高校應(yīng)該根據(jù)社會需要,調(diào)整培養(yǎng)方案,培養(yǎng)出大批合格的軟件測試人才。軟件測試屬于軟件工程專業(yè)的一個方向,可以依托軟件工程專業(yè),加強軟件測試課程建設(shè),加大軟件測試方面的師資力量,改進教學(xué)方法,加強實踐教學(xué)環(huán)節(jié),培養(yǎng)出具有扎實軟件測試理論基礎(chǔ)、掌握軟件測試方法和具有一定軟件測試經(jīng)驗的軟件測試人才。
2軟件測試課程的教學(xué)現(xiàn)狀
目前,許多高校的計算機相關(guān)專業(yè)并沒有單獨開設(shè)軟件測試技術(shù)課程,軟件測試技術(shù)只在軟件工程課程的某一章節(jié)進行了介紹,并且沒有作為重點內(nèi)容來要求。軟件測試技術(shù)方面的教材,近年來才出現(xiàn)了一些,但質(zhì)量良莠不齊,對軟件測試技術(shù)的重視程度可見一斑。有的學(xué)校把軟件測試技術(shù)作為選修課,課時比較少,大多注重軟件測試理論的講解和測試方法的介紹,忽視了極為重要的實踐環(huán)節(jié),缺乏系統(tǒng)的訓(xùn)練,離軟件公司對軟件測試人才的要求差距較大。
講授軟件測試技術(shù)課程教師的缺乏也是亟待解決的問題。高校中有講授軟件工程的主講教師,他們能很好的講解軟件測試理論和介紹軟件測試方法,但缺乏較好的軟件測試案例和軟件測試經(jīng)驗,而這正是講授好軟件測試技術(shù)課程的關(guān)鍵所在。
另外,學(xué)生對軟件測試的認識也直接影響他們對軟件測試技術(shù)的掌握。一些不規(guī)范的軟件公司往往讓新進人員和編程能力較差的人員從事軟件測試,這讓很多學(xué)生片面地認為不會編程序的人才從事軟件測試,從而不重視軟件測試技術(shù)的學(xué)習(xí)和訓(xùn)練。
3軟件測試課程教學(xué)方法探討
為了培養(yǎng)符合社會需要的軟件測試人才,進行如下教學(xué)措施。
第一,加強軟件測試課程建設(shè)。軟件測試課程建設(shè)包括制定教學(xué)目標、確定教學(xué)內(nèi)容、制定教學(xué)計劃和選擇教材。軟件測試課程的教學(xué)目標是通過對軟件測試技術(shù)的理論學(xué)習(xí)和系統(tǒng)訓(xùn)練,使學(xué)生了解軟件測試在軟件開發(fā)過程中的重要作用和地位,理解軟件測試的基本概念和基本理論,掌握軟件測試技術(shù)和方法,能運用軟件測試技術(shù)解決實際測試問題,并知道軟件測試職業(yè)的特點和對軟件測試人員素質(zhì)的要求。教學(xué)內(nèi)容分為課堂教學(xué)、實驗教學(xué)和實踐訓(xùn)練,課堂教學(xué)包括軟件測試基本概念和基本理論、軟件測試技術(shù)和方法;實驗教學(xué)則是利用所學(xué)的軟件測試技術(shù)進行軟件測試;實踐訓(xùn)練有課程設(shè)計,并與認識實習(xí)、生產(chǎn)實習(xí)、畢業(yè)實習(xí)和畢業(yè)設(shè)計等環(huán)節(jié)有機結(jié)合起來。軟件測試技術(shù)的課堂教學(xué)在軟件工程課程結(jié)束之后開始,安排在第5、6兩學(xué)期進行,實驗教學(xué)在這兩學(xué)期同步安排;課程設(shè)計在第6學(xué)期后半學(xué)期或第7學(xué)期前半學(xué)期進行。與軟件測試技術(shù)相關(guān)的認識實習(xí)安排在第4學(xué)期后半學(xué)期或第5學(xué)期的前半學(xué)期;生產(chǎn)實習(xí)安排在第7學(xué)期,畢業(yè)實習(xí)和畢業(yè)設(shè)計則根據(jù)需要安排在第7、8學(xué)期。教材可先選用一些較優(yōu)秀的軟件測試書籍,然后根據(jù)教學(xué)實踐與有經(jīng)驗的軟件測試工程師合編軟件測試教材、實驗指導(dǎo)書和實踐訓(xùn)練指導(dǎo)書。
第二,加大軟件測試師資的培養(yǎng)與引進。講授軟件工程的教師大多缺乏實際的軟件測試經(jīng)驗和充足的測試案例,而這正是講授好軟件測試課程的關(guān)鍵,可以派遣準備講授該課程的教師到優(yōu)秀的軟件測試培訓(xùn)機構(gòu)進行培訓(xùn),然后聯(lián)系到正規(guī)軟件公司的軟件測試部門實習(xí)。另外,引進或聘任有經(jīng)驗的軟件測試工程師來校任教也是一個很好的辦法。
第三,合理安排教學(xué)內(nèi)容,執(zhí)行案例教學(xué)。軟件測試技術(shù)涉及的知識點很多,并且這些知識點需要通過大量規(guī)范化的訓(xùn)練來理解和掌握,分階段教學(xué)是一個很好方法。第一階段的教學(xué)內(nèi)容是軟件測試技術(shù)的基本要求,包括軟件測試的基本概念和基本知識、單元測試、集成測試以及自動化測試工具的使用。第二階段的教學(xué)內(nèi)容是軟件測試技術(shù)的較高要求,包括需求測試、設(shè)計測試、系統(tǒng)測試、可靠性測試、驗收測試以及靜態(tài)測試中的同行評審等。課堂教學(xué)中利用各種測試案例進行教學(xué)能使學(xué)生更容易理解和掌握軟件測試概念和軟件測試方法。案例教學(xué)法需要建立案例庫,向案例庫中增加案例是一個逐漸積累的過程。測試案例可以從教學(xué)實踐(包括教師設(shè)計的案例和學(xué)生練習(xí)中設(shè)計的優(yōu)秀案例)、教材、軟件企業(yè)等方面收集[2]。教學(xué)過程中,理解軟件測試技術(shù)時可采用一些簡單的測試案例,綜合訓(xùn)練時則選擇較復(fù)雜的完整案例。
第四,扎實執(zhí)行實踐訓(xùn)練。掌握軟件測試技術(shù)只有課堂學(xué)習(xí)是遠遠不夠的,還必須進行扎實的實踐訓(xùn)練。實踐訓(xùn)練包括課程實驗、課程設(shè)計、認識實習(xí)、生產(chǎn)實習(xí)、畢業(yè)實習(xí)和畢業(yè)設(shè)計。實驗教學(xué)在學(xué)校專業(yè)實驗室進行,通過課程實驗使學(xué)生熟悉軟件測試過程,加深對軟件測試方法的理解。實驗內(nèi)容按測試方法組織,測試案例由實驗指導(dǎo)教師設(shè)計或從案例庫中抽取,根據(jù)測試對象要求學(xué)生設(shè)計測試用例、編寫測試程序、測試和書寫測試報告。實驗教學(xué)的學(xué)時有限,只能使學(xué)生達到軟件測試入門級的水平。課程設(shè)計是對實驗教學(xué)的補充,針對某課程進行的綜合實踐訓(xùn)練。軟件測試技術(shù)課程設(shè)計以一個小型的軟件項目為對象,在學(xué)校專業(yè)實驗室中進行軟件測試技術(shù)的綜合訓(xùn)練,訓(xùn)練內(nèi)容包括需求測試、設(shè)計測試、單元測試、集成測試、系統(tǒng)測試和驗收測試,訓(xùn)練要求寫出規(guī)范的測試報告、設(shè)計合理的測試用例、進行人工和自動測試并分析測試結(jié)果,當項目相對復(fù)雜時,可以多名學(xué)生合作完成。認識實習(xí)和生產(chǎn)實習(xí)是高校專業(yè)教育中兩個重要的實踐環(huán)節(jié),組織對軟件測試感興趣的同學(xué)利用這兩個環(huán)節(jié)進行軟件測試技術(shù)的學(xué)習(xí)和訓(xùn)練。認識實習(xí)通過參觀軟件公司測試部門的軟件測試過程、聽取有經(jīng)驗軟件測試工程師的專題報告等方式進行,加深學(xué)生對軟件測試技術(shù)的理解和加強學(xué)生對軟件測試職業(yè)的認識,激發(fā)他們對軟件測試職業(yè)的興趣。生產(chǎn)實習(xí)則需要有軟件測試訓(xùn)練基地(通過學(xué)校自建或與軟件公司合建實現(xiàn)),在實習(xí)基地每個有經(jīng)驗的軟件測試工程師單獨指導(dǎo)幾名學(xué)生進行實際項目的測試,通過該項訓(xùn)練,使學(xué)生認識到實際項目的軟件測試與實驗室進行的軟件測試的區(qū)別,找出自己的差距,通過自己學(xué)習(xí)和向工程師學(xué)習(xí)不斷提高自身軟件測試水平。畢業(yè)實習(xí)和畢業(yè)設(shè)計環(huán)節(jié)則組織有志于從事軟件測試職業(yè)的學(xué)生進行強化實踐訓(xùn)練,由學(xué)校教師和有經(jīng)驗的軟件工程師共同指導(dǎo),要求學(xué)生獨立進行實際項目的測試,每個階段由指導(dǎo)教師評價測試用例、測試和測試報告的質(zhì)量,使學(xué)生逐步達到軟件公司對軟件測試人才的要求。
第五,引導(dǎo)學(xué)生正確認識軟件測試技術(shù)和軟件測試職業(yè)。通過任課教師的講解、具有豐富經(jīng)驗軟件工程師的報告、自己從各種媒體的學(xué)習(xí)等方式使學(xué)生了解軟件測試技術(shù)的重要性和廣闊的就業(yè)前景,激發(fā)他們學(xué)習(xí)和掌握軟件測試技術(shù)的興趣;同時要讓他們認識到軟件測試職業(yè)對軟件測試人員的要求較高,不僅要掌握軟件測試技術(shù),還要具備軟件系統(tǒng)分析、軟件系統(tǒng)設(shè)計和軟件編程等方面的能力。由于軟件測試人員的工作是找出軟件中錯誤,并經(jīng)常同系統(tǒng)設(shè)計者和編程人員交流,要訓(xùn)練和培養(yǎng)學(xué)生具有嚴謹?shù)墓ぷ髁?xí)慣、良好的溝通能力和團隊合作精神。
4軟件測試課程教學(xué)實踐
我校計算機學(xué)院開設(shè)了軟件工程專業(yè),幾年前專業(yè)建設(shè)領(lǐng)導(dǎo)就意識到市場對軟件測試人才的需求,及時修訂了專業(yè)培養(yǎng)計劃,設(shè)立了軟件工程專業(yè)的軟件測試方向。具體措施如下:
第一,進行了軟件測試課程建設(shè)。制定了軟件測試教學(xué)計劃,設(shè)立了軟件測試課程,增加了軟件測試課程設(shè)計,依托軟件工程實驗室建立了軟件測試實驗室,并開始建立軟件測試案例庫。
第二,加強軟件測試技術(shù)師資建設(shè)。從正在進行軟件項目開發(fā)的教師中挑選擔(dān)任軟件測試課程教師,并對他們進行短期培訓(xùn);同時從軟件公司(軟件工程專業(yè)學(xué)生的實習(xí)基地)中聘請有經(jīng)驗的軟件測試工程師定期進行講座,并與任課教師進行交流。
第三,注重軟件測試實踐環(huán)節(jié)。依托軟件工程專業(yè)的實習(xí)基地,使部分對軟件測試感興趣和有志于從事軟件測試職業(yè)的學(xué)生的認識實習(xí)、生產(chǎn)實習(xí)、畢業(yè)實習(xí)和畢業(yè)設(shè)計在實習(xí)基地著重進行軟件測試的訓(xùn)練。經(jīng)過幾年的摸索和努力,2006年軟件工程專業(yè)畢業(yè)生中已有一批學(xué)生成功應(yīng)聘到軟件公司從事軟件測試工作。
5結(jié)束語
隨著軟件公司規(guī)模擴大和正規(guī)化,社會需要大量的軟件測試人才,這給就業(yè)壓力極大的畢業(yè)生帶來了機遇,同時軟件公司希望招收有技術(shù)和經(jīng)驗的員工,又給畢業(yè)生和高校帶來了挑戰(zhàn)。軟件測試人才培養(yǎng)剛剛起步,很多工作處于摸索階段,需要學(xué)校、教師和學(xué)生的共同努力,為社會培養(yǎng)出大批合格的軟件測試人才。
Discussion and Practice of Software Testing Course
HU Hong-yin
(School of Computer, Wuhan Institute of Technology, Wuhan 430073, China)
Abstract: Lots of software testing specialists are demanded currently, but they are not brought up by the colleges and universities, further more, the software testing course is not set in some colleges and universities. In this paper, teaching of software testing course is analyzed, course constructing, teachers, teaching method, practice of software testing course are discussed, and the teaching of software testing course in our university is also introduced.
Keywords: Software Testing; Course Constructing; Case Teaching; Practice Teaching
參考文獻:
[1] 古樂,史九林. 軟件測試技術(shù)概論[M]. 北京:清華大學(xué)出版社, 2004.
[2] 鐘元生. 軟件測試實踐教學(xué)特色的構(gòu)造實踐[J]. 電化教育研究,2006,(10): 62-65.
作者簡介:胡宏銀(1972~),男,湖北大悟人,講師,碩士,主要研究方向:軟件工程。
聯(lián)系地址:武漢市武漢工程大學(xué)計算機學(xué)院胡宏銀
郵編:430073
聯(lián)系電話:027-69805647
電子郵件:huhongyin@hotmail.com