曾向紅
摘要:針對(duì)軟件測(cè)試行業(yè)的現(xiàn)狀及學(xué)生認(rèn)知水平,結(jié)合現(xiàn)有軟件測(cè)試實(shí)踐課程存在的問(wèn)題,采用真實(shí)企業(yè)背景的軟件測(cè)試案例設(shè)計(jì)新的實(shí)踐課程體系,包括實(shí)踐案例分解及教學(xué)方法等,通過(guò)教學(xué)實(shí)踐,達(dá)到了較好的教學(xué)效果。
關(guān)鍵字:軟件測(cè)試;實(shí)踐課程體系;項(xiàng)目實(shí)訓(xùn)
0 引言
《軟件測(cè)試技術(shù)》是軟件工程本科專業(yè)的一門(mén)實(shí)踐性很強(qiáng)的課程,適合采用講練結(jié)合的方式開(kāi)展相關(guān)教學(xué),即讓學(xué)生多上機(jī)操作,逐漸提高軟件測(cè)試用例設(shè)計(jì)、開(kāi)發(fā)能力以及軟件測(cè)試的整體管理能力。然而在實(shí)際實(shí)踐教學(xué)過(guò)程中,教師普遍感覺(jué)有不少不盡人意的地方,主要表現(xiàn)在理論與應(yīng)用脫節(jié),所學(xué)知識(shí)與社會(huì)需求差距較大,學(xué)生積極性不高等。
1 軟件測(cè)試行業(yè)現(xiàn)狀和學(xué)生認(rèn)知水平
媒體報(bào)道,國(guó)內(nèi)開(kāi)發(fā)人員與測(cè)試人員的比例是8∶1,而國(guó)際公認(rèn)的行業(yè)標(biāo)準(zhǔn)實(shí)際上是1∶1,這一點(diǎn)上國(guó)內(nèi)測(cè)試行業(yè)與國(guó)外的差距比較大。隨著軟件行業(yè)的蓬勃發(fā)展,用戶對(duì)軟件的質(zhì)量要求越來(lái)越高,導(dǎo)致軟件開(kāi)發(fā)企業(yè)軟件測(cè)試的工作量也越來(lái)越大,因此自動(dòng)化軟件測(cè)試已經(jīng)成為項(xiàng)目測(cè)試的一大趨勢(shì)[3]。并受到原來(lái)越多的重視。
軟件測(cè)試課程一般到大三才開(kāi)設(shè),而大學(xué)高年級(jí)學(xué)生往往偏重于對(duì)技術(shù)的學(xué)習(xí),因?yàn)榧夹g(shù)往往是可以現(xiàn)學(xué)現(xiàn)用的,對(duì)于理論性較強(qiáng)的軟件工程知識(shí)反而不太感興趣了。實(shí)際教學(xué)過(guò)程中關(guān)于軟件測(cè)試流程、團(tuán)隊(duì)等工程化內(nèi)容的描述往往讓學(xué)生覺(jué)得比較抽象且教條化,然而這些工程化知識(shí)又是學(xué)生畢業(yè)后適應(yīng)當(dāng)下的軟件行業(yè)需求所必要掌握的。
2 現(xiàn)有軟件測(cè)試課程體系存在的問(wèn)題
現(xiàn)有軟件測(cè)試技術(shù)課程重點(diǎn)講授的是理論基礎(chǔ)知識(shí),含離散數(shù)學(xué)、圖論和測(cè)試基礎(chǔ)知識(shí)以及測(cè)試用例,開(kāi)發(fā)各階段的具體應(yīng)用往往被忽視,使用自動(dòng)化測(cè)試工具方面的內(nèi)容尤其缺乏。高校對(duì)實(shí)踐課程的重視程度普遍不夠,軟件測(cè)試實(shí)踐課開(kāi)展不足且不規(guī)范。教師大量精力放在講授測(cè)試用例設(shè)計(jì)方法上,實(shí)踐中的使用這些測(cè)試用例卻較少。實(shí)驗(yàn)案例通常有NextDate問(wèn)題、三角形問(wèn)題等,都是一些課本上常見(jiàn)的,設(shè)計(jì)也較單一,缺乏真實(shí)性,難以提升學(xué)生的技能,學(xué)生往往覺(jué)得枯燥乏味。畢業(yè)后學(xué)生普遍反映,軟件測(cè)試工程理論知識(shí)教的很全,但就是不知道怎樣靈活應(yīng)用;相反,在企業(yè)經(jīng)過(guò)一段時(shí)間的測(cè)試工作實(shí)踐后發(fā)現(xiàn),工作中真正需要的知識(shí)并未掌握。
目前,相關(guān)配套的軟件測(cè)試實(shí)驗(yàn)教材比較缺乏,實(shí)驗(yàn)內(nèi)容基本是由任課教師自行設(shè)計(jì)。這對(duì)于教學(xué)經(jīng)驗(yàn)豐富的教師問(wèn)題不是很大,但對(duì)于沒(méi)有實(shí)際項(xiàng)目開(kāi)發(fā)經(jīng)驗(yàn)作為支撐的年輕教師,就無(wú)法把握如何采用恰當(dāng)?shù)挠美齺?lái)驗(yàn)證相關(guān)理論知識(shí),也難以設(shè)計(jì)出實(shí)用的實(shí)驗(yàn)內(nèi)容,學(xué)非所用,導(dǎo)致學(xué)生無(wú)法掌握今后實(shí)際工作所需的基本技能。即使是教學(xué)經(jīng)驗(yàn)豐富的教師也大多缺乏實(shí)戰(zhàn),盡管能很好的教授理論知識(shí),但由于缺乏合適的實(shí)踐教材,加上實(shí)驗(yàn)條件等各種因素制約,也難以的對(duì)學(xué)生進(jìn)行系統(tǒng)全面的實(shí)踐培訓(xùn),導(dǎo)致高校重理論輕實(shí)踐成為普遍現(xiàn)象。因此,軟件測(cè)試課程的教學(xué)順應(yīng)社會(huì)需求顯得格外迫切,必須面向企業(yè),了解崗位要求,而不是“閉門(mén)造車”。讓學(xué)生能學(xué)到適合企業(yè)所需的技能,畢業(yè)后可以以一個(gè)“經(jīng)驗(yàn)者”的身份進(jìn)入人才市場(chǎng)。
3 《軟件測(cè)試技術(shù)》實(shí)踐課程體系研究
3.1 課程構(gòu)建原則
高校應(yīng)以軟件測(cè)試所需的知識(shí)、技能為先導(dǎo)構(gòu)建相應(yīng)的課程體系,充分調(diào)研軟件測(cè)試工作的具體內(nèi)涵,仔細(xì)研究對(duì)應(yīng)的知識(shí)、技能以及素質(zhì)要求,課程內(nèi)容也應(yīng)強(qiáng)調(diào)當(dāng)前以及未來(lái)就業(yè)所需掌握的基本知識(shí)、技能,體現(xiàn)知識(shí)、技能和素質(zhì)三者的結(jié)合[6]。
根據(jù)該專業(yè)人才培養(yǎng)的定位以及行業(yè)內(nèi)需求,在建設(shè)具有特色的軟件測(cè)試課程時(shí)建立實(shí)驗(yàn)、實(shí)訓(xùn)和實(shí)習(xí)等不同層次的實(shí)踐課,通過(guò)多項(xiàng)目的練習(xí),提高學(xué)生專業(yè)技能及分析、解決問(wèn)題的能力。
3.2 實(shí)踐課程教學(xué)探究
在軟件測(cè)試技術(shù)實(shí)踐課程環(huán)節(jié),引入具有企業(yè)背景項(xiàng)目的實(shí)訓(xùn)。通過(guò)這些真實(shí)測(cè)試案例的引入,結(jié)合人才市場(chǎng)的需求,充分體現(xiàn)出工學(xué)結(jié)合的特點(diǎn)。通過(guò)對(duì)實(shí)際項(xiàng)目的操作,使用相關(guān)測(cè)試工具,完成對(duì)各目標(biāo)的測(cè)試,提升學(xué)生的測(cè)試能力同時(shí)積累相關(guān)工作經(jīng)驗(yàn)。
我們可以在教學(xué)過(guò)程中引入一個(gè)貫穿整個(gè)教學(xué)過(guò)程的具體測(cè)試案例的教學(xué)法。首先,組織學(xué)生進(jìn)行隨機(jī)分組,每個(gè)小組5~6個(gè)人,給每個(gè)組起一個(gè)名稱。要求每個(gè)小組在課程實(shí)施前完成同一個(gè)模擬軟件“小區(qū)物業(yè)管理系統(tǒng)”的開(kāi)發(fā)。模擬軟件開(kāi)發(fā)完成后,由各個(gè)小組交叉測(cè)試其它小組開(kāi)發(fā)的軟件。在測(cè)試課程中,要求學(xué)生對(duì)軟件系統(tǒng)進(jìn)行單元測(cè)試、功能測(cè)試、集成測(cè)試和系統(tǒng)測(cè)試,找出問(wèn)題并解決問(wèn)題。
該教學(xué)方法主要有以下明顯的優(yōu)點(diǎn):
1)軟件測(cè)試前期的課程有《基于Web的Java開(kāi)發(fā)設(shè)計(jì)》,同步開(kāi)設(shè)的課程有《J2EE企業(yè)級(jí)應(yīng)用開(kāi)發(fā)》,所以在實(shí)踐環(huán)節(jié)我們選擇“小區(qū)物業(yè)管理系統(tǒng)”作為測(cè)試對(duì)象,能讓學(xué)生快速具備軟件開(kāi)發(fā)的能力,以及掌握軟件系統(tǒng)測(cè)試所需的技術(shù)。
2)每個(gè)人都喜歡挑別人的錯(cuò)誤,相互測(cè)試對(duì)方所開(kāi)發(fā)的系統(tǒng),可以形成競(jìng)賽,有利于發(fā)現(xiàn)問(wèn)題,能發(fā)揮學(xué)生的積極性,提高效率。同時(shí)也便于組織課堂討論以及對(duì)各小組實(shí)踐結(jié)果的評(píng)價(jià)。
3)學(xué)生通過(guò)一整套測(cè)試課程的參與,能夠了解一個(gè)具體項(xiàng)目的完整測(cè)試過(guò)程是個(gè)什么樣子,真實(shí)展現(xiàn)了實(shí)際工作中軟件測(cè)試的方法和要求。
但由于學(xué)時(shí)和學(xué)生能力的制約,在本實(shí)驗(yàn)課程中,主要針對(duì)還只是初、中級(jí)測(cè)試人員,主要是為了幫助畢業(yè)生在踏上崗位后可以順利從事不太復(fù)雜的測(cè)試工作打下堅(jiān)實(shí)的基礎(chǔ)。對(duì)于高級(jí)別測(cè)試以及測(cè)試管理之類的工作,比如制定測(cè)試計(jì)劃、各種設(shè)計(jì)的論證、測(cè)試結(jié)果的評(píng)估和總結(jié),恐怕還需要經(jīng)相當(dāng)長(zhǎng)時(shí)間的實(shí)戰(zhàn),累積足夠的經(jīng)驗(yàn)才能勝任。這些工作經(jīng)歷,仍然不是課堂所能提供的,我們的目標(biāo)就要是培養(yǎng)出具備從事這項(xiàng)工作潛能的新手。有關(guān)這方面的內(nèi)容,我們也只能夠在理論教學(xué)中予以概述,不在實(shí)踐課中安排具體實(shí)驗(yàn)。
為了適應(yīng)實(shí)踐課程需要,我們?cè)O(shè)計(jì)了8項(xiàng)實(shí)驗(yàn)內(nèi)容,該設(shè)計(jì)旨在讓學(xué)員通過(guò)實(shí)訓(xùn),將來(lái)以一個(gè)“經(jīng)驗(yàn)者”的身份進(jìn)入人才市場(chǎng)。該項(xiàng)目模擬“企業(yè)項(xiàng)目管理者”培養(yǎng)“新人”的模式來(lái)安排實(shí)驗(yàn)進(jìn)度和內(nèi)容。雖然現(xiàn)實(shí)中軟件測(cè)試是始終貫穿于軟件生命周期中的,但對(duì)于未參加過(guò)工作的大學(xué)生來(lái)說(shuō),從培養(yǎng)人才的角度出發(fā),模擬“企業(yè)項(xiàng)目管理者”通常還是按如下流程培養(yǎng)人才:?jiǎn)渭冃詼y(cè)試的實(shí)施、測(cè)試環(huán)境建立、測(cè)試設(shè)計(jì)等等,按照單元測(cè)試→集成測(cè)試→系統(tǒng)測(cè)試的順序逐步深入實(shí)踐,并在提供的測(cè)試案例中人為的加入一些缺陷,以便學(xué)員在測(cè)試時(shí)去發(fā)現(xiàn)、分析、修改這些缺陷[7]。因此,我們專門(mén)設(shè)計(jì)了表1所示的實(shí)驗(yàn)內(nèi)容。
通過(guò)以上8個(gè)實(shí)驗(yàn)內(nèi)容的實(shí)踐,可以讓學(xué)員掌握單元測(cè)試以及集成測(cè)試的具體實(shí)現(xiàn)方法,熟悉各種測(cè)試工具的運(yùn)用,了解系統(tǒng)測(cè)試的實(shí)施。經(jīng)過(guò)這些實(shí)際訓(xùn)練,學(xué)生將來(lái)以初級(jí)測(cè)試工程師的身份投入到測(cè)試工作中。
4 總結(jié)分析
實(shí)踐證明,軟件測(cè)試技術(shù)實(shí)踐課程體系研究針對(duì)軟件測(cè)試行業(yè)及人才的特點(diǎn)要求,把行業(yè)、企業(yè)對(duì)人才的要求轉(zhuǎn)化為教學(xué)中的具體目標(biāo)。從知識(shí)、能力、素質(zhì)多方面全方位提升學(xué)生的就業(yè)競(jìng)爭(zhēng)力,設(shè)置合適的實(shí)踐教學(xué)內(nèi)容和方法,一定程度上改變了教師的教學(xué)狀態(tài)和學(xué)生的學(xué)習(xí)狀態(tài),達(dá)到了預(yù)期目標(biāo)。
參考文獻(xiàn)
[1]2007首屆中國(guó)軟件測(cè)試從業(yè)人員調(diào)查報(bào)告[DB/0L].www.51testing.com,2007
[2] 鐘素芬, 葉明芷. 軟件測(cè)試應(yīng)用性人才培養(yǎng)模式的探索與實(shí)踐[J]. 北京聯(lián)合大學(xué)學(xué)報(bào)(自然科學(xué)版),2007(9).
[3] 鐘元生. 軟件測(cè)試實(shí)踐教學(xué)特色的構(gòu)建實(shí)踐[J]. 電化教育研究,2006(10):62-65.
[4] 胡宏銀. 軟件測(cè)試課程教學(xué)方法探討與實(shí)踐[J]. 計(jì)算機(jī)教育,2007(6):11-12.
[5] 李繪卓,唐峻,范勇.基于案例的軟件測(cè)試實(shí)驗(yàn)教學(xué)[J].電腦知識(shí)與技術(shù),2009,27(5):7820-7821.
[6] 屠紅蕾.軟件測(cè)試教學(xué)的點(diǎn)滴體會(huì)[J].計(jì)算機(jī)教育,2008(10):124-125.
[7] 李亞.“軟件測(cè)試”教學(xué)探索與實(shí)踐[J].計(jì)算機(jī)教育,2008(6):14-15.