朱志慧
摘要:根據(jù)軟件測試人才需求和人才培養(yǎng)之間的矛盾,提出基于項(xiàng)目驅(qū)動的軟件測試課程改革,通過課堂教學(xué)和項(xiàng)目驅(qū)動兩個環(huán)節(jié),使學(xué)生能夠在掌握基本知識的前提下,靈活的運(yùn)用到實(shí)際項(xiàng)目中。
關(guān)鍵詞:項(xiàng)目驅(qū)動;軟件測試;課程改革
中圖分類號:G64 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)33-7960-02
1 概述
隨著軟件產(chǎn)業(yè)的飛速發(fā)展,軟件系統(tǒng)的規(guī)模越來越大,功能、技術(shù)經(jīng)濟(jì)等方面的危機(jī)頻頻出現(xiàn),軟件質(zhì)量的問題已經(jīng)成為開發(fā)者和用戶關(guān)注的焦點(diǎn)。而軟件測試正是目前保證軟件質(zhì)量的控制手段,驗(yàn)證軟件能否完成用戶預(yù)期需求的唯一有效方法。因此,軟件測試在軟件開發(fā)中的地位得到了前所未有的提高。
長期以來,我國軟件行業(yè)重開發(fā)輕測試,測試人員的很多工作由開發(fā)者代勞,導(dǎo)致很多人員不愿意從事專門的測試工作,因此行業(yè)內(nèi)的軟件測試人才嚴(yán)重短缺;另外,在高校的教學(xué)設(shè)計(jì)中,軟件測試僅僅作為軟件工程的一個章節(jié)來講解,而沒有設(shè)置專門的軟件測試課程,因此學(xué)生無法勝任軟件測試工作?;谝陨媳尘埃瑸榱藵M足軟件測試人才的大量需求,在高校中,培養(yǎng)應(yīng)用型技術(shù)行的人才迫在眉睫。
2 項(xiàng)目驅(qū)動教學(xué)模式
項(xiàng)目驅(qū)動是指把項(xiàng)目作為專業(yè)課程的總教學(xué)目標(biāo),根據(jù)教授的知識點(diǎn),將項(xiàng)目劃分為若干個典型案例, 以案例引導(dǎo)學(xué)生對知識點(diǎn)的掌握,實(shí)行“理論與實(shí)踐的一體化”,在這個過程中,學(xué)生會不斷獲得成就感,并激發(fā)學(xué)習(xí)熱情,培養(yǎng)自主學(xué)習(xí)能力?;陧?xiàng)目的統(tǒng)領(lǐng),將原來瑣碎的知識點(diǎn),通過不同的案例,整理的系統(tǒng)、條理, 是提高教學(xué)效果, 訓(xùn)練職業(yè)技能的有效教學(xué)方法。
在軟件測試課程中,所挑選的項(xiàng)目為學(xué)生們比較熟悉的學(xué)生管理系統(tǒng),根據(jù)理論+實(shí)踐課程的教學(xué)方式,將該系統(tǒng)分為多個小項(xiàng)目,每個項(xiàng)目中都蘊(yùn)含著重要知識點(diǎn)的講授,在理論課的教授中,先通過簡單案例,熟悉知識點(diǎn),之后將其應(yīng)用的小項(xiàng)目中,最后將各個項(xiàng)目綜合起來,按照軟件測試的過程,帶領(lǐng)學(xué)生進(jìn)行實(shí)際項(xiàng)目的測試工作,使學(xué)生在實(shí)際工作中, 盡快上手。
3 課程改革實(shí)踐
根據(jù)應(yīng)用型軟件測試人才培養(yǎng)的目標(biāo),在基于項(xiàng)目驅(qū)動的教學(xué)中,軟件測試課程的定位主要分為:課堂教學(xué)和項(xiàng)目驅(qū)動。
3.1 課堂教學(xué)
課題教學(xué)由基礎(chǔ)理論知識和實(shí)驗(yàn)操作兩部分組成。根據(jù)不同的階段,所提供的案例,使學(xué)生能夠掌握軟件測試的基礎(chǔ)知識。
在理論部分,重點(diǎn)和難點(diǎn)為黑盒測試和白盒測試測試用例的設(shè)計(jì)方法。依黑盒測試用例方法為例,將學(xué)生管理系統(tǒng)所分的兩個小項(xiàng)目:系統(tǒng)登錄功能和學(xué)生評價功能,當(dāng)學(xué)生掌握黑盒測試用例方法設(shè)計(jì)時,對兩個項(xiàng)目進(jìn)行用例設(shè)計(jì)和功能測試。在教學(xué)過程中,一方面為了使學(xué)習(xí)內(nèi)容更接近學(xué)生的接受能力,另一方面擴(kuò)大接觸不同類型軟件,擴(kuò)大學(xué)生知識面,根據(jù)學(xué)習(xí)內(nèi)容,由簡到難分別提供了加法器、求三角形的面積、ATM機(jī)等例子,分別對應(yīng)等價類劃分、邊界值、因果圖、場景法等。掌握黑盒測試用例的編寫。其中三角形的面積貫穿與等價類劃分、邊界值和因果圖三個知識點(diǎn),為了提高學(xué)生的學(xué)習(xí)興趣和動手能力,將求三角形面積作為學(xué)生動手的項(xiàng)目任務(wù)進(jìn)行練習(xí)。首先,老師提出軟件需求;其次,將學(xué)生進(jìn)行分組,一部分學(xué)生進(jìn)行軟件功能說明文檔的編寫,部分學(xué)生根據(jù)功能說明進(jìn)行軟件的開發(fā)。第三:根據(jù)軟件的功能說明,對開發(fā)的軟件的功能進(jìn)行設(shè)計(jì)測試用例,并且進(jìn)行測試的執(zhí)行。
通過求三角形面積項(xiàng)目,能夠?qū)⑺鶎W(xué)到的基礎(chǔ)知識點(diǎn),應(yīng)用的實(shí)踐項(xiàng)目中, 為下一步進(jìn)行系統(tǒng)所分割的登錄功能和查詢學(xué)生功能打下堅(jiān)實(shí)的基礎(chǔ)。
在實(shí)踐部分,主要是軟件測試工具的學(xué)習(xí)。軟件測試所使用的工具很多,根據(jù)學(xué)校的實(shí)際情況和學(xué)生對象,所教授的工具有:實(shí)踐:例如單元測試:Junite;錯誤的管理:Bugziller; 自動化工具:QTP;所測試的對象為自帶飛機(jī)訂票系統(tǒng)和所開發(fā)軟件學(xué)生管理系統(tǒng)。
在學(xué)習(xí)Junit中,仍然測試學(xué)生所開發(fā)軟件求三角形面積為任務(wù)驅(qū)動,要求學(xué)生掌握兩個方面的內(nèi)容,一、復(fù)習(xí)理論中白盒測試用例設(shè)計(jì)的方法,對程序進(jìn)行用例設(shè)計(jì);二學(xué)習(xí)Junit單元測試工具,包括掌握J(rèn)Unit的安裝,熟悉簡單測試和運(yùn)行的過程。當(dāng)在測試工程中發(fā)現(xiàn)軟件的缺陷時,利用Bugziller工具進(jìn)行缺陷的管理,包括缺陷描述、缺陷報(bào)告的提交、分配缺陷、審核缺陷報(bào)告、處理缺陷和驗(yàn)證關(guān)閉缺陷等。
相對于手工測試而言,把需要重復(fù)執(zhí)行的測試步驟描寫成測試腳本,讓機(jī)器去重復(fù)執(zhí)行即自動化測試可以極大的提高工作效率。在教學(xué)設(shè)計(jì)中介紹了自動化測試的基本概念,通過QTP自帶的飛機(jī)訂票系統(tǒng),介紹了QTP功能的基本使用,特別是檢查點(diǎn)、數(shù)據(jù)驅(qū)動、參數(shù)化、對腳本的編輯等,提取學(xué)生管理系統(tǒng)的小項(xiàng)目,作為每個知識點(diǎn)學(xué)習(xí)的案例。
3.2 項(xiàng)目驅(qū)動
在本校的教學(xué)設(shè)計(jì)中,軟件工程為軟件測試的先驅(qū)課程,將學(xué)生所設(shè)計(jì)的軟件作為一個整體的項(xiàng)目進(jìn)行測試,一方面豐富了教學(xué)內(nèi)容,另一方面,進(jìn)一步的提高了學(xué)生的積極性。
以學(xué)生管理系統(tǒng)為例:在對整個項(xiàng)目的測試中,包含了測試計(jì)劃的編寫,測試環(huán)境的搭建,測試用例的編寫,自動化工具的使用,從錯誤的描述及Bug管理工具的使用。當(dāng)學(xué)生對軟件測試的技術(shù)有一定程度的掌握時,選取的項(xiàng)目盡可能的與企業(yè)的實(shí)際工作環(huán)境接近。
在整個項(xiàng)目實(shí)踐中,測試工程師從軟件最初簡單的需求模型到產(chǎn)品發(fā)布各個階段的主要工作都進(jìn)行了詳細(xì)的講述和實(shí)踐操作,包括項(xiàng)目初期各個階段的主要工作,軟件測試計(jì)劃的制定、軟件測試案例的編寫、軟件項(xiàng)目各個部門相互協(xié)作、執(zhí)行測試案例并報(bào)告缺陷、產(chǎn)品功能完善與修復(fù)缺陷階段、測試工程師在產(chǎn)品發(fā)布前后的工作,如下表所示:
4 總結(jié)
由于軟件測試是一門新課程、新技術(shù),教學(xué)經(jīng)驗(yàn)和積累相對較少,各個學(xué)校在對該門課程的教授中,分別進(jìn)行了不同的改革方案。在本文章中,提出基于項(xiàng)目驅(qū)動的軟件測試課程改革,經(jīng)過多輪的教學(xué)實(shí)踐,證實(shí)學(xué)生學(xué)習(xí)興趣較高,知識點(diǎn)掌握較好,并且應(yīng)用相對靈活;在下一步的教學(xué)過程中,為了使所選項(xiàng)目案例和學(xué)習(xí)環(huán)境與企業(yè)更貼切,可以由學(xué)?;蛟合党雒媾c企業(yè)建立合作關(guān)系,建立教學(xué)實(shí)踐基地,保證教學(xué)中對軟件測試項(xiàng)目案例的需要,讓學(xué)生更貼近專業(yè)領(lǐng)域中的實(shí)際應(yīng)用,所培養(yǎng)的軟件測試人才跟好的與企業(yè)需求吻合。
參考文獻(xiàn):
[1] 曾煌興,周曉宏.項(xiàng)目開發(fā)教學(xué)法的教學(xué)設(shè)計(jì)策略及其應(yīng)用[J].職教論壇,2005(6).
[2] 鄭人杰, 殷人昆, 陶永雷. 實(shí)用軟件工程[M]. 北京: 清華大學(xué)出版社,1997.4.
[3] 程茂,溫靜,吳玉潔.《軟件測試》課程的教學(xué)研究[J].河北師范大學(xué)學(xué)報(bào),2010,12(4).
[4] 方寶富,王浩,胡學(xué)鋼,等. 基于教學(xué)競賽一體化的大學(xué)生實(shí)踐創(chuàng)新能力培養(yǎng)模式研究[J].計(jì)算機(jī)教育,2010(24).