摘要:針對(duì)軟件測(cè)試課程教學(xué)中缺乏系統(tǒng)實(shí)例、重技術(shù)實(shí)現(xiàn)輕文檔工作、測(cè)試工具使用流于產(chǎn)品說(shuō)明等問(wèn)題,文章就探索實(shí)驗(yàn)教學(xué)進(jìn)度和內(nèi)容進(jìn)行了論述。依據(jù)實(shí)際軟件開(kāi)發(fā)過(guò)程中軟件測(cè)試實(shí)施的方式方法,提出設(shè)計(jì)一套系統(tǒng)的軟件測(cè)試實(shí)驗(yàn)內(nèi)容。文章還闡述了在教學(xué)過(guò)程中采用案例教學(xué)法,提供給學(xué)生完整的案例系統(tǒng)及充分的設(shè)計(jì)文檔,讓學(xué)生學(xué)會(huì)根據(jù)設(shè)計(jì)文檔書寫測(cè)試文檔、掌握測(cè)試工具的使用及自動(dòng)化測(cè)試工具的開(kāi)發(fā)。
關(guān)鍵詞:案例教學(xué)法;軟件測(cè)試過(guò)程;測(cè)試文檔
目前我國(guó)軟件測(cè)試人才嚴(yán)重匱乏,人才缺口達(dá)到30萬(wàn),造成這一結(jié)果的主要原因是國(guó)內(nèi)軟件測(cè)試人才教育相對(duì)滯后[1]。但實(shí)際上,很多學(xué)習(xí)了軟件測(cè)試課程的學(xué)生卻找不到工作,業(yè)內(nèi)專家稱之為人才的“結(jié)構(gòu)性過(guò)?!盵2],而滯后的原因不僅僅是教育機(jī)構(gòu)開(kāi)設(shè)軟件測(cè)試課程時(shí)間的滯后,主要是教學(xué)內(nèi)容和教學(xué)效果與實(shí)際需要的差距產(chǎn)生的滯后。外包開(kāi)發(fā)行業(yè)快速發(fā)展,對(duì)人才在代碼和文檔方面的規(guī)范性、技能和工具的熟練程度要求越來(lái)越高[2],而這些要求正是軟件測(cè)試人才教育的薄弱環(huán)節(jié)。因此,如何順應(yīng)市場(chǎng)需求,培養(yǎng)出企業(yè)所需的軟件測(cè)試人員,成為軟件測(cè)試課程改革創(chuàng)新的目標(biāo)。
1教學(xué)現(xiàn)狀
隨著軟件測(cè)試人員市場(chǎng)需求的不斷增加,各大高校、職業(yè)技術(shù)學(xué)校及IT培訓(xùn)機(jī)構(gòu)紛紛開(kāi)設(shè)了“軟件測(cè)試”課程。然而,在師資方面,講授軟件測(cè)試課程的教師多數(shù)是由軟件工程的教師承擔(dān),這些主講教師能很好地講解軟件測(cè)試?yán)碚摵徒榻B軟件測(cè)試方法,但缺乏軟件測(cè)試的系統(tǒng)案例和軟件測(cè)試經(jīng)驗(yàn)[3]。在理論教材方面,雖然各種軟件測(cè)試的教材相繼出版發(fā)行,但教材中技術(shù)實(shí)現(xiàn)的內(nèi)容較多,對(duì)常用的軟件測(cè)試文檔書寫介紹很少,且缺乏文檔模板;對(duì)自動(dòng)化測(cè)試工具,基本也是簡(jiǎn)略介紹其功能。在實(shí)驗(yàn)教材方面,目前還沒(méi)有配套的軟件測(cè)試實(shí)驗(yàn)教材問(wèn)世,在教學(xué)過(guò)程中基本是任課教師自行設(shè)計(jì)實(shí)驗(yàn)教學(xué)內(nèi)容。對(duì)于實(shí)踐性較強(qiáng)的課程,主講教師如果沒(méi)有大量的實(shí)際項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn)作為支撐,就難于用恰當(dāng)?shù)膶?shí)例來(lái)解釋相關(guān)理論,更難設(shè)計(jì)出實(shí)用有效的實(shí)驗(yàn)內(nèi)容,導(dǎo)致在校學(xué)習(xí)的知識(shí)與實(shí)際工作脫節(jié)的現(xiàn)象。要順應(yīng)軟件測(cè)試人才市場(chǎng)的需求,軟件測(cè)試課程的教學(xué)必須面向企業(yè)的實(shí)際需要,使學(xué)生能學(xué)到實(shí)際工作中常用的技能,以“經(jīng)驗(yàn)者”的身份進(jìn)入人才市場(chǎng)參與競(jìng)爭(zhēng)。
2改革和創(chuàng)新
筆者以日企工程經(jīng)驗(yàn)為依據(jù),針對(duì)軟件測(cè)試課程教學(xué)中缺乏系統(tǒng)案例、重技術(shù)實(shí)現(xiàn)輕文檔工作、測(cè)試工具流于產(chǎn)品說(shuō)明等問(wèn)題[4],設(shè)計(jì)了一套軟件測(cè)試實(shí)驗(yàn),幫助學(xué)生利用軟件測(cè)試技術(shù)搭建測(cè)試環(huán)境;根據(jù)測(cè)試規(guī)格說(shuō)明書進(jìn)行測(cè)試;練習(xí)測(cè)試用例的設(shè)計(jì)、執(zhí)行與跟蹤并高效地進(jìn)行回歸測(cè)試;熟悉常用測(cè)試文檔的書寫方法;掌握如何保存測(cè)試用例和有效的測(cè)試結(jié)果;準(zhǔn)確地書寫缺陷報(bào)告;通過(guò)思考題的方式啟發(fā)學(xué)生利用計(jì)算機(jī)技術(shù)開(kāi)發(fā)自動(dòng)化測(cè)試工具。
2.1教學(xué)進(jìn)度的調(diào)整
計(jì)算機(jī)課程的實(shí)驗(yàn)教學(xué),通常和理論課同步或延遲幾周進(jìn)行。對(duì)于軟件測(cè)試這門課程的實(shí)驗(yàn)教學(xué),如果與理論課同步進(jìn)行,前期的實(shí)驗(yàn)內(nèi)容安排就缺乏理論支持,如果比理論課遲后幾次,即在講述白盒測(cè)試和黑盒測(cè)試后開(kāi)始實(shí)驗(yàn)教學(xué),就可以將各種測(cè)試方法融入實(shí)驗(yàn)中進(jìn)行,但由于軟件測(cè)試過(guò)程及技術(shù)、測(cè)試文檔書寫相關(guān)內(nèi)容還未講述,實(shí)驗(yàn)內(nèi)容的安排顯得孤立,沒(méi)有整體感。為了讓學(xué)生體驗(yàn)軟件測(cè)試在實(shí)際工作環(huán)境中的實(shí)施過(guò)程,將理論課講述的知識(shí)有機(jī)地融入到完整的案例中進(jìn)行實(shí)驗(yàn),就需要系統(tǒng)地學(xué)習(xí)完理論知識(shí)后,再結(jié)合實(shí)際案例系統(tǒng)地進(jìn)行實(shí)驗(yàn)。
我們打破傳統(tǒng)的周四學(xué)時(shí),即“理論2+實(shí)驗(yàn)2”的排課模式,將一個(gè)學(xué)期分為理論上半學(xué)期,實(shí)驗(yàn)下半學(xué)期,上半學(xué)期周四學(xué)時(shí)用于結(jié)合案例進(jìn)行理論教學(xué),下半學(xué)期周四學(xué)時(shí)針對(duì)理論課講述的案例進(jìn)行實(shí)驗(yàn)教學(xué),以便學(xué)生能夠模擬實(shí)際工作環(huán)境進(jìn)行系統(tǒng)的軟件測(cè)試實(shí)驗(yàn)。
2.2實(shí)驗(yàn)教學(xué)的創(chuàng)新
2.2.1實(shí)驗(yàn)素材的創(chuàng)新
現(xiàn)有的軟件測(cè)試教材,通常會(huì)在最后章節(jié)給出一個(gè)案例,針對(duì)該案例利用教材上介紹的各種測(cè)試方法有針對(duì)性地進(jìn)行測(cè)試用例設(shè)計(jì)。但是教材對(duì)案例的描述基本只限于項(xiàng)目背景介紹、子系統(tǒng)介紹、子系統(tǒng)功能分析、子系統(tǒng)性能及可用性要求方面的資料,基本沒(méi)有提供可運(yùn)行案例系統(tǒng)的代碼,同時(shí)也缺乏必要的供測(cè)試使用的文檔。實(shí)際工作中,軟件測(cè)試過(guò)程與軟件設(shè)計(jì)周期有相互對(duì)應(yīng)的關(guān)系,軟件測(cè)試過(guò)程中的單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試、驗(yàn)收測(cè)試分別對(duì)應(yīng)軟件設(shè)計(jì)中的詳細(xì)設(shè)計(jì)、概要設(shè)計(jì)、系統(tǒng)設(shè)計(jì)和需求分析[5]。因此,要完成一個(gè)系統(tǒng)的較完整測(cè)試過(guò)程,不僅要提供被測(cè)系統(tǒng)的完整代碼及數(shù)據(jù),還必須提供全套的設(shè)計(jì)文檔。
我們以一個(gè)開(kāi)發(fā)完整的以C/S模式實(shí)現(xiàn)的“小區(qū)物業(yè)管理系統(tǒng)”和B/S模式實(shí)現(xiàn)的“圖書館管理系統(tǒng)”作為測(cè)試案例,在理論課教學(xué)中主要以“小區(qū)物業(yè)管理系統(tǒng)”作為案例進(jìn)行理論知識(shí)的講解,與網(wǎng)站測(cè)試和面向?qū)ο鬁y(cè)試相關(guān)的內(nèi)容以“圖書館管理系統(tǒng)”作為案例進(jìn)行講解。這樣,進(jìn)行完理論教學(xué),學(xué)生對(duì)案例系統(tǒng)的功能基本了解。在實(shí)驗(yàn)教學(xué)中,我們提供給學(xué)生在測(cè)試中需要的代碼、開(kāi)發(fā)規(guī)范、需求分析、系統(tǒng)設(shè)計(jì)書、概要設(shè)計(jì)書、詳細(xì)設(shè)計(jì)書,具備了以上資料,便可模擬實(shí)際工作模式,將理論教學(xué)中講述的測(cè)試策略和方法、測(cè)試文檔的書寫方法運(yùn)用到該案例的測(cè)試實(shí)驗(yàn)中。
2.2.2實(shí)驗(yàn)內(nèi)容的創(chuàng)新
由于實(shí)驗(yàn)教學(xué)學(xué)時(shí)和學(xué)生能力的限制,在本實(shí)驗(yàn)的設(shè)計(jì)中,我們主要針對(duì)初、中級(jí)測(cè)試工程師級(jí)別設(shè)計(jì)實(shí)驗(yàn)內(nèi)容,這些實(shí)驗(yàn)內(nèi)容就是同學(xué)們踏上測(cè)試崗位要?jiǎng)邮指傻膶?shí)際工作。而針對(duì)高級(jí)測(cè)試工程師和測(cè)試管理者擔(dān)當(dāng)?shù)墓ぷ?,比如測(cè)試計(jì)劃的制作、各種設(shè)計(jì)的驗(yàn)證、測(cè)試評(píng)估和總結(jié),需要經(jīng)歷初中級(jí)測(cè)試工程師的實(shí)戰(zhàn),積累大量經(jīng)驗(yàn)才能承擔(dān),這一部分內(nèi)容,我們只在理論教學(xué)中簡(jiǎn)單講述,不在實(shí)驗(yàn)教學(xué)中安排實(shí)驗(yàn)內(nèi)容。
我們?cè)O(shè)計(jì)了表1所示的實(shí)驗(yàn)內(nèi)容,本設(shè)計(jì)旨在讓學(xué)生經(jīng)過(guò)實(shí)驗(yàn)的訓(xùn)練,以“經(jīng)驗(yàn)者”的角色參與求職應(yīng)聘,因此,我們以項(xiàng)目管理者培養(yǎng)“新人”的方式來(lái)安排實(shí)驗(yàn)內(nèi)容和進(jìn)度。雖然軟件測(cè)試貫穿于軟件生命周期的全過(guò)程,但對(duì)于剛畢業(yè)的大學(xué)生來(lái)說(shuō),從人才培養(yǎng)角度出發(fā),項(xiàng)目管理者通常是按照以下流程在工作過(guò)程中培養(yǎng)人才:?jiǎn)渭冃詼y(cè)試的實(shí)施、測(cè)試設(shè)計(jì)(書寫測(cè)試規(guī)格說(shuō)明書)、測(cè)試環(huán)境搭建等,按照單元測(cè)試、集成測(cè)試、系統(tǒng)測(cè)試的順序循序漸進(jìn)地深入測(cè)試工作,因此我們按如下進(jìn)度設(shè)計(jì)了以下實(shí)驗(yàn)內(nèi)容,并在提供的素材中人為地制造缺陷,以便學(xué)生發(fā)現(xiàn)缺陷、分析缺陷、修改缺陷。
通過(guò)上述8個(gè)實(shí)驗(yàn),讓學(xué)生牢固掌握單元測(cè)試和集成測(cè)試的設(shè)計(jì)和實(shí)現(xiàn)方法,了解常用測(cè)試工具的使用方法,同時(shí)對(duì)系統(tǒng)測(cè)試實(shí)施有基本了解。嚴(yán)格經(jīng)過(guò)這8個(gè)實(shí)驗(yàn)的訓(xùn)練,學(xué)生基本能以初級(jí)測(cè)試工程師的身份投入到測(cè)試工作中。
2.2.3實(shí)驗(yàn)過(guò)程的創(chuàng)新
為提高實(shí)驗(yàn)教學(xué)效果,有的放矢地做好每一次實(shí)驗(yàn),我們將每次實(shí)驗(yàn)分為四個(gè)階段。第一階段是以學(xué)生為主體的實(shí)驗(yàn)預(yù)習(xí),要求學(xué)生進(jìn)入實(shí)驗(yàn)室之前明確實(shí)驗(yàn)?zāi)康摹?nèi)容,并以書面形式完成實(shí)驗(yàn)步驟設(shè)計(jì)及實(shí)驗(yàn)時(shí)間分配;第二階段是以教師為主體的實(shí)驗(yàn)概述,用10分鐘的時(shí)間結(jié)合理論內(nèi)容講解實(shí)驗(yàn)涉及的知識(shí)點(diǎn)、實(shí)驗(yàn)素材的作用及注意事項(xiàng);第三階段是以學(xué)生為主體的實(shí)驗(yàn)實(shí)施,實(shí)施過(guò)程中教師隨堂抽檢學(xué)生進(jìn)行狀況,對(duì)個(gè)別問(wèn)題個(gè)別提示,普遍問(wèn)題全體提示,并解答實(shí)驗(yàn)中學(xué)生遇到的問(wèn)題;第四階段是以教師為主體的實(shí)驗(yàn)總結(jié),教師對(duì)實(shí)驗(yàn)過(guò)程中遇到的問(wèn)題進(jìn)行分析總結(jié),選擇較好的實(shí)驗(yàn)成果進(jìn)行點(diǎn)評(píng),最后結(jié)合本次實(shí)驗(yàn),引出思考題,提示學(xué)生靈活應(yīng)用計(jì)算機(jī)專業(yè)知識(shí),進(jìn)行自動(dòng)化測(cè)試的探索和創(chuàng)新。
3后續(xù)教學(xué)改革構(gòu)想
軟件測(cè)試課程是伴隨軟件行業(yè)的迅猛發(fā)展而誕生的,在此之前,軟件測(cè)試隸屬于軟件工程課程進(jìn)行教學(xué),由于軟件測(cè)試伴隨軟件的整個(gè)生命周期,因此,軟件測(cè)試課程的理論教學(xué)和實(shí)驗(yàn)教學(xué),必須貫穿于軟件開(kāi)發(fā)的全過(guò)程。在以后的教學(xué)中,我們對(duì)軟件工程專業(yè)的學(xué)生,擬采用課程連貫教學(xué)法,通過(guò)編程語(yǔ)言課程、軟件工程、編程實(shí)訓(xùn)課程、軟件測(cè)試課程相結(jié)合的方式,采用同案例、跨學(xué)期的方法進(jìn)行連貫教學(xué)。即在某一編程語(yǔ)言教學(xué)中引入案例,進(jìn)行案例片段程序的講解,在軟件工程課程中進(jìn)行系統(tǒng)設(shè)計(jì),在實(shí)訓(xùn)課程中實(shí)現(xiàn)案例,在軟件測(cè)試課程中進(jìn)行測(cè)試的一系列訓(xùn)練。這樣,便于學(xué)生將所學(xué)知識(shí)關(guān)聯(lián)起來(lái),了解課程之間的聯(lián)系和軟件項(xiàng)目開(kāi)發(fā)的流程,讓學(xué)生通過(guò)二至三學(xué)期的時(shí)間去消化幾門課程,同時(shí)體會(huì)一個(gè)項(xiàng)目開(kāi)發(fā)的全過(guò)程。
4結(jié)語(yǔ)
各大高校、職業(yè)技術(shù)學(xué)校和職業(yè)培訓(xùn)機(jī)構(gòu)都相繼開(kāi)設(shè)了軟件測(cè)試課程,在這門課的教學(xué)過(guò)程中,教師們不斷摸索新的教學(xué)方法和教學(xué)手段,取得了一定的成果。但由于計(jì)算機(jī)行業(yè)日新月異的發(fā)展,也給軟件測(cè)試帶來(lái)了挑戰(zhàn)。因此,在教學(xué)過(guò)程中,教師必須關(guān)注行業(yè)發(fā)展的前沿,提出軟件測(cè)試過(guò)程中亟待解決的問(wèn)題,啟發(fā)學(xué)生去思考并尋求解決的方法。同時(shí),教師應(yīng)盡可能參與實(shí)際項(xiàng)目開(kāi)發(fā),為理論及實(shí)驗(yàn)教學(xué)積累實(shí)用真實(shí)的案例資源。
參考文獻(xiàn):
[1] 劉德寶. 軟件測(cè)試工程師培訓(xùn)教材[M]. 北京:科學(xué)