伍曉圓
(寧夏職業(yè)技術(shù)學(xué)院,寧夏 銀川 750001)
【關(guān)鍵字】競賽訓(xùn)練;軟件測試;技能大賽
技能大賽作為職業(yè)教育活動的重要載體之一,其技能、素質(zhì)要求代表了職業(yè)教育人才培養(yǎng)的方向[1]。全國職業(yè)院校技能大賽“軟件測試”賽項按照行業(yè)企業(yè)軟件測試崗位真實工作過程設(shè)計,注重學(xué)生實踐技能創(chuàng)新能力培養(yǎng),提升學(xué)生職業(yè)素養(yǎng)和就業(yè)能力。 然而如果競賽的準(zhǔn)備沒有體現(xiàn)在課堂環(huán)節(jié)當(dāng)中,影響學(xué)生面就僅限于參賽的學(xué)生。 為了使更多學(xué)生從中受益,利用競賽提高整體教學(xué)質(zhì)量,對參賽經(jīng)驗、賽項資源進(jìn)行分析轉(zhuǎn)化,運(yùn)用到實踐教學(xué)中變得迫在眉睫。
全國職業(yè)院校技能大賽軟件測試賽項采用實操形式,完成軟件測試工作。競賽突出實戰(zhàn)過程,考核點符合高職基于工作過程的課程教學(xué)特點,并且滿足軟件產(chǎn)業(yè)對軟件測試技能人才的需求特點,大賽考察要素構(gòu)成如圖1[2]。
依據(jù)大賽考察核心技能及要素設(shè)計競賽訓(xùn)練法,將軟件測試大賽參賽經(jīng)驗以競賽訓(xùn)練法的形式融入到課堂教學(xué)環(huán)節(jié)中,使更多學(xué)生受益,利用競賽提高整體教學(xué)質(zhì)量。
圖1 大賽考察核心技能及要素
訓(xùn)練內(nèi)容包含功能測試、性能測試、自動化測試和白盒測試。
功能測試的主要任務(wù)是系統(tǒng)測試設(shè)計與測試執(zhí)行。該階段測試人員根據(jù)軟件需求規(guī)格說明書進(jìn)行測試用例的設(shè)計與執(zhí)行。要求測試人員熟練運(yùn)用如等價類法、邊界法、錯誤推測法和場景法等經(jīng)典黑盒測試方法設(shè)計用例數(shù)據(jù),并記錄測試用例的執(zhí)行結(jié)果形成缺陷清單。
性能測試考察學(xué)生對性能測試工具LoadRunner的使用,它是一種預(yù)測系統(tǒng)行為和性能的負(fù)載測試工具。通過模擬上千萬用戶實施并發(fā)負(fù)載及實時性能監(jiān)測的方式來確認(rèn)和查找問題,發(fā)現(xiàn)系統(tǒng)瓶頸,從而針對性獲得性能調(diào)優(yōu)方案。該階段要求學(xué)生根據(jù)需求文檔分析性能測試的壓力點, 使用LoadRunner 設(shè)置場景,錄制和調(diào)試腳本,執(zhí)行性能測試。
自動化測試階段需要學(xué)生使用Python 語言編寫測試腳本,實現(xiàn)瀏覽器基本操作、頁面元素進(jìn)行識別并定位等, 使用Web 應(yīng)用程序測試工具Selenium 完成自動化測試,這個工具的主要功能包括:測試與瀏覽器的兼容性——測試你的應(yīng)用程序看是否能夠很好得工作在不同瀏覽器和操作系統(tǒng)之上,測試系統(tǒng)功能——創(chuàng)建回歸測試檢驗軟件功能和用戶需求。
白盒測試部分要求學(xué)生根據(jù)要求編寫代碼,執(zhí)行代碼走查。 在靜態(tài)測試中,將對代碼執(zhí)行編程規(guī)則檢查。該項測試向?qū)W生們展示了程序語法之外的規(guī)則問題,編程語法是學(xué)習(xí)語言的基礎(chǔ),在集成開發(fā)環(huán)境中也能夠被自動檢測,而編程規(guī)則是常被忽略又不該忽略的部分, 只有符合規(guī)范的代碼才能稱為質(zhì)量級的,才能減少潛在的錯誤。
訓(xùn)練項目依據(jù)全國職業(yè)院校技能大賽軟件測試賽項題目的特點設(shè)計,選擇基于B/S 架構(gòu)軟件系統(tǒng)作為被測系統(tǒng),參考競賽題目資產(chǎn)管理系統(tǒng),搭配網(wǎng)上書城、辦公自動化系統(tǒng)、電子商務(wù)管理系統(tǒng)等,保證教學(xué)的實用性和前沿性。
根據(jù)教學(xué)時間和要求,可將訓(xùn)練內(nèi)容分項目或綜合項目進(jìn)行,這里可以采用角色扮演的方法,學(xué)生們就是一個個測試小組,教師就是測試經(jīng)理,給學(xué)生創(chuàng)造一個在公司從事測試工作環(huán)境。 訓(xùn)練環(huán)節(jié)分測試計劃、測試實施和測試總結(jié)。
教師布置測試任務(wù)后,進(jìn)入測試計劃階段,每個小組的組長和組員展開討論, 根據(jù)需求文檔進(jìn)行需求理解和分析,通過任務(wù)分解,對測試難度、工作量和進(jìn)度進(jìn)行預(yù)估后分配每人具體工作,形成測試方案文檔。
在測試實施階段,根據(jù)具體測試任務(wù)按模塊或按整個系統(tǒng)開展功能測試、性能測試、自動化測試和白盒測試, 這個階段涉及的過程文檔包括測試用例、缺陷清單、性能測試腳本及執(zhí)行截圖、自動化測試腳本及執(zhí)行截圖、白盒測試代碼等。
測試總結(jié)階段需要學(xué)生將測試實施的成果形成測試總結(jié)報告, 這一部分考察學(xué)生的分析總結(jié)能力,比如功能測試部分需包含用例分析統(tǒng)計、Bug 匯總分析統(tǒng)計等,性能測試需要通過測試腳本的執(zhí)行,進(jìn)行性能監(jiān)測,分析執(zhí)行截圖,發(fā)現(xiàn)系統(tǒng)瓶頸。
以上三個環(huán)節(jié),在教學(xué)中根據(jù)時間和需要,整體或者分步展開訓(xùn)練,分步訓(xùn)練時可以在每個環(huán)節(jié)后增加分組匯報環(huán)節(jié),各小組挑選一名成員將小組完成的工作內(nèi)容匯報,比如采用了什么方法? 發(fā)現(xiàn)了什么缺陷?如果復(fù)現(xiàn)缺陷?這樣既可以幫助學(xué)生理清思路、鞏固所學(xué),又可以鍛煉學(xué)生的公眾表達(dá)能力,增強(qiáng)了學(xué)生的自信心。
技能的熟練掌握需要靠反復(fù)的練習(xí),然而日常教學(xué)中, 督促學(xué)生高質(zhì)量的反復(fù)練習(xí)是教學(xué)實施的難點。在競賽訓(xùn)練法的實施過程中設(shè)置近似模擬比賽的條件至關(guān)重要,這樣可以使得平時普通枯燥反復(fù)的練習(xí)富有挑戰(zhàn)性, 參考比賽的方式和規(guī)則進(jìn)行反復(fù)訓(xùn)練,最大程度了調(diào)動了學(xué)生練習(xí)操作技能的主動性和積極性,同時還可以確保訓(xùn)練高質(zhì)量的輸出。
(1)時間與題量相匹配,要求在規(guī)定時間內(nèi)進(jìn)行技能訓(xùn)練,提交訓(xùn)練文檔。
(2) 競賽訓(xùn)練需要模擬真實比賽的緊張氣氛,比如設(shè)置整點提醒,倒計時等。
(3)評分要點參考國賽規(guī)程評分細(xì)則進(jìn)行。
(4)建立個人訓(xùn)練基本信息數(shù)據(jù)庫(包含完成時間、得分排序、承擔(dān)角色等重點字段)。
(5)設(shè)置一定的獎勵機(jī)制,可以設(shè)置團(tuán)體獎勵和個人獎勵,獎勵與成績掛鉤的同時,把個人訓(xùn)練排名信息作為入選校賽、區(qū)賽和國賽的參考。
競賽訓(xùn)練通過將3~5 人分組,團(tuán)隊合作進(jìn)行。 目前國內(nèi)大多數(shù)公司測試部門分工明確,針對不同的測試類型和測試流程中的不同環(huán)節(jié)都有專人負(fù)責(zé)。 所以,在競賽訓(xùn)練法中,也應(yīng)該鼓勵學(xué)生各施所長通力合作,根據(jù)自身興趣特長參加測試工作,比如擅長文字的同學(xué)負(fù)責(zé)文檔編寫,熱愛編碼的同學(xué)負(fù)責(zé)白盒測試,喜歡研究軟件操作的同學(xué)負(fù)責(zé)性能測試。
測試文檔是軟件項目的一部分,沒有正式的測試文檔的活動,就不是規(guī)范的測試。 測試文檔在項目測試中占有重要的地位和非常大的工作量。然而在常規(guī)教學(xué)中,測試文檔往往給理論、題海讓步,學(xué)生基本沒有什么機(jī)會接觸文檔編寫。
事實上, 因為詳細(xì)的文檔可以節(jié)省項目的時間,提高工作效率,減少費用支出,所以測試人員的績效掛鉤于高質(zhì)量的文檔提交。 在競賽訓(xùn)練法中,必須非常重視測試文檔的編寫,起初給學(xué)生提供高質(zhì)量的全套文檔模板至關(guān)重要,并就疑難點分享、展示、討論,消除學(xué)生面對文檔編寫時的無措感,并加強(qiáng)對文檔重要性的認(rèn)識。
傳統(tǒng)教學(xué)采取先理論后技能的課堂模式。將競賽訓(xùn)練法應(yīng)用在課堂教學(xué)中, 可以顛覆傳統(tǒng)的課堂模式,從技能訓(xùn)練入手,讓學(xué)生在訓(xùn)練中發(fā)現(xiàn)問題,從而激發(fā)學(xué)生的理論學(xué)習(xí)興趣。競賽訓(xùn)練法匹配碎片理論知識點,相互穿插實施,由淺入深,循序漸進(jìn),幫助學(xué)生技能和理論水平交替螺旋式上升。
根據(jù)教學(xué)效果的實驗研究如圖2[3],課堂講授的教學(xué)效果是最差的, 所學(xué)內(nèi)容24 小時之后只剩下5%。 在競賽訓(xùn)練法中,大量采用分組討論、親手實踐和學(xué)以致用的教學(xué)方法,這三種教學(xué)方法的平均保持率均超過50%?;谶@項研究成果,相對傳統(tǒng)的教學(xué),競賽訓(xùn)練法能夠達(dá)到更好的教學(xué)效果。
圖2 各種教學(xué)方法的平均保持率(24 小時之后)