王 欣
(天津商務(wù)職業(yè)學(xué)院,天津 300150)
隨著軟件開發(fā)體系的逐步完善,軟件測試階段逐漸成為軟件開發(fā)過程中非常重要的一環(huán),軟件測試工作也由軟件工程師擔(dān)任逐步發(fā)展為由專門的測試工程師來完成,如今測試工程師已經(jīng)成為項目團隊中不可或缺的一員。在2019年1月印發(fā)的《國家職業(yè)教育改革實施方案》方案中,提出了要加大力度進行復(fù)合型技術(shù)人才培養(yǎng)模式改革,將學(xué)歷證書和各項職業(yè)技能等級證書有效銜接的相關(guān)要求。面向軟件測試工程師崗位特點,推出了《Web應(yīng)用軟件測試職業(yè)技能等級證書》,該證書為高職軟件技術(shù)專業(yè)學(xué)生的專業(yè)培養(yǎng)提出了可靠依據(jù)。為了順應(yīng)行業(yè)發(fā)展,適應(yīng)職業(yè)崗位要求,培養(yǎng)出符合軟件測試崗位要求的技術(shù)技能人才,必須改變傳統(tǒng)的教育教學(xué)以及授課模式,本文將探討如何通過“1+X”證書制度,開展“軟件測試技術(shù)”課程改革工作。
在傳統(tǒng)的軟件技術(shù)類專業(yè)教學(xué)中,往往對軟件開發(fā)類課程的教育教學(xué)較為重視,而軟件測試類課程屬于理論通識類課程。課程目標的重點是要求學(xué)生掌握基礎(chǔ)的軟件測試理論,授課方式一般為理論授課,實踐操作較少,導(dǎo)致授課內(nèi)容較為抽象,難以引起學(xué)生學(xué)習(xí)興趣,同時也不符合軟件測試工作崗位特點[1]。
軟件測試課程的教學(xué)案例一般是建立于各個知識點的,單一的知識點講授是可以滿足需求的。但高職教育的本質(zhì)是培養(yǎng)適應(yīng)專業(yè)崗位的技術(shù)技能人才,現(xiàn)有教學(xué)案例由于是被分隔在各個章節(jié)的知識點中,案例呈碎片化[2],不利于學(xué)生構(gòu)建完整的知識體系,導(dǎo)致現(xiàn)有教學(xué)案例存在缺乏實踐指導(dǎo)意義的問題,不符合現(xiàn)代職業(yè)教育理念。
軟件測試課程的考核形式一般是依據(jù)教學(xué)大綱要求,針對課程中涉及的知識點,采用理論考試的方式進行考核[3]。由于軟件測試在實際工作中是一個綜合性、操作性較強的專業(yè)崗位,傳統(tǒng)理論考試方式缺乏實踐操作環(huán)節(jié),導(dǎo)致無法全面考查學(xué)生對此崗位技能實踐應(yīng)用情況。
Web應(yīng)用軟件測試職業(yè)技能等級證書標準主要面向互聯(lián)網(wǎng)企業(yè)、軟件企業(yè)、向數(shù)字化轉(zhuǎn)型的企事業(yè)單位的軟件研發(fā)、軟件測試等部門,涉及Web應(yīng)用軟件中基于B/S結(jié)構(gòu)的各類測試工作內(nèi)容。Web應(yīng)用軟件測試職業(yè)技能等級證書根據(jù)軟件測試工作所需具備的崗位職業(yè)能力要求,以及各類工作內(nèi)容涉及的技能難度,將各類測試技能劃分到從初級、中級到高級的三種等級證書中。
初級證書面向的崗位內(nèi)容是測試工作中較為簡單的內(nèi)容,主要從事的工作內(nèi)容包括軟件測試環(huán)境搭建、基本軟件測試工具使用、功能測試實施等,取證人員需掌握以下三個方面的技術(shù)技能:(1)軟件測試環(huán)境搭建:虛擬機的安裝與使用、服務(wù)器的安裝、數(shù)據(jù)庫的安裝、被測項目的部署。(2)軟件測試工具管理:測試項目管理工具的應(yīng)用、虛擬機管理、服務(wù)器的啟動與維護、數(shù)據(jù)庫的數(shù)據(jù)導(dǎo)入和基本操作。(3)軟件測試實施:測試計劃理解與執(zhí)行、需求分析的理解與分析、測試用例執(zhí)行和維護、黑盒測試技術(shù)、UI界面測試技術(shù)、兼容性測試技術(shù)、軟件缺陷文檔的編寫、測試報告的編寫。
中級證書在初級證書的基礎(chǔ)上,增加了系統(tǒng)測試工程師、Web自動化測試工程師、性能測試工程師、接口測試工程師的崗位工作要求,以上工作崗位要求工程師具備依據(jù)需求分析設(shè)計測試用例、執(zhí)行Web自動化測試、性能測試、接口測試的能力。取證人員在具備初級能力的基礎(chǔ)上,還需掌握以下三個方面的技術(shù)技能:(1)集成開發(fā)環(huán)境搭建:Python和Pycharm環(huán)境的安裝和配置。(2)自動化測試環(huán)境搭建:Selenium、Appium和Jmeter環(huán)境搭建。(3)軟件測試實施:Python基本編程能力、測試用例設(shè)計能力、Web測試對象分析與元素定位、Selenium WebDriver API方法實現(xiàn)、APP測試對象分析與元素定位、Appium WebDriver API方法實現(xiàn)、Jmeter腳本編寫、Jenkins集成Jmeter測試執(zhí)行、斷言與結(jié)果判定、性能指標分析與評估。
高級證書面向的崗位內(nèi)容是在中級證書的基礎(chǔ)上,從管理控制和測試過程兩方面加強了對測試工程師的要求,一方面要求具備項目管理能力,能夠統(tǒng)籌規(guī)劃并監(jiān)管項目進程,另一方面需要具備較強的代碼把控力,能夠勝任白盒測試的代碼走查和JUnit框架搭建工作,能夠利用接口測試原理檢測系統(tǒng)模塊間的流程處理過程,能夠通過系統(tǒng)的安全測試保障系統(tǒng)的安全性。取證人員在具備中級能力的基礎(chǔ)上,還需掌握以下幾個方面的技術(shù)技能:(1)測試項目管理:業(yè)務(wù)邏輯和場景分析、測試任務(wù)進度和質(zhì)量把控、可行性分析報告編寫、測試團隊組建及管理。(2)集成開發(fā)環(huán)境及測試環(huán)境搭建:JDK和Eclipse環(huán)境的安裝和配置、JUnit環(huán)境搭建、Unittest測試框架搭建、Pytest測試框架搭建、XSS測試平臺搭建。(3)軟件測試實施:Java代碼走查和調(diào)試、白盒測試技術(shù)、JUnit代碼編寫、Unittest測試框架的使用、Pytest測試框架的使用、Page Object模塊化設(shè)計、Selenium grid分布式執(zhí)行、HTML測試報告的生成及分析、安全漏洞分析、SQL注入檢測、Nmap網(wǎng)絡(luò)探測。
現(xiàn)以“1+X”證書制度為指導(dǎo),對標Web應(yīng)用軟件測試職業(yè)技能等級證書各等級標準中所涉及的崗位職業(yè)能力,緊跟天津市軟件技術(shù)行業(yè)對人才的需求,重新梳理軟件測試課程的知識點與技能點,從教學(xué)大綱、考核標準、教學(xué)案例、實訓(xùn)基地、教學(xué)過程五個方面全面實施課程改革,助力課崗賽證互融,切實提高軟件技術(shù)類專業(yè)教學(xué)質(zhì)量。
根據(jù)Web應(yīng)用軟件測試職業(yè)技能等級證書標準,軟件測試相關(guān)崗位可概括為測試項目經(jīng)理、測試工程師、自動化測試工程師、安全測試工程師四類,再從崗位能力的角度出發(fā),將“軟件測試技術(shù)”課程劃分為軟件測試基礎(chǔ)、測試項目管理、自動化測試、安全測試四個模塊[4]。
教學(xué)大綱除了對學(xué)生應(yīng)掌握的知識點作出明確要求外,更要強調(diào)與理論內(nèi)容相配合的實訓(xùn)教學(xué)內(nèi)容,實現(xiàn)理論與實踐的有機統(tǒng)一,使學(xué)生能夠綜合利用所學(xué)知識,正確使用工具,按照項目要求完成軟件測試任務(wù)、管理測試過程。
由于傳統(tǒng)的“軟件測試技術(shù)”課程著重理論教學(xué),缺乏對實踐能力的訓(xùn)練,考核上也存在相同的問題。此次課程改革將考核方式重新定位為模塊考核與綜合考核相結(jié)合的方式。模塊考核是根據(jù)重新劃分的軟件測試基礎(chǔ)、測試項目管理、自動化測試、安全測試的四個模塊,在完成每個教學(xué)模塊后實施的考核,重點考核學(xué)生對于單獨模塊知識技能的掌握情況,有利于學(xué)生及時歸納總結(jié)模塊知識,建立起清晰的軟件測試知識體系,并能促使學(xué)生及時發(fā)現(xiàn)問題,提升各模塊專業(yè)能力。
模塊考核中理論知識考核占比30%、過程評價考核占比40%、項目實施成果占比30%,共占課程總成績60%。期末考試采用依托軟件測試綜合項目的綜合考核方案,考核學(xué)生在實際項目中對于四個模塊中知識技能的綜合運用能力,其中軟件測試基礎(chǔ)模塊占比40%、測試項目管理模塊占比15%、自動化測試模塊占比35%、安全測試模塊占比10%,共占課程總成績40%。
傳統(tǒng)的軟件測試課程教學(xué)往往采用經(jīng)典案例,如三角形分類問題、飲料自動販賣機問題、讀書過程問題等。經(jīng)典案例是面向理論知識搭建的,存在與企業(yè)實際項目脫節(jié)的情況,學(xué)生就業(yè)后很難將在課堂中學(xué)習(xí)到的知識與案例遷移到實際項目案例中,導(dǎo)致出現(xiàn)學(xué)生崗位適應(yīng)性差的問題。
為培養(yǎng)符合崗位技術(shù)和職業(yè)素質(zhì)要求的人才,必須通過推進校企合作、深化產(chǎn)教融合的方式,引進企業(yè)項目資源,歸納總結(jié)項目類型及所涉及的軟件測試技術(shù),打造適合于軟件測試教學(xué)的項目式教學(xué)案例,以保證教學(xué)案例具有現(xiàn)實指導(dǎo)性和高連貫性[5]。
Web應(yīng)用軟件測試職業(yè)技能等級證書標準中明確了軟件測試相關(guān)崗位需要具備的職業(yè)技能以及需要掌握的測試軟件,實訓(xùn)基地建設(shè)應(yīng)符合課程教學(xué)需要,分別對教學(xué)實訓(xùn)環(huán)境的軟硬件環(huán)境作出要求。
硬件環(huán)境要求包括:i7及以上CPU,8G以上內(nèi)存,256G以上硬盤容量,100/1000Mbps帶寬。
軟件環(huán)境要求包括:安裝Win10(64位)操作系統(tǒng),vmware虛擬機,ALM和禪道軟件管理工具,Chrome、火狐、IE瀏覽器,Tomcat服務(wù)器,MySQL數(shù)據(jù)庫,Eclipse、Pycharm開發(fā)集成環(huán)境,Selenium、Jmeter、Fiddler自動化測試工具,以及Burp Suite、Nmap、SQLMap安全測試工具。
基于“軟件測試技術(shù)”課程特點,教學(xué)過程的重構(gòu)引入了PBL教學(xué)法[6]。教學(xué)過程中,始終遵循“強調(diào)學(xué)生主體地位,教師主導(dǎo)作用”的原則,項目案例活動主要采用分組活動方式,能夠使學(xué)生在獲得專業(yè)技能的同時,提升學(xué)生的團隊協(xié)作能力、表達能力,有利于全面提升學(xué)生的綜合職業(yè)素養(yǎng)。
基于PBL教學(xué)法的軟件測試技術(shù)教學(xué)過程遵循做中學(xué),做中教的職業(yè)教學(xué)理念。“軟件測試技術(shù)”課程教學(xué)過程采用“三段式”,由課前啟發(fā)、課中教學(xué)和課后拓展構(gòu)成。在課前啟發(fā)階段,由教師發(fā)布簡要知識點和相關(guān)問題,學(xué)生自學(xué)并作答相關(guān)測試題,完成簡單任務(wù),提高學(xué)習(xí)興趣;在課中教學(xué)階段,又分為“導(dǎo)、探、論、評、優(yōu)、結(jié)”六個階段,依次開展情境導(dǎo)入、探索學(xué)習(xí)、集體討論、作品點評、優(yōu)化任務(wù)、課堂總結(jié)的教學(xué)活動。課后拓展階段由教師布置拓展提升任務(wù),學(xué)生根據(jù)個人興趣和能力,完成適合自己的拓展任務(wù)。
相對于傳統(tǒng)的軟件測試教學(xué),基于“1+X”證書制度的課程教學(xué)改革,更符合現(xiàn)代軟件測試行業(yè)對人才的需求。本文針對軟件測試課程現(xiàn)存問題,結(jié)合“1+X”證書制度下的Web應(yīng)用軟件測試職業(yè)技能等級證書內(nèi)涵,從教學(xué)大綱、考核標準、教學(xué)案例、實訓(xùn)基地、教學(xué)過程五個方面開展“軟件測試技術(shù)”課程改革研究,獲得初步課程改革成果,未來將繼續(xù)從師資培養(yǎng)、校企合作、教材開發(fā)等方面開展工作,使課程內(nèi)容緊貼崗位要求,綜合提升人才培養(yǎng)質(zhì)量。