賈松浩 楊彩
伴隨著計(jì)算機(jī)的誕生出現(xiàn)了軟件開(kāi)發(fā)。但是,當(dāng)前的軟件開(kāi)發(fā)面臨質(zhì)量不高、功能復(fù)雜等諸多挑戰(zhàn),而軟件測(cè)試是保障軟件質(zhì)量的一個(gè)重要手段。因此,軟件測(cè)試課程逐漸被高校重視起來(lái)[1]。而軟件測(cè)試專業(yè)具有人才缺口大、就業(yè)前景廣、薪資待遇高、無(wú)性別歧視等特點(diǎn),這些原因使軟件測(cè)試課程廣受重視。當(dāng)前的軟件測(cè)試課程教學(xué)面臨著實(shí)踐性不強(qiáng)、學(xué)生動(dòng)手能力不足等問(wèn)題,針對(duì)這些問(wèn)題,我們對(duì)軟件測(cè)試課程的教學(xué)進(jìn)行一些探索,通過(guò)提高課堂教學(xué)質(zhì)量,提高實(shí)踐環(huán)節(jié)的效率,與企業(yè)零距離溝通等方式來(lái)提高教學(xué)的效果,使學(xué)生掌握更強(qiáng)的實(shí)踐動(dòng)手能力[2]。
一軟件測(cè)試課程教學(xué)存在的不足
目前,在很多高校計(jì)算機(jī)課程中,并沒(méi)有單獨(dú)開(kāi)設(shè)軟件測(cè)試技術(shù)課程,只在“軟件工程”課程的某一章節(jié)進(jìn)行了介紹,而在“軟件工程”課程中,軟件測(cè)試只是在軟件開(kāi)發(fā)進(jìn)行以后才開(kāi)始進(jìn)行,這對(duì)于學(xué)生理解軟件測(cè)試是極為不利的[3]。軟件測(cè)試技術(shù)方面的教材不是很多,而且質(zhì)量良莠不齊。有些學(xué)校開(kāi)設(shè)的軟件測(cè)試課程作為選修課,過(guò)多注重軟件測(cè)試?yán)碚摰闹v解和測(cè)試方法的介紹,對(duì)于實(shí)踐環(huán)節(jié)重視不夠,缺乏系統(tǒng)的訓(xùn)練,距離軟件公司對(duì)軟件測(cè)試人才的要求差距較大。
軟件測(cè)試課程教學(xué)中存在的問(wèn)題主要有:(1)理論與實(shí)踐脫節(jié)導(dǎo)致學(xué)生學(xué)習(xí)興趣不濃;(2)軟件測(cè)試實(shí)驗(yàn)室的環(huán)境搭建受限,課堂教學(xué)與實(shí)踐結(jié)合的不緊密;(3)課堂教學(xué)內(nèi)容與公司實(shí)際操作有出入,使得學(xué)生不受用人單位的歡迎;(4)學(xué)生缺乏完整項(xiàng)目的測(cè)試經(jīng)驗(yàn),無(wú)法掌握項(xiàng)目測(cè)試的流程和步驟[4]。(5)學(xué)生的開(kāi)發(fā)經(jīng)驗(yàn)不足,對(duì)于理解測(cè)試驅(qū)動(dòng)開(kāi)發(fā)有難度。
二創(chuàng)新模式的課程改革
針對(duì)目前軟件測(cè)試課程教學(xué)存在的問(wèn)題和不足,對(duì)目前高校開(kāi)設(shè)的《軟件測(cè)試》課程進(jìn)行了調(diào)研、分析和研究,為了使授課內(nèi)容更接近實(shí)踐要求,我們深入企業(yè)并與軟件測(cè)試部門的人員進(jìn)行溝通交流,從教材內(nèi)容、教學(xué)方法等方面對(duì)軟件測(cè)試課程的教學(xué)進(jìn)行探討。
1教材的選擇
軟件測(cè)試實(shí)踐性非常強(qiáng),而且課程開(kāi)設(shè)較晚,更新較快,教材的選擇尤為重要。針對(duì)學(xué)生接受的實(shí)際情況和教材的實(shí)用性方面對(duì)教材進(jìn)行選擇,經(jīng)過(guò)篩選,我們選擇兩篇外文教材:(美)佩騰(Patton,R.)著,張小松等譯的《軟件測(cè)試(原書(shū)第2版)》和(美)梅耶(Myers,G.J.)等著的《軟件測(cè)試的藝術(shù)(原書(shū)第3版)》,一本中文教材:朱少民老師主編的《軟件測(cè)試方法和技術(shù)(第二版)》,教學(xué)過(guò)程中把中文教材作為授課教材,外文教材作為參考書(shū),來(lái)更好的擴(kuò)大學(xué)生的視野[5]。
2課程內(nèi)容的選擇和改進(jìn)
作為一個(gè)實(shí)踐要求非常高的課程,我們?cè)谶x擇課程教學(xué)的內(nèi)容上做了很多探索。經(jīng)過(guò)實(shí)踐發(fā)現(xiàn),上課時(shí)在講解基本知識(shí)和概念的同時(shí),如果穿插講解一些經(jīng)典案例,教學(xué)效果會(huì)更好。學(xué)生不但能夠掌握理解基本概念,又能結(jié)合實(shí)際應(yīng)用,積累一些實(shí)踐經(jīng)驗(yàn),這對(duì)于以后從事軟件測(cè)試工作有著非常大的幫助。
在教學(xué)過(guò)程中,我們始終以學(xué)生為中心,讓他們參與到軟件測(cè)試的教學(xué)過(guò)程中來(lái),調(diào)動(dòng)其主觀能動(dòng)性,使他們更容易接受所學(xué)知識(shí)。
3測(cè)試工具的選擇
在課堂教學(xué)和實(shí)踐教學(xué)過(guò)程中,測(cè)試工具的選擇很重要。如果建一個(gè)相當(dāng)規(guī)模的測(cè)試實(shí)驗(yàn)室,投入是很大的。如何選擇既能達(dá)到課程要求又能節(jié)省費(fèi)用的測(cè)試工具就顯得尤為重要。在最大限度的接近業(yè)界實(shí)際使用的前提下,可以選擇一些開(kāi)源的軟件。對(duì)于業(yè)界關(guān)注度不夠的測(cè)試環(huán)節(jié),在講授軟件測(cè)試時(shí)要重點(diǎn)講解,比如,靜態(tài)測(cè)試在企業(yè)中就重視度不足,認(rèn)為無(wú)關(guān)緊要,實(shí)際上該方法能夠培養(yǎng)良好的編程風(fēng)格。我們?cè)谑谡n時(shí)選擇PMD、FindBugs等工具讓學(xué)生熟悉,不但能培養(yǎng)學(xué)生的測(cè)試能力,同時(shí)也能督促學(xué)生養(yǎng)成良好的編程習(xí)慣[6]。對(duì)于單元測(cè)試部分,根據(jù)時(shí)下軟件開(kāi)發(fā)的兩大趨勢(shì),選擇Junit進(jìn)行講解,掌握該軟件的使用,對(duì)于其他工具開(kāi)發(fā)的軟件進(jìn)行單元測(cè)試也是非常容易的。
4實(shí)踐環(huán)節(jié)的加強(qiáng)
除了課堂教學(xué)以外,實(shí)踐教學(xué)的開(kāi)展對(duì)于軟件測(cè)試課程來(lái)說(shuō)更重要。包括上機(jī)實(shí)踐課和企業(yè)實(shí)踐兩部分。
上機(jī)實(shí)踐環(huán)節(jié)應(yīng)抓好以下環(huán)節(jié):⑴定好計(jì)劃,每次上機(jī)要明確任務(wù),對(duì)于任務(wù)的選擇要有針對(duì)性,要更具有可操作性,要更貼近實(shí)際。比如對(duì)于Junit的實(shí)踐,每一次上課做什么都詳細(xì)制定,把各種斷言、套件測(cè)試、參數(shù)化測(cè)試等重要部分要重點(diǎn)關(guān)注,這樣對(duì)于學(xué)生掌握這部分知識(shí)能起到很好的作用。(2)加強(qiáng)考核,對(duì)于實(shí)踐環(huán)節(jié)所做的任務(wù),要認(rèn)真檢查,并對(duì)學(xué)生完成情況進(jìn)行總結(jié),這樣才能提高學(xué)習(xí)的效果。(3)加強(qiáng)與學(xué)生的溝通,讓學(xué)生完成任務(wù)時(shí),加入不同的小組,通過(guò)小組之間的溝通和交流,起到更好的促進(jìn)作用。(4)完整項(xiàng)目的實(shí)踐,除了平時(shí)的練習(xí)外,整個(gè)課程結(jié)束后,通過(guò)完整項(xiàng)目的帶動(dòng),讓學(xué)生參與到整個(gè)測(cè)試過(guò)程中,使理論與實(shí)踐融合,知識(shí)掌握更牢固。
同時(shí)要深化企業(yè)實(shí)訓(xùn),加強(qiáng)與企業(yè)的合作,讓學(xué)生有機(jī)會(huì)深入到企業(yè)的軟件測(cè)試部門,了解軟件測(cè)試企業(yè)實(shí)際工作時(shí)如何開(kāi)展的,與軟件測(cè)試部門人員溝通交流,增強(qiáng)學(xué)生學(xué)習(xí)的自信心,加強(qiáng)學(xué)生實(shí)踐能力的培養(yǎng)。學(xué)生每年9月份到北京實(shí)習(xí),并與富士康簽訂了合作協(xié)議,這些舉措都是為了更好地提高學(xué)生的實(shí)踐能力。為了使效果更好,可以從以下幾個(gè)方面抓起:(1)學(xué)校擬定一個(gè)校外實(shí)習(xí)大綱,與實(shí)習(xí)企業(yè)一起制訂校企實(shí)習(xí)基地協(xié)議、實(shí)習(xí)安全協(xié)議、學(xué)生實(shí)習(xí)規(guī)范和學(xué)習(xí)實(shí)習(xí)鑒定表等,不斷促進(jìn)校外實(shí)習(xí)制度化,規(guī)范化、完善化。(2)企業(yè)要提供良好的實(shí)訓(xùn)場(chǎng)地,并配備資深的講授老師。在實(shí)訓(xùn)前,講授教師先了解一下實(shí)訓(xùn)生的情況,對(duì)講課計(jì)劃和講課內(nèi)容做適當(dāng)?shù)恼{(diào)整。(3)在實(shí)訓(xùn)期間,學(xué)??梢粤粢恍┙處煴O(jiān)督實(shí)訓(xùn)過(guò)程,并實(shí)時(shí)地提出建議,保證學(xué)生訓(xùn)有所獲。(4)實(shí)訓(xùn)結(jié)束后,要對(duì)實(shí)訓(xùn)生做一個(gè)項(xiàng)目式的考核,并認(rèn)真填寫(xiě)實(shí)習(xí)成績(jī)?cè)u(píng)定表。
5注重軟件測(cè)試人才的軟實(shí)力培養(yǎng)
軟件測(cè)試是一門熱門行業(yè),軟件企業(yè)在招聘人員時(shí),不僅要求應(yīng)聘人員有一定的理論知識(shí)和實(shí)踐動(dòng)手能力,同時(shí)要求應(yīng)聘人員有良好的職業(yè)素質(zhì)。而在當(dāng)前的教學(xué)模式下,對(duì)職業(yè)素質(zhì)方面的教育還是比較欠缺。這需要對(duì)學(xué)生進(jìn)行培訓(xùn),增加就業(yè)幾率。
(1)注重培養(yǎng)學(xué)生的團(tuán)隊(duì)協(xié)作與溝通能力
對(duì)于軟件測(cè)試行業(yè)來(lái)說(shuō),測(cè)試人員的溝通能力非常重要。一個(gè)合格的軟件測(cè)試人才,應(yīng)該具有較高的團(tuán)隊(duì)協(xié)作與溝通能力,可以快速融入團(tuán)隊(duì),高效地展開(kāi)團(tuán)隊(duì)式工作。一個(gè)不善于表達(dá)自己思想的人不可能成為一名優(yōu)秀的測(cè)試工程師。我們?cè)趯?shí)踐課開(kāi)展過(guò)程中,重視培養(yǎng)同學(xué)的溝通能力,團(tuán)隊(duì)協(xié)作能力,在學(xué)生中樹(shù)立良好的團(tuán)隊(duì)意識(shí)。
(2)培養(yǎng)學(xué)生的懷疑精神
軟件測(cè)試的目的就是為了找出軟件存在的不足,因此我們鼓勵(lì)學(xué)生懷疑一切可疑的地方,盡自己最大的努力來(lái)驗(yàn)證自己的判斷。即使再簡(jiǎn)單的功能,也要站在用戶的角度,多用一些邊界值進(jìn)行測(cè)試,驗(yàn)證系統(tǒng)是否有問(wèn)題。
(3)搜索能力的培養(yǎng)
一個(gè)好的軟件測(cè)試工程師,要有很強(qiáng)的搜索發(fā)現(xiàn)新知識(shí)和技能的能力,這不僅指一般性知識(shí)的搜索和查閱,更多是指與本專業(yè)相關(guān)的測(cè)試工具軟件、插件、測(cè)試學(xué)習(xí)網(wǎng)站等的搜索與下載,比如51testing就是國(guó)內(nèi)比較好的測(cè)試學(xué)習(xí)網(wǎng)站,其上就有很多軟件測(cè)試方面比較成熟的知識(shí)和實(shí)踐技巧。在信息爆炸的當(dāng)代社會(huì),軟件的種類繁多,軟件技術(shù)的變化日新月異,所以大學(xué)生應(yīng)該掌握軟件測(cè)試的檢索技術(shù),以滿足自己學(xué)習(xí)和工作的需要。這種能力是自己的充電器,會(huì)使自己終生受益。
此外,一個(gè)優(yōu)秀的測(cè)試工程師還應(yīng)有高度的責(zé)任感、耐心、洞察力,在技術(shù)層次都相差不大的情況下,這些軟實(shí)力對(duì)于測(cè)試工程師的發(fā)展有著至關(guān)重要的作用。
總之,通過(guò)《軟件測(cè)試》課程的教學(xué)方法的探索,通過(guò)系統(tǒng)科學(xué)的知識(shí)傳授,并輔以上機(jī)實(shí)踐和企業(yè)實(shí)踐,學(xué)生的實(shí)踐動(dòng)手能力有了很大提高,這直接反映到學(xué)生的就業(yè)和以后的學(xué)習(xí)中。有一部分學(xué)生在畢業(yè)后進(jìn)入企業(yè)的軟件測(cè)試部門并得到用人單位的好評(píng),一部分學(xué)生在考取研究生之后選擇了軟件測(cè)試方向作為自己的研究方向。如何在現(xiàn)有的探索的基礎(chǔ)上,更大限度的提高教學(xué)的效果,是我們下一步的研究重點(diǎn)。
參考文獻(xiàn)
[1]朱少民.軟件測(cè)試方法和技術(shù)(第二版)[M].清華大學(xué)出版社,2010.
[2]聶長(zhǎng)海.關(guān)于軟件測(cè)試的幾點(diǎn)思考[J].計(jì)算機(jī)科學(xué),2011,38(2):1-3.
[3]陳樹(shù)峰.面向?qū)ο筌浖囊蕾囆苑治雠c回歸測(cè)試[J].計(jì)算機(jī)應(yīng)用,2009,29(11):3110-3113.
[4]李雯睿,張鵬程,楊種學(xué).基于主動(dòng)學(xué)習(xí)策略的軟件測(cè)試教學(xué)方法初探[J].計(jì)算機(jī)教育,2012(8):54-57.
[5]翁偉,吳克壽,吳蕓,等.程序設(shè)計(jì)課程群建設(shè)探索與實(shí)踐[J].計(jì)算機(jī)教育,2009(23):122-125.
[6]王建民,范通讓,劉立嘉.軟件工程專業(yè)校企聯(lián)合人才培養(yǎng)模式的探索與實(shí)踐[J].計(jì)算機(jī)工程與科學(xué),2011,33(A1):112-115.