劉小飛,李美滿
(廣東理工職業(yè)學(xué)院 計(jì)算機(jī)系,廣東 中山 528458)
隨著現(xiàn)代信息技術(shù)的快速發(fā)展,計(jì)算機(jī)軟件已經(jīng)深入國(guó)民生活的方方面面。人們對(duì)計(jì)算機(jī)軟件的質(zhì)量提出了更高要求,要求軟件系統(tǒng)提供7×24小時(shí)不間斷服務(wù)。軟件測(cè)試作為軟件質(zhì)量保障的一種重要的方法,近年來(lái)已經(jīng)得到產(chǎn)業(yè)界、學(xué)術(shù)界和軟件工程師的普遍重視[1]。隨著軟件產(chǎn)業(yè)的迅速發(fā)展,對(duì)軟件測(cè)試人才的需求量越來(lái)越大,同時(shí)對(duì)軟件測(cè)試人才素質(zhì)也提出了更高的要求,因此,加強(qiáng)對(duì)軟件測(cè)試人才的培養(yǎng)成為高校的當(dāng)務(wù)之急。當(dāng)前,高校軟件測(cè)試人才的培養(yǎng)與企業(yè)的人才需求存在著一定差距,高校應(yīng)屆畢業(yè)生的項(xiàng)目實(shí)踐能力不足,導(dǎo)致其找不到相應(yīng)軟件測(cè)試工作,而企業(yè)又招不到合適的軟件測(cè)試人才。如何提高學(xué)生的項(xiàng)目實(shí)踐能力,實(shí)現(xiàn)與企業(yè)需求的無(wú)縫對(duì)接,成為軟件測(cè)試課程教學(xué)的重點(diǎn)。
軟件測(cè)試貫穿軟件工程的整個(gè)生命周期,覆蓋軟件各種應(yīng)用領(lǐng)域,需要具備較強(qiáng)的專業(yè)技能和職業(yè)素養(yǎng),對(duì)從業(yè)人員工程實(shí)踐能力要求比較高[2]。目前,高校的軟件測(cè)試課程實(shí)踐教學(xué)中存在一些問(wèn)題,學(xué)生通過(guò)課程的學(xué)習(xí),雖然能掌握軟件測(cè)試的基本概念和基本理論、基本測(cè)試技術(shù)和方法,但真正運(yùn)用軟件測(cè)試技術(shù)分析和解決實(shí)際問(wèn)題的能力還不夠[3]。
教學(xué)形式單一化,以理論為主、實(shí)踐為輔。教學(xué)內(nèi)容充滿了軟件測(cè)試的理論、方法和技術(shù)規(guī)范,講授了一大堆軟件測(cè)試?yán)碚?。學(xué)生由于缺乏軟件項(xiàng)目實(shí)踐經(jīng)驗(yàn),導(dǎo)致不知道如何去使用這些理論,無(wú)法激起對(duì)課程的興趣。
在傳統(tǒng)的教學(xué)中,軟件測(cè)試?yán)碚擉w系往往被分割成許多知識(shí)片段,如軟件測(cè)試的基本理論、白盒測(cè)試技術(shù)、黑盒測(cè)試技術(shù)、缺陷管理技術(shù)、軟件測(cè)試工具的使用等。知識(shí)的講授僅僅是單純羅列軟件測(cè)試的技術(shù)和方法,理論知識(shí)缺乏針對(duì)性和連貫性,導(dǎo)致學(xué)生難以形成一個(gè)統(tǒng)一的測(cè)試?yán)碚擉w系,難以將所學(xué)的理論、方法運(yùn)用到項(xiàng)目實(shí)踐中。
知識(shí)碎片化導(dǎo)致每個(gè)知識(shí)點(diǎn)案例的選取簡(jiǎn)單化。簡(jiǎn)單案例雖然有助于學(xué)生對(duì)單個(gè)方法或知識(shí)點(diǎn)的掌握,但沒(méi)有貫穿整個(gè)測(cè)試過(guò)程的案例,學(xué)生很難體會(huì)各種技術(shù)的使用場(chǎng)景。面對(duì)一個(gè)完整項(xiàng)目時(shí),學(xué)生難以形成一個(gè)完整的測(cè)試思路[5]。
軟件測(cè)試是一門實(shí)踐性比較強(qiáng)的課程,需要有企業(yè)實(shí)際軟件測(cè)試經(jīng)驗(yàn)的支撐,而大部分教師沒(méi)有軟件測(cè)試的實(shí)際經(jīng)驗(yàn),影響實(shí)踐教學(xué)的效果。在實(shí)踐教學(xué)中,項(xiàng)目選取過(guò)于簡(jiǎn)單,軟件測(cè)試過(guò)程混亂,學(xué)生的軟件測(cè)試技能無(wú)法得到提升。畢業(yè)生反饋過(guò)來(lái)的信息是在學(xué)校學(xué)的一大堆理論不知道怎么樣用,但企業(yè)項(xiàng)目測(cè)試中真正需要的知識(shí)反而沒(méi)學(xué)到[6]。
針對(duì)傳統(tǒng)教學(xué)存在的問(wèn)題,以企業(yè)軟件測(cè)試崗位需求為導(dǎo)向、以企業(yè)真實(shí)項(xiàng)目為驅(qū)動(dòng),著眼于學(xué)生項(xiàng)目實(shí)踐能力的培養(yǎng)。在課程內(nèi)容上直接采取企業(yè)真實(shí)項(xiàng)目,在教學(xué)的組織上更貼近企業(yè)實(shí)際,使學(xué)生盡快地熟悉軟件測(cè)試工作過(guò)程,能夠?qū)ν暾捻?xiàng)目進(jìn)行測(cè)試,從而實(shí)現(xiàn)與企業(yè)軟件測(cè)試技能要求的無(wú)縫對(duì)接。
根據(jù)筆者多年的軟件測(cè)試工作經(jīng)驗(yàn)和對(duì)多家軟件企業(yè)的調(diào)研,總結(jié)出典型的軟件測(cè)試工作過(guò)程(如圖1所示)。
圖1 軟件測(cè)試工作過(guò)程
1)測(cè)試需求分析。
測(cè)試需求分析是測(cè)試工作的第一步,經(jīng)過(guò)需求分析,對(duì)原始需求列表中的每一個(gè)需求點(diǎn)進(jìn)行分析,進(jìn)而得到我們需要測(cè)試的測(cè)試要點(diǎn)。針對(duì)確定的測(cè)試要點(diǎn),分析測(cè)試執(zhí)行時(shí)對(duì)應(yīng)的測(cè)試方案和方法。
2)制定測(cè)試方案。
主要是明確測(cè)試目的和測(cè)試范圍,確定測(cè)試人員和測(cè)試環(huán)境,確定測(cè)試工具的設(shè)計(jì)和選擇、測(cè)試用例的設(shè)計(jì)方法、測(cè)試代碼的設(shè)計(jì)方案、測(cè)試人員進(jìn)度安排與模塊劃分等。
3)設(shè)計(jì)測(cè)試用例。
根據(jù)測(cè)試需求分析的結(jié)果,利用測(cè)試用例設(shè)計(jì)的各種方法來(lái)設(shè)計(jì)測(cè)試用例,為測(cè)試執(zhí)行提供參考與依據(jù)。
4)執(zhí)行測(cè)試。
根據(jù)需求文檔和設(shè)計(jì)好的測(cè)試用例,對(duì)軟件進(jìn)行測(cè)試,在測(cè)試過(guò)程中如果發(fā)現(xiàn)缺陷,則需要在缺陷管理平臺(tái)上登記缺陷,并對(duì)登記好的缺陷進(jìn)行缺陷跟蹤。
5)測(cè)試總結(jié)。
根據(jù)測(cè)試的情況,編寫測(cè)試報(bào)告,對(duì)測(cè)試的進(jìn)度和質(zhì)量進(jìn)行總結(jié),測(cè)試報(bào)告應(yīng)包括測(cè)試目的、測(cè)試環(huán)境、測(cè)試人員、測(cè)試進(jìn)度情況、Bug匯總、重要問(wèn)題總結(jié)、遺留問(wèn)題列表等。
以上各環(huán)節(jié)并不是獨(dú)立沒(méi)有聯(lián)系的,實(shí)際工作千變?nèi)f化,各環(huán)節(jié)有可能交織、重疊,比如編寫測(cè)試用例的同時(shí)就可以進(jìn)行測(cè)試環(huán)境的搭建工作,也可能由于一些需求不清楚而重新進(jìn)行需求分析等。一般而言,測(cè)試需求分析、測(cè)試用例編寫、測(cè)試環(huán)境搭建、測(cè)試執(zhí)行等環(huán)節(jié)由高級(jí)測(cè)試人員完成;測(cè)試執(zhí)行以及缺陷提交等由普通測(cè)試人員完成;測(cè)試負(fù)責(zé)人負(fù)責(zé)測(cè)試各個(gè)環(huán)節(jié)的跟蹤、實(shí)施、管理等。以上流程各環(huán)節(jié)并未包含軟件測(cè)試過(guò)程的全部,如根據(jù)實(shí)際情況還可以實(shí)施一些測(cè)試計(jì)劃評(píng)審、測(cè)試培訓(xùn)等。
以典型軟件測(cè)試工作過(guò)程所需的各種技能和知識(shí)為導(dǎo)向,將實(shí)踐能力的培養(yǎng)貫穿于整個(gè)教學(xué)活動(dòng)過(guò)程中,對(duì)教學(xué)內(nèi)容進(jìn)行重新組織,實(shí)現(xiàn)理論與實(shí)踐教學(xué)高度融合,得出軟件測(cè)試課程實(shí)踐教學(xué)模式,如圖2所示。
圖2 軟件測(cè)試課程實(shí)踐教學(xué)模式
在教學(xué)模式中,最左邊的部分是企業(yè)軟件測(cè)試中需要掌握的測(cè)試技能,中間部分為每一種測(cè)試技能所對(duì)應(yīng)的知識(shí)領(lǐng)域,右邊部分為學(xué)生通過(guò)技能訓(xùn)練和知識(shí)融合所提升的職業(yè)能力和素養(yǎng),企業(yè)真實(shí)項(xiàng)目貫穿整個(gè)教學(xué)過(guò)程。如針對(duì)具體的企業(yè)項(xiàng)目,首先,進(jìn)行測(cè)試需求分析,熟悉系統(tǒng)及明確系統(tǒng)的測(cè)試要點(diǎn),測(cè)試需求分析主要的工作包括原始需求整理、繼承性分析、測(cè)試規(guī)格分析、測(cè)試類型分析、功能交互分析等內(nèi)容。為了能夠進(jìn)行軟件測(cè)試需求分析,教師需要講授相關(guān)的理論知識(shí),主要包括軟件工程的相關(guān)知識(shí)、軟件測(cè)試的相關(guān)理論知識(shí)、測(cè)試需求分析的方法以及被測(cè)試系統(tǒng)的業(yè)務(wù)知識(shí);之后,學(xué)生針對(duì)真實(shí)項(xiàng)目進(jìn)行測(cè)試需求分析。通過(guò)對(duì)測(cè)試需求分析技能的訓(xùn)練和相關(guān)理論知識(shí)的補(bǔ)強(qiáng),可以提升學(xué)生在實(shí)際項(xiàng)目中的分析問(wèn)題和需求理解的能力。在教學(xué)模型中,學(xué)生針對(duì)項(xiàng)目實(shí)踐中所面對(duì)的問(wèn)題,通過(guò)分析問(wèn)題,補(bǔ)強(qiáng)所需要的相關(guān)理論知識(shí),從而為解決問(wèn)題提供方案,使學(xué)生真正從面對(duì)真實(shí)問(wèn)題入手,實(shí)現(xiàn)到實(shí)踐中學(xué)習(xí)理論知識(shí),并將所學(xué)的理論知識(shí)又運(yùn)用到實(shí)踐中,真正實(shí)現(xiàn)項(xiàng)目實(shí)踐與理論知識(shí)學(xué)習(xí)的高度融合、在實(shí)踐中提升自身的職業(yè)能力和素養(yǎng)的目的。
1)教學(xué)內(nèi)容的選取。
以企業(yè)真實(shí)項(xiàng)目為教學(xué)載體,將理論教學(xué)與項(xiàng)目實(shí)踐融為一體,在項(xiàng)目實(shí)踐中學(xué)理論知識(shí),通過(guò)理論知識(shí)的學(xué)習(xí)促進(jìn)項(xiàng)目實(shí)踐技能的提升,并在學(xué)習(xí)的過(guò)程中培養(yǎng)職業(yè)能力,提升職業(yè)素養(yǎng)。如選用CloudOA項(xiàng)目,該項(xiàng)目具有行政管理、個(gè)人助理、公共信息、人事管理、績(jī)效考核、銷售管理、超級(jí)管理等功能模塊,該項(xiàng)目在企業(yè)屬于中型項(xiàng)目,難度適中,符合實(shí)際教學(xué)需求,滿足學(xué)生知識(shí)及能力的提升,同時(shí)也利于學(xué)生知識(shí)的遷移,在本項(xiàng)目中學(xué)生所涉及的測(cè)試?yán)碚撝R(shí)和技能可以在不同的項(xiàng)目中進(jìn)行應(yīng)用,具有普適性。
2)教學(xué)的組織。
根據(jù)企業(yè)軟件測(cè)試的角色劃分,將教師定位為企業(yè)項(xiàng)目經(jīng)理的角色,全班學(xué)生定位成軟件測(cè)試員,同時(shí)將全班學(xué)生分成若干個(gè)測(cè)試小組,每個(gè)小組人數(shù)控制在5~6人左右,每個(gè)測(cè)試小組任命1名測(cè)試組長(zhǎng),測(cè)試組長(zhǎng)全權(quán)負(fù)責(zé)本小組的測(cè)試任務(wù)的分配與測(cè)試管理,其余學(xué)生作為測(cè)試員,負(fù)責(zé)系統(tǒng)的測(cè)試工作。全班劃分為7~8個(gè)獨(dú)立的小組,每一個(gè)小組負(fù)責(zé)整個(gè)CloudOA系統(tǒng)的測(cè)試,每位同學(xué)至少負(fù)責(zé)1個(gè)功能模塊的測(cè)試工作,這樣劃分有利于縱向、橫向的對(duì)比。
3)教學(xué)的實(shí)施。
項(xiàng)目載體確定和角色劃分完成后,設(shè)計(jì)基于工作過(guò)程的教學(xué)場(chǎng)景。教學(xué)場(chǎng)景的設(shè)計(jì)采用由易到難、由簡(jiǎn)到繁重復(fù)的工作流程,變化的是工作內(nèi)容。根據(jù)企業(yè)的實(shí)際情況,測(cè)試人員由普通測(cè)試人員和高級(jí)測(cè)試人員組成。普通測(cè)試人員需要掌握測(cè)試的基本技能主要包括測(cè)試需求分析、測(cè)試用例設(shè)計(jì)、黑盒測(cè)試、缺陷登記,高級(jí)測(cè)試人員除了掌握普通測(cè)試人員所需的測(cè)試技能外,還需要掌握白盒測(cè)試、自動(dòng)化測(cè)試、測(cè)試管理的相關(guān)知識(shí)(如制訂測(cè)試計(jì)劃、進(jìn)行測(cè)試總結(jié)等高級(jí)測(cè)試技能)。在教學(xué)實(shí)施過(guò)程中,采取循序漸進(jìn)方式的進(jìn)行,先開(kāi)展基本技能的訓(xùn)練,等學(xué)生掌握基本技能訓(xùn)練后再進(jìn)行高級(jí)技能的鍛煉。根據(jù)企業(yè)項(xiàng)目測(cè)試的情況,將基本技能提升劃分為兩個(gè)連續(xù)的階段:第一階段為測(cè)試準(zhǔn)備階段,主要完成測(cè)試需求分析、測(cè)試用例設(shè)計(jì)、執(zhí)行測(cè)試和登記缺陷;第二階段為測(cè)試執(zhí)行階段,主要執(zhí)行制訂測(cè)試計(jì)劃、測(cè)試總結(jié)。
在教學(xué)實(shí)施的過(guò)程中,采取“任務(wù)與任務(wù)評(píng)估”模式,以測(cè)試項(xiàng)目為載體,根據(jù)企業(yè)工作的實(shí)際情況,先下達(dá)工作任務(wù),再針對(duì)工作任務(wù)的要求進(jìn)行相關(guān)知識(shí)的補(bǔ)強(qiáng);然后執(zhí)行任務(wù),根據(jù)任務(wù)執(zhí)行過(guò)程中碰到的問(wèn)題,再一次進(jìn)行知識(shí)補(bǔ)強(qiáng);任務(wù)完成后,最后對(duì)任務(wù)的完成情況進(jìn)行評(píng)估與反饋;完成該任務(wù)后,再進(jìn)入到下一個(gè)任務(wù)。以Cload OA項(xiàng)目的人事管理模塊測(cè)試用例設(shè)計(jì)為例:首先,任務(wù)布置,任務(wù)是完成人事管理各模塊的測(cè)試用例設(shè)計(jì);其次,再進(jìn)行知識(shí)補(bǔ)強(qiáng),講授測(cè)試用例的概念、測(cè)試用例的設(shè)計(jì)方法、測(cè)試用例的設(shè)計(jì)規(guī)范等;然后,再根據(jù)相關(guān)的方法和規(guī)范設(shè)計(jì)該模塊的所有測(cè)試用例,在測(cè)試用例設(shè)計(jì)的過(guò)程中如果對(duì)某些知識(shí)明確,再一次進(jìn)行知識(shí)補(bǔ)強(qiáng);最后,從測(cè)試用例的覆蓋度、設(shè)計(jì)的規(guī)范、正確性等方面對(duì)各組測(cè)試用例設(shè)計(jì)進(jìn)行評(píng)審,并將評(píng)審的結(jié)果反饋給各個(gè)小組,各小組根據(jù)評(píng)審的意見(jiàn)對(duì)本小組的測(cè)試用例進(jìn)行修正。
廣東理工職業(yè)學(xué)院從2014年開(kāi)始進(jìn)行該課程的教學(xué)改革,不斷完善以上教學(xué)模式。為了能夠準(zhǔn)確地反應(yīng)教學(xué)改革的效果,連續(xù)對(duì)5屆學(xué)生進(jìn)行考查,學(xué)生都采用Cload OA項(xiàng)目同一版本進(jìn)行檢驗(yàn)。筆者主要從測(cè)試用例設(shè)計(jì)覆蓋度、發(fā)現(xiàn)有效缺陷數(shù)、企業(yè)反饋等指標(biāo)進(jìn)行考察教學(xué)改革的效果。經(jīng)過(guò)近4年的教學(xué)積累,從各個(gè)考察指標(biāo)來(lái)看,學(xué)生實(shí)踐能力有了提升(見(jiàn)表1)。從表1可知,2016年進(jìn)行改革的反饋情況與2013未進(jìn)行改革進(jìn)行比較,教學(xué)效果有明顯的改觀,隨著教學(xué)模式的改革深入,后續(xù)幾年教學(xué)效果更為明顯,充分說(shuō)明了教學(xué)模式的改革取得了一定的成效。
筆者針對(duì)企業(yè)軟件測(cè)試工作過(guò)程所需的技能,對(duì)軟件測(cè)試課程的實(shí)踐教學(xué)進(jìn)行了改革;根據(jù)工作技能的需要,對(duì)教學(xué)內(nèi)容進(jìn)行重新組織,著重強(qiáng)調(diào)實(shí)踐能力的培養(yǎng),將企業(yè)的真實(shí)項(xiàng)目貫穿于課堂教學(xué)的整個(gè)過(guò)程。學(xué)生在實(shí)踐中完成理論知識(shí)的學(xué)習(xí),同時(shí)將所學(xué)的理論知識(shí)運(yùn)用到實(shí)踐中,真正實(shí)現(xiàn)理論知識(shí)與實(shí)踐融合,有助于學(xué)生專業(yè)技能與職業(yè)素養(yǎng)的提升。在此教學(xué)模式下,學(xué)生的實(shí)踐能力得到了較大的提高,學(xué)生對(duì)測(cè)試?yán)碚撝R(shí)的掌握得到進(jìn)一步加強(qiáng),有助于實(shí)現(xiàn)學(xué)校與企業(yè)的無(wú)縫對(duì)接。當(dāng)然,該教學(xué)模式也存在一些不足的地方,需要在實(shí)踐中不斷地完善與改進(jìn)。
表1 教學(xué)效果對(duì)比情況
[1]聶長(zhǎng)海. 關(guān)于軟件測(cè)試的幾點(diǎn)思考[J]. 計(jì)算機(jī)科學(xué), 2011(2): 1-4.
[2]趙翀, 高鵬. 軟件測(cè)試課程工程實(shí)踐教學(xué)模式的探索與實(shí)施[J]. 計(jì)算機(jī)工程與科學(xué), 2014(4): 51-55.
[3]楊鵬. 高職軟件測(cè)試課程的教學(xué)探索與實(shí)踐[J]. 番禺職業(yè)技術(shù)學(xué)院學(xué)報(bào), 2005(4): 47-49.
[4]穆海倫, 李萬(wàn)清.面向企業(yè)的高校軟件測(cè)試教學(xué)改革探索[J]. 計(jì)算機(jī)教育, 2013(10): 36-40.
[5]張冬玲, 黃偉, 王辰尹. 軟件測(cè)試教學(xué)中的計(jì)算思維能力培養(yǎng)[J]. 計(jì)算機(jī)教育, 2014(9): 98-100.
[6]楊秋輝, 洪玫. 軟件測(cè)試課程實(shí)踐教學(xué)改革研究[J]. 計(jì)算機(jī)教育, 2016(2): 106-109.