摘 要 軟件測試是計(jì)算機(jī)相關(guān)專業(yè)的一門重要課程,高校圍繞該課程的教學(xué)作了大量嘗試,并取得了一定的成績。由于在教學(xué)內(nèi)容、教學(xué)方式方法等方面還存在一些問題,導(dǎo)致目前軟件測試課程教學(xué)無法與社會(huì)需求無縫接軌。圍繞這些問題,筆者根據(jù)多年軟件測試課程教學(xué)實(shí)踐經(jīng)驗(yàn),給出了自己的建議。
關(guān)鍵詞 軟件測試 教學(xué)模式 考核方式
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A " DOI:10.16400/j.cnki.kjdkz.2015.04.026
Thinking and Suggestion on Software Testing course
JIANG Caoqing
(College of Information and Statistics, Guangxi University of
Financial and Economics, Nanning, Guangxi 530003)
Abstract There are still some problems in the teaching content, teaching methods, which lead to a gap between current teaching of software testing course and social demands. Focusing on these problems, the author, according to many years of practical experience in course teaching of software testing, gives his suggestions.
Key words software testing; teaching pattern; evaluation model
軟件測試作為軟件工程過程的一個(gè)重要組成部分,在軟件開發(fā)過程中一般占總工作量的40%以上,不言而喻,軟件測試課程已成為軟件相關(guān)專業(yè)的一門重要必修課程。雖然各高校圍繞該課程的教學(xué)作了大量嘗試,并取得了一定的成績,但是由于在教學(xué)內(nèi)容、教學(xué)方式方法和考核方式等方面還存在一些問題,導(dǎo)致軟件測試課程教學(xué)效果較差,難以滿足軟件企業(yè)的需求。圍繞這些問題,筆者根據(jù)多年軟件測試課程教學(xué)實(shí)踐經(jīng)驗(yàn),給出自己的建議。
1 目前存在的問題
1.1 教學(xué)內(nèi)容多而繁雜
軟件測試課程的教學(xué)內(nèi)容不僅涉及理論知識(shí),也包含實(shí)踐操作,通常包括軟件測試的基本概念和原理、核心技術(shù)、測試過程中所需技能、測試自動(dòng)化知識(shí)及工具、測試管理和綜合案例等方面內(nèi)容。僅核心技術(shù)就不僅包括白盒測試、黑盒測試、面向?qū)ο鬁y試、嵌入式軟件測試、Web系統(tǒng)測試,還包括單元測試、集成測試、系統(tǒng)測試、回歸測試等等,其中每一項(xiàng)內(nèi)容均包含豐富的內(nèi)容,需要較多的課時(shí)才能使學(xué)生真正掌握。自動(dòng)化工具方面的內(nèi)容就顯得更加復(fù)雜,許多公司和研究者針對(duì)各種開發(fā)語言及環(huán)境開發(fā)了相應(yīng)的測試工具,選擇哪些測試工具實(shí)施教學(xué)成為該課程教學(xué)的極大困惑。內(nèi)容繁雜易造成教學(xué)內(nèi)容主次不分,難以達(dá)到好的教學(xué)效果。
1.2 學(xué)生專業(yè)基礎(chǔ)參差不齊
學(xué)習(xí)軟件測試課程的學(xué)生需要軟件工程、面向?qū)ο?、面向過程程序設(shè)計(jì)等方面的基礎(chǔ),需要具有一定程序設(shè)計(jì)能力和軟件項(xiàng)目開發(fā)經(jīng)驗(yàn)。然而學(xué)習(xí)該課程的學(xué)生往往來自不同專業(yè),其專業(yè)基礎(chǔ)存在較大差距,有的同學(xué)尚缺少相關(guān)核心基礎(chǔ)課程的學(xué)習(xí)經(jīng)歷。就算在同班同學(xué)中也存在專業(yè)基礎(chǔ)差別較大,一些同學(xué)有參與大型軟件項(xiàng)目的經(jīng)歷,而一些同學(xué)甚至連面向?qū)ο?、流程圖等基本概念都不知道,這樣就造成任課老師難以開展教學(xué)工作,難以做到因材施教,更難以達(dá)到預(yù)期的教學(xué)效果。
1.3 師資隊(duì)伍薄弱
軟件測試課程在高校軟件相關(guān)專業(yè)開設(shè)得比較晚,該課程老師大多在該課程方面沒有經(jīng)過深入研究或系統(tǒng)培訓(xùn),缺乏案例和軟件測試經(jīng)驗(yàn),因此就如何做好該課程的教學(xué)工作尚沒有好的方法和經(jīng)驗(yàn),無法針對(duì)實(shí)際案例進(jìn)行深入分析,從而導(dǎo)致講授流于理論,實(shí)訓(xùn)流于形式。
1.4 實(shí)驗(yàn)教學(xué)條件有待改善
軟件測試是一門需要通過實(shí)驗(yàn)和工具來幫助學(xué)習(xí)的課程,但學(xué)校常因缺乏資金支持,沒能建立可用于軟件測試實(shí)驗(yàn)的專門實(shí)驗(yàn)室,沒有購買常用的軟件測試工具,只能在普通實(shí)驗(yàn)室使用盜版或免費(fèi)測試軟件進(jìn)行教學(xué)。這導(dǎo)致教學(xué)實(shí)踐中不能正常使用這些工具,從而使得該課程學(xué)習(xí)難以正常進(jìn)行、學(xué)習(xí)效果差。
1.5 測試文檔編寫工作不受重視
軟件測試作為軟件工程的一個(gè)重要階段,需按照軟件工程標(biāo)準(zhǔn)和規(guī)范要求做好軟件測試計(jì)劃、測試用例設(shè)計(jì)、測試報(bào)告等文檔的編寫工作,這可為以后軟件維護(hù)和回歸測試提供便利。但在教學(xué)中,往往因?yàn)椴恢匾暅y試文檔的編寫工作,一方面使得學(xué)生在測試工程實(shí)踐中具有隨意性,缺乏測試計(jì)劃及用例的指導(dǎo),另一方面導(dǎo)致學(xué)生到軟件企業(yè)工作時(shí)不懂如何寫好測試文檔,也沒有任何根據(jù)文檔進(jìn)行測試工作的經(jīng)驗(yàn)。
1.6 課程考核方式存在弊端
軟件測試課程考核方式一般由平時(shí)成績、實(shí)訓(xùn)成績和期末筆試成績構(gòu)成。這種考核方式存在期末筆試成績占總成績的權(quán)重過高問題,出現(xiàn)學(xué)生過分注重理論學(xué)習(xí)、忽視實(shí)踐操作現(xiàn)象;存在平時(shí)成績?cè)u(píng)定時(shí)受各種人為因素的影響而具有一定隨意性,存在實(shí)訓(xùn)報(bào)告中大量同學(xué)相互抄襲現(xiàn)象,存在考試內(nèi)容陳舊、缺乏創(chuàng)新思維和綜合能力的引導(dǎo)和測試等問題。這樣的課程考核方式必然帶來學(xué)生錯(cuò)誤的學(xué)習(xí)導(dǎo)向問題。
2 課程教學(xué)改革建議
為了解決上述軟件測試教學(xué)工作出現(xiàn)的各種問題,提高教學(xué)質(zhì)量,建議采用以下所述措施和方法。
2.1 重組核心教學(xué)內(nèi)容
軟件測試課程中各內(nèi)容之間既相互聯(lián)系,又各有自己的特點(diǎn)和獨(dú)立性,應(yīng)確保各內(nèi)容知識(shí)點(diǎn)銜接緊密又不出現(xiàn)交叉重復(fù)。通過分析課程內(nèi)各內(nèi)容的特點(diǎn),對(duì)教學(xué)內(nèi)容重新進(jìn)行修訂,突出軟件測試的核心內(nèi)容,主要包括:基本層面的白盒測試技術(shù)和黑盒測試技術(shù),涉及單元測試、集成測試、系統(tǒng)測試及驗(yàn)收測試中的測試計(jì)劃、用例分析和設(shè)計(jì)等內(nèi)容;高級(jí)層面的面向?qū)ο筌浖y試、Web系統(tǒng)測試、嵌入式系統(tǒng)測試、數(shù)據(jù)庫測試、安全性測試等。在優(yōu)化教學(xué)內(nèi)容的同時(shí),將各教師在科研實(shí)踐及教學(xué)中累積的優(yōu)秀案例進(jìn)行篩選和整理,補(bǔ)充和更新教學(xué)內(nèi)容,使理論知識(shí)和應(yīng)用技術(shù)緊密聯(lián)系,滿足課程教學(xué)要求。另外,調(diào)整實(shí)踐教學(xué)內(nèi)容和學(xué)時(shí),進(jìn)一步突出對(duì)學(xué)生軟件測試實(shí)踐技能的培養(yǎng),按照“循序漸進(jìn),由淺入深”的原則,將實(shí)踐教學(xué)內(nèi)容分為驗(yàn)證型實(shí)驗(yàn)、設(shè)計(jì)型實(shí)驗(yàn)、綜合型實(shí)驗(yàn)和軟件測試實(shí)訓(xùn)。通過對(duì)核心教學(xué)內(nèi)容的重組,使軟件測試課程在專業(yè)課程群中的作用和地位進(jìn)一步提升。
2.2 探索新的教學(xué)模式
針對(duì)學(xué)生專業(yè)基礎(chǔ)參差不齊問題,不斷探索適合高校各專業(yè)軟件測試課程教學(xué)新模式。適合的教學(xué)模式包括:①項(xiàng)目/案例驅(qū)動(dòng)教學(xué)模式。為了使學(xué)生能深刻領(lǐng)會(huì)和理解軟件測試相關(guān)理論和技術(shù),在教學(xué)中引入實(shí)際案例,用直觀形象的案例講解軟件測試的各知識(shí)模塊。②小組協(xié)作學(xué)習(xí)模式。為了增強(qiáng)學(xué)生學(xué)習(xí)的積極性和團(tuán)隊(duì)協(xié)作能力,將班級(jí)按3~5人分成不同的項(xiàng)目組,項(xiàng)目組成員根據(jù)個(gè)人能力在項(xiàng)目中擔(dān)當(dāng)不同的角色,并通過合作完成同一任務(wù),形成組內(nèi)成員協(xié)作與溝通、組間成員競爭與激勵(lì)的教學(xué)模式,有利于提高學(xué)生自主學(xué)習(xí)能力和課堂教學(xué)效率。③網(wǎng)絡(luò)課程輔助教學(xué)模式。該模式基于多種軟件測試相關(guān)教學(xué)資源構(gòu)建網(wǎng)絡(luò)教學(xué)平臺(tái),在該平臺(tái)環(huán)境下不僅能夠使教師遠(yuǎn)程輔導(dǎo)學(xué)生,還可以布置作業(yè)、解難答疑、共享外校優(yōu)質(zhì)資源等。該教學(xué)模式不僅可解決專業(yè)基礎(chǔ)參差不齊問題,也可有效解決師資隊(duì)伍薄弱問題。④校企合作教學(xué)模式。為了提高學(xué)生的實(shí)踐能力和創(chuàng)新意識(shí),提升畢業(yè)生就業(yè)核心競爭力,可與軟件企業(yè)聯(lián)合開設(shè)軟件測試課程,聘請(qǐng)資深軟件測試人員講授軟件測試的技術(shù)和技能,從而提升學(xué)生的實(shí)際應(yīng)用能力,縮短學(xué)生進(jìn)入職場的磨合期。同時(shí),利用企業(yè)優(yōu)良實(shí)驗(yàn)教學(xué)條件,從而解決高校實(shí)驗(yàn)教學(xué)條件不足問題。
2.3 提高學(xué)生基于文檔的工程實(shí)踐能力
為了提高學(xué)生基于軟件測試文檔的工程實(shí)踐能力,需要采取如下措施:①平時(shí)要求學(xué)生完成實(shí)驗(yàn)任務(wù)時(shí)要寫測試文檔。在軟件測試課程教學(xué)中,不論做白盒測試、黑盒測試實(shí)驗(yàn),還是完成單元測試、集成測試、系統(tǒng)測試和驗(yàn)收測試工作,均要求學(xué)生編寫測試計(jì)劃、測試用例和測試報(bào)告等文檔,并適當(dāng)增加學(xué)生實(shí)驗(yàn)任務(wù),力爭做到每周給學(xué)生布置一次任務(wù),達(dá)到快速培養(yǎng)學(xué)生獨(dú)立分析問題和解決問題的能力。②在學(xué)期末完成一個(gè)綜合性實(shí)訓(xùn)項(xiàng)目,在布置任務(wù)時(shí)要向?qū)W生強(qiáng)調(diào):把該項(xiàng)目當(dāng)成一個(gè)工程項(xiàng)目,應(yīng)遵照軟件工程標(biāo)準(zhǔn)和規(guī)范要求編寫測試文檔。在項(xiàng)目推進(jìn)過程中,通過每隔一周檢查每個(gè)項(xiàng)目組完成測試文檔的情況,了解學(xué)生完成項(xiàng)目的情況,發(fā)現(xiàn)項(xiàng)目實(shí)施過程中存在的不足,通過反復(fù)地指出不足、改進(jìn)錯(cuò)誤,從而訓(xùn)練學(xué)生的軟件測試工作能力。項(xiàng)目結(jié)束時(shí)要求同學(xué)以組為單位進(jìn)行答辯,答辯時(shí)要求每個(gè)同學(xué)依據(jù)文檔進(jìn)行答辯,接受同學(xué)們的提問并依此進(jìn)行計(jì)分。最后還要求學(xué)生根據(jù)答辯情況修改軟件測試文檔并上交,教師還要依據(jù)這些文檔評(píng)定實(shí)訓(xùn)的最后得分。通過該項(xiàng)目,不僅鍛煉了學(xué)生測試文檔書寫能力,也提高了學(xué)生測試工程實(shí)踐能力,還提升學(xué)生創(chuàng)新型思維和實(shí)踐能力。
2.4 改進(jìn)考核體系
為了提高學(xué)生應(yīng)用能力,滿足企事業(yè)人才需要的要求,需要對(duì)本課程考核體系進(jìn)行改進(jìn),可以考慮引入社會(huì)評(píng)價(jià)機(jī)制。該評(píng)價(jià)機(jī)制的主要形式包括:①應(yīng)用能力的測試。安排學(xué)生參與學(xué)校和企業(yè)共同負(fù)責(zé)的課程實(shí)訓(xùn),即由企業(yè)安排實(shí)訓(xùn)內(nèi)容,學(xué)校和企業(yè)共同參與指導(dǎo)和考核,成績?cè)u(píng)定主要從培養(yǎng)學(xué)生的軟件測試應(yīng)用能力方面進(jìn)行考核。②職業(yè)技能的測試。組織學(xué)生參與有一定資質(zhì)的軟件企業(yè)授權(quán)的行業(yè)證書考試,通過該考試可達(dá)到對(duì)學(xué)生軟件測試方面的職業(yè)知識(shí)、職業(yè)素養(yǎng)及實(shí)踐能力等的綜合測試和評(píng)價(jià),同時(shí)提升學(xué)生的職業(yè)素養(yǎng)和職業(yè)技能。③創(chuàng)新能力的測試。組織學(xué)生參與教師科研項(xiàng)目、企業(yè)實(shí)際項(xiàng)目、大學(xué)生創(chuàng)新項(xiàng)目的軟件測試工作及具有一定知名度的軟件測試大賽。通過實(shí)際項(xiàng)目測試工作或軟件測試大賽的鍛煉,有利于擴(kuò)充和深化學(xué)生的理論和實(shí)踐知識(shí),提高學(xué)生軟件測試工程應(yīng)用及創(chuàng)新能力。④綜合能力的測試。組織學(xué)生參加軟件測評(píng)師測試,該測試是一種全國計(jì)算機(jī)技術(shù)與軟件專業(yè)技術(shù)資格考試,屬于專業(yè)水平的國家品牌考試,注重軟件測試知識(shí)和技能的綜合性考查。教學(xué)團(tuán)隊(duì)根據(jù)學(xué)生參與該考試的反饋結(jié)果,認(rèn)真分析教學(xué)中存在的不足,及時(shí)采取相應(yīng)的改進(jìn)措施,進(jìn)一步提高該課程的教學(xué)效果和質(zhì)量。
本文得到廣西高??茖W(xué)技術(shù)研究項(xiàng)目(YB2014349)的資助
參考文獻(xiàn)
[1] 穆海倫,李萬清.面向企業(yè)的高校軟件測試教學(xué)改革探索.計(jì)算機(jī)教育,2013(10):36-40.
[2] 李月龍.高校軟件測試課程教學(xué)改革研究.計(jì)算機(jī)教育,2014(14):16-18.
[3] 趙翀,高鵬.軟件測試課程工程實(shí)踐教學(xué)模式的探索與實(shí)施.計(jì)算機(jī)工程與科學(xué),2014.36(A1):51-55.