摘要:高職教學(xué)中項(xiàng)目是課程知識點(diǎn)的載體,針對我校軟件技術(shù)專業(yè)學(xué)生的實(shí)際情況,在軟件測試課程教學(xué)中以技能大賽的項(xiàng)目為教學(xué)項(xiàng)目,通過總結(jié)職業(yè)技能大賽軟件測試賽項(xiàng)的經(jīng)驗(yàn)以賽促學(xué),結(jié)合軟件測試行業(yè)對人才的需求,進(jìn)行項(xiàng)目式教學(xué)改革和探討。
關(guān)鍵詞:軟件測試;技能大賽;項(xiàng)目式教學(xué);合作學(xué)習(xí)
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2020)27-0070-02
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID):
1 引言
隨著中國IT行業(yè)的發(fā)展和軟件市場的成熟,對用戶而言,產(chǎn)品交付標(biāo)準(zhǔn)變得更加嚴(yán)格。軟件產(chǎn)品的質(zhì)量管理已成為企業(yè)生存與發(fā)展的核心,幾乎每個中大型IT企業(yè)的產(chǎn)品在發(fā)布前都需要進(jìn)行大量的質(zhì)量控制、測試和文檔工作,軟件測試的工作量在軟件開發(fā)成本中高達(dá)40%。調(diào)查數(shù)據(jù)表明,國內(nèi)120萬軟件從業(yè)者中,軟件測試職位從業(yè)者不超過5萬,人才缺口達(dá)30萬。但是2019年在北京舉行的軟件測試培訓(xùn)現(xiàn)場調(diào)查,很多高職院校并沒有開設(shè)軟件測試專業(yè),甚至有的學(xué)院沒有軟件測試課程,軟件測試?yán)碚撌亲鳛檐浖こ陶n程的一部分內(nèi)容。這顯然不能滿足軟件測試行業(yè)專業(yè)人才人數(shù)的需求。從我校歷年軟件技術(shù)專業(yè)畢業(yè)生就業(yè)數(shù)據(jù)來看,每年約有5%的學(xué)生從事軟件測試工作,2019年呈顯著現(xiàn)上升為10%。這個改變一是通過專業(yè)老師的介紹,二是通過培訓(xùn)機(jī)構(gòu)的推介。由此可見軟件測試課程存在開設(shè)的必要性,存在教學(xué)內(nèi)容貼近行業(yè)需要改革的必要性,使得更多學(xué)生畢業(yè)后就能就業(yè)。
2 軟件測試課程教學(xué)現(xiàn)狀分析
2.1 基于知識的教學(xué)
為了教學(xué)質(zhì)量的提高,我分析過十幾本不同出版社關(guān)于軟件測試的教材,發(fā)現(xiàn)多數(shù)教材注重基礎(chǔ)理論知識,不同的知識點(diǎn)用不同的案例,案例之間沒有相關(guān)性,缺少以一個實(shí)際的工程項(xiàng)目貫穿測試整個過程的教材,而且多數(shù)教材僅僅提供測試內(nèi)容空模板,沒有測試的真實(shí)文檔參考。使用知識體系的教材教學(xué),學(xué)生在實(shí)際測試一個真實(shí)的項(xiàng)目時候不能把零碎的知識點(diǎn)整合起來學(xué)以致用,就不能習(xí)得完整的測試過程總結(jié)出高質(zhì)量的文檔。
2.2 教師缺乏真實(shí)項(xiàng)目實(shí)踐經(jīng)驗(yàn)
高職學(xué)院教師的組成主要以碩博畢業(yè)生為主,多數(shù)教師是從學(xué)校到學(xué)校,缺乏軟件測試和項(xiàng)目開發(fā)經(jīng)驗(yàn);然而基于軟件測試行業(yè)人才的需要開設(shè)軟件測試課程,教師對軟件測試的了解是基于自學(xué)或者通過培訓(xùn)后把知識傳遞給學(xué)生。在教學(xué)上過多地依賴對知識的解讀,教師在測試真實(shí)項(xiàng)目的時候?qū)嵺`操作能力較差,測試用例的設(shè)計(jì)和結(jié)論也沒有教科書式的標(biāo)準(zhǔn)答案,測試速度和測試質(zhì)量有待提升。
2.3 軟件測試實(shí)訓(xùn)環(huán)境
軟件測試是非常重視實(shí)踐的,需要一定的軟件測試環(huán)境。全國職業(yè)院校技能大賽從2017年起增設(shè)了“軟件測試”賽項(xiàng),該賽項(xiàng)圍繞行業(yè)企業(yè)軟件測試崗位真實(shí)工作過程和典型工作任務(wù)設(shè)計(jì)競賽內(nèi)容,已經(jīng)舉行了三年。在2019年行業(yè)軟件測試培訓(xùn)的現(xiàn)場調(diào)查得知大部分高職院校在大賽引領(lǐng)下陸續(xù)配置了軟件測試實(shí)訓(xùn)軟件環(huán)境,軟件本身模擬了企業(yè)真實(shí)環(huán)境且具備服務(wù)于教學(xué)的功能,軟件提供了WEB端和App端兩種測試環(huán)境,模塊和BUG可以設(shè)置開放和關(guān)閉,每次測試時BUG可能出現(xiàn)也可能不出現(xiàn)并不相同,所以測試相關(guān)文檔會每次都有區(qū)別。可以說競賽促進(jìn)了教學(xué)條件的改善,通過企業(yè)培訓(xùn)也提升了教師的水平,提供了新的教學(xué)思路,解決了以前教師上課時單純講理論與文檔分析缺少實(shí)踐環(huán)境的問題。
3 軟件測試課程項(xiàng)目化教學(xué)化改革
3.1 以大賽項(xiàng)目進(jìn)行項(xiàng)目式教學(xué)改革
全國職業(yè)院校技能大賽“軟件測試”賽項(xiàng)基于B/S的“資產(chǎn)管理系統(tǒng)”,內(nèi)容涵蓋:
1)功能測試:不考慮內(nèi)部結(jié)構(gòu),根據(jù)輸入數(shù)據(jù)和輸出的數(shù)據(jù)的對應(yīng)聯(lián)系對系統(tǒng)內(nèi)部結(jié)構(gòu)進(jìn)行猜測和判斷系統(tǒng)結(jié)構(gòu)出現(xiàn)某種問題和缺陷,進(jìn)而判斷該系統(tǒng)的功能是否滿足最終用戶的需求。
2)性能測試:通過自動化的測試工具模擬多種正常、峰值以及異常負(fù)載條件來對系統(tǒng)的各項(xiàng)性能指標(biāo)進(jìn)行測試。
3)自動化測試:基于python的selenium自動化測試工具,根據(jù)學(xué)生掌握程度,選取用戶登錄、資產(chǎn)入庫等若干模塊,設(shè)計(jì)自動化測試腳本。
4)白盒測試:通過檢查軟件內(nèi)部的邏輯結(jié)構(gòu),對軟件中的邏輯路徑進(jìn)行覆蓋測試。在程序不同地方設(shè)立檢查點(diǎn),檢查程序的狀態(tài),以確定實(shí)際運(yùn)行狀態(tài)與預(yù)期狀態(tài)是否一致。
由上可知,國賽軟件測試賽項(xiàng)提供的競賽內(nèi)容基本涵蓋軟件測試的各個方面,貼近行業(yè)需求、突出實(shí)戰(zhàn)過程,既滿足產(chǎn)業(yè)對高素質(zhì)技術(shù)技能人才的需求特點(diǎn),又符合高等職業(yè)院校基于工作過程的課程教學(xué)模式,因此可以作為教學(xué)項(xiàng)目應(yīng)用于教學(xué)過程,同時也為大賽選拔合適的學(xué)生提供可能。該課程建議學(xué)時不低于64學(xué)時,建議在沒有開設(shè)軟件測試專業(yè)的其他計(jì)算機(jī)類相關(guān)專業(yè)的大三第一學(xué)期作為選修課程開設(shè)。1)是因?yàn)榇笕膶W(xué)生前面軟件工程、數(shù)據(jù)庫、相關(guān)語言課程都已經(jīng)學(xué)過,學(xué)生已經(jīng)有了專業(yè)基礎(chǔ)再去學(xué)習(xí)軟件測試比較容易;2)是大三學(xué)生面臨畢業(yè)實(shí)習(xí),為學(xué)生提供一個就業(yè)導(dǎo)向,使得一部分善于寫文檔有耐心沒有信心編碼的同學(xué)有走向軟件測試崗位的可能。
3.2 分解項(xiàng)目知識點(diǎn),循序漸進(jìn)推進(jìn)項(xiàng)目教學(xué)
全國職業(yè)院校技能大賽“軟件測試”賽項(xiàng)內(nèi)容“基于B/S的資產(chǎn)管理系統(tǒng)”,系統(tǒng)具有系統(tǒng)登錄、個人信息、資產(chǎn)類別、品牌維護(hù)、報(bào)廢方式、供應(yīng)商、存放地點(diǎn)、部門管理、資產(chǎn)入庫、資產(chǎn)借還、資產(chǎn)報(bào)廢等二十幾個模塊。省賽需求說明書WEB端就90多頁。競賽和教學(xué)有很大的區(qū)別,雖然比賽項(xiàng)目可以用于教學(xué),但是比賽的項(xiàng)目工作量大,需要要把一個大的項(xiàng)目按模塊進(jìn)行分析,分解成若干個子項(xiàng)目,循序漸進(jìn)推進(jìn)給學(xué)生。第二點(diǎn)軟件測試的完整過程是分析需求、制定測試方案、寫測試用例、執(zhí)行測試用例查找BUG、匯總BUG、寫測試總結(jié)報(bào)告,大多數(shù)學(xué)生對系統(tǒng)的功能不熟悉,也從來沒有寫過測試用例,自然也無從完成這個過程,所以在教學(xué)時,要讓學(xué)生先了解測試的總體過程,再把功能測試的方法、必需的知識、測試的流程融人教學(xué)中,逐步培養(yǎng)學(xué)生測試的能力。
3.3 重在方法、思維先行
測試重要的是掌握測試方法,俗話說“授人以魚,不若授人以漁”。等價(jià)類劃分法是功能測試中經(jīng)常用到的方法,等價(jià)類又分為弱一般、強(qiáng)一般、弱健壯、強(qiáng)健壯等價(jià)類,如“手機(jī)號碼”測試,手機(jī)號碼的規(guī)范是以1開頭的數(shù)字11位組成,通過“手機(jī)號碼”測試訓(xùn)練重要的是讓學(xué)生掌握設(shè)計(jì)測試用例的設(shè)計(jì)方法,不能只會測試手機(jī)號碼。學(xué)生掌握方法后,在其他模塊中涉及等價(jià)類劃分的測試用例學(xué)生自己能夠按照需要進(jìn)行不同級別等價(jià)來用例的設(shè)計(jì),為了達(dá)到這個目的,就要讓學(xué)生根據(jù)教師授課的講解反復(fù)練習(xí),自行總結(jié),理清思路。
思維導(dǎo)圖先行。所有寫出來的文檔,進(jìn)行的測試都是腦海中思維的體現(xiàn)。還是以測試用例為例,“資產(chǎn)管理系統(tǒng)”測試用例多達(dá)幾百上千條,測試用例要保證數(shù)量不遺漏,質(zhì)量要過關(guān),在設(shè)計(jì)的時候就要有規(guī)律要遵循規(guī)范。這個規(guī)范都是老師們自己總結(jié)的,各有各的寫法。在教學(xué)過程中我們是要求學(xué)生先畫思維導(dǎo)圖,使用思維導(dǎo)圖用來梳理思路,根據(jù)思維導(dǎo)圖來寫測試用例,學(xué)生寫測試用例的過程就是復(fù)現(xiàn)自己畫的思維導(dǎo)圖的過程。
通過思維導(dǎo)圖對整個系統(tǒng)的模塊的測試點(diǎn)做分析,有助于學(xué)生理清模塊的功能和模塊之間的業(yè)務(wù)上的關(guān)系。如“資產(chǎn)管理系統(tǒng)”有三種類型的用戶,資產(chǎn)管理員、資產(chǎn)領(lǐng)導(dǎo)與系統(tǒng)管理員,根據(jù)這三種用戶的權(quán)限畫出思維導(dǎo)圖,讓學(xué)生從不同類型的用戶的角度去分析系統(tǒng),查找相似點(diǎn),有助于學(xué)生分工協(xié)作,如資產(chǎn)類別、品牌、存放地點(diǎn)三個模塊作為資產(chǎn)的屬性存在,在寫測試用例的時候?qū)W生會寫任意一個模塊,其他兩個模塊的測試用例也就會寫了,那么這三個模塊就交給一個學(xué)生去寫。教學(xué)中切忌急功近利求速度,只為比賽項(xiàng)目而教學(xué),而要為未來工作崗位中學(xué)生可能面臨的各種項(xiàng)目去教學(xué)。
3.4 分組合作,充分交流
軟件測試課程適合采用分組合作方式,軟件測試如果要對整個項(xiàng)目進(jìn)行測試,讓學(xué)生了解整個項(xiàng)目的完整測試過程就需要分工合作。軟件測試大賽中也是三人作為一個測試小組,其中一人是測試組長,一個團(tuán)隊(duì)的成績是由三個同學(xué)的成績決定的,這就決定三人必須都要提高。教學(xué)過程中可以仿照競賽的模式使用小組合作式學(xué)習(xí)方法,每組由3至4名學(xué)生組成,老師最初可能也并不了解每一個同學(xué)在任務(wù)之中適合做什么,小組組長在訓(xùn)練過程之中可以慢慢地推選出來或者讓學(xué)生自薦。
充分的交流有利于提升速度和保證質(zhì)量,小組成員之間需要經(jīng)常做交流。以測試用例為例,小組中每名同學(xué)都會寫幾個模塊的測試用例,但是測試用例是否遺漏,測試用例描述是否精準(zhǔn)專業(yè),測試用例的描述小組之間是否體現(xiàn)出來一致性,測試用例在設(shè)計(jì)的時候是否體現(xiàn)規(guī)律讓教師容易檢查,這些問題要求同學(xué)之間先自行對照思維導(dǎo)圖檢查,再在小組成員之間充分交流互看文檔最后教師再總結(jié)。學(xué)生對照思維導(dǎo)圖自查,可以防止下次再次遺漏,自查完修改后重傳文檔再互查;互查是因?yàn)閷W(xué)生總認(rèn)為自己做的是正確的不容易發(fā)現(xiàn)錯誤,但是其他同學(xué)檢查則容易發(fā)現(xiàn)錯誤;強(qiáng)調(diào)自查和互查是因?yàn)榻處煓z查出的遺漏和學(xué)生在設(shè)計(jì)中出現(xiàn)的問題,學(xué)生往往印象不深,下次可能還多次犯同樣的錯誤;再者經(jīng)過學(xué)生自己交流得出來的甚至激烈討論得出來的結(jié)論,學(xué)生印象深容易記住,也能鍛煉學(xué)生獨(dú)立思考解決問題的能力。類似在執(zhí)行查找缺陷提交缺陷匯總報(bào)告時更需要小組成員之間多做交流。
4 結(jié)束語
目前,我國正處于經(jīng)濟(jì)轉(zhuǎn)型升級的關(guān)鍵時期,急需培養(yǎng)大批技術(shù)技能型人才。技能競賽對指導(dǎo)和推進(jìn)職業(yè)教育教學(xué)改革,促進(jìn)高職院校技術(shù)人才的培養(yǎng)具有重要的指導(dǎo)作用。將技能大賽的內(nèi)容及競賽模式應(yīng)用到軟件測試課程中,采用項(xiàng)目化教學(xué)、思維先行、小組討論的方式,實(shí)現(xiàn)了以賽促學(xué)、以賽促教和以賽促改的目標(biāo),提高了教學(xué)質(zhì)量,培養(yǎng)了學(xué)生對軟件測試的認(rèn)識,為就業(yè)時選擇人才缺口極大的軟件測試行業(yè)成為可能。
參考文獻(xiàn):
[1]郝艷榮,石彥芳.以競賽為驅(qū)動的《軟件測試技術(shù)》課程教學(xué)改革與探索[J].輕紡工業(yè)與技術(shù),2019,48(11):159-160,188.
[2]趙一丁,緱西梅,底恒,項(xiàng)目驅(qū)動教學(xué)法在軟件測試課程中的過程控制[J].計(jì)算機(jī)工程與科學(xué),2016,38(S1):112-116.
[3]馬敏,王敏,賈露,技能大賽賽項(xiàng)資源轉(zhuǎn)化的實(shí)踐研究——以軟件測試賽項(xiàng)為例[J].湖北廣播電視大學(xué)學(xué)報(bào),2019,39(6):20-24.
[4]段珊珊.OBE理念和項(xiàng)目式教學(xué)在《小型局域網(wǎng)組建》課程中的實(shí)踐探索[J].電腦知識與技術(shù),2018,14(30):16-17.
[5]余久久,張佑生,傅廷亮.軟件測試課程教學(xué)思考[J].安慶師范 學(xué)院學(xué)報(bào)(自然科學(xué)版),2013,19(4):121-126.
【通聯(lián)編輯:王力】
作者簡介:段珊珊(1975-),女,江蘇徐州人,講師,碩士,主要研究方向?yàn)閷?dǎo)航與信息安全。