劉曉剛
摘? ?要:文章通過引入國家和省職業技能競賽“軟件測試”賽項建設高職計算機及相關專業的“軟件測試”課程方案。課程內容與職業標準對接,分成多個項目,引入“軟件測試”賽項的軟件工具和賽題,模擬真實的比賽環境進行實訓,考查學生的實際動手能力、規范操作水平、創新創意水平,以及綜合職業能力。不僅參加比賽獲得了不錯的成績,還以少帶多、以點帶面,提升了更多同學的學習興趣和學習積極性,起到了“以賽代練、以賽促建”的作用,較好地提升了教學效果。
關鍵詞:高職;“軟件測試”;課程;方案
為了提高和檢驗高職學生在軟件測試方面的職業能力,推動工學結合人才培養模式的改革與創新,教育部開始舉辦全國職業院校技能大賽“軟件測試”賽項以及各省的選拔賽?!败浖y試”賽項按照行業企業軟件測試崗位的真實工作過程設計競賽內容,通過比賽促進課程建設、教學改革,注重學生實踐技能、創新能力的培養,提升了學生的職業素養和就業能力,促進了教學過程與生產過程對接、課程內容與職業標準對接,推動了相關專業人才培養模式與課程體系的改革,提高了專業建設水平。
浙江經貿職業技術學院計算機專業開設有“軟件測試”課程,將軟件測試技能作為學生專業拓展技能之一。為了提升教學效果,嘗試“以賽促建”,引入“軟件測試”比賽的軟件工具和賽題,建設課程內容,設計實訓案例,并通過選拔選手參加比賽等多種手段來提升學生的學習興趣,提升教學效果。
1? ? 軟件測試競賽內容及組織安排
高職院校職業技能大賽“軟件測試”賽項基于網絡的“某某管理系統”應用為考核點,競賽內容涉及的核心技能包括:功能測試方案制定、測試用例設計、Web應用測試執行、移動APP測試執行和測試總結報告編寫;自動化測試要求分析、測試工具使用、代碼編寫和測試執行;性能測試要求分析、測試工具使用、測試執行和測試總結報告編寫、白盒測試等內容。重點考查參賽選手對實際問題的綜合分析能力、文檔編寫能力、開發工具和開發語言的掌握程度、運用工具解決實際問題能力、測試方法的掌握程度、測試用例設計能力;考查競賽團隊內部科學規劃、合理分工、高效溝通、配合完成競賽任務的團隊合作能力以及應用創新能力[1]。
“軟件測試”賽項的省賽一般安排在每年3月初舉行,對應的國賽安排在5月底舉行。因此“軟件測試”課程的授課最好安排在下半年即每學年第一學期,學完課程后在賽假中對選拔隊員進行遠程指導培訓,第二學期開學后進行集中培訓,然后參加省賽。省賽成績較好的隊伍參加國賽。
2? ? 軟件測試的課程建設
圍繞軟件測試工程師的崗位能力需要來進行課程設計,基于行動導向來組織教學,培養學生適應職業崗位的能力。在教學內容的設計上,按照軟件測試的知識體系,組織成多個項目單元,構建教學體系。以典型的項目類型為載體,針對軟件測試工程師的職業崗位需求,以真實完整的軟件測試工作過程為依據來建設課程。前導課程是程序設計基礎(Java或Python語言,最好兩種語言都掌握)、面向對象設計、數據庫技術等。后續課程有“綜合實訓”“頂崗實習”“畢業設計”等。
2.1? 課程內容設計
根據行業企業調研分析結果、計算機專業人才培養目標以及“軟件評測師”的技能證書要求,以及“軟件測試”比賽的內容,確定課程的核心內容為:測試計劃的編寫、測試方法的選擇、測試用例的設計、測試流程的掌握、測試過程的管理、測試工具的使用、測試報告的編寫等。摒棄老舊的測試軟件,從比賽中重點引入市場主流的LoadRunner性能測試工具以及Selenium功能測試工具,并將歷年賽題作為教學案例和實訓題目。課程采用基于軟件測試工作過程的教學模式,將本課程的教學內容分解為6個項目單元,共60學時。
項目一是軟件測試的認知和體驗。要求了解軟件測試的基本概念和內容,了解軟件質量管理的基本概念和內容,掌握軟件測試的分類、原則、策略及流程等概念,掌握場景測試法與軟件測試的基線[2]。技能方面要求學會對Windows計算器進行功能測試和界面測試,學會應用場景法對QQ登錄界面和功能進行測試。計劃4課時。
項目二是白盒測試。要求掌握白盒測試的概念,掌握代碼檢查法的原理,掌握邏輯覆蓋法、基本路徑測試法等白盒測試方法的原理以及各自優缺點、適用面。技能方面要求學會代碼檢查法、邏輯覆蓋法和基本路徑測試法的實現方法。計劃8課時。
項目三是黑盒測試。要求掌握黑盒測試的概念、等價類和邊界值的概念以及決策表和因果圖的設計原理。技能方面要求學會等價類的劃分方法,學會邊界值、決策表和因果圖的設計方法。計劃10課時。
項目四是測試管理。要求了解測試管理的多種工具和一般性過程,熟悉測試計劃的目的、內容,掌握測試用例的屬性和具體內容,掌握測試缺陷的定義、屬性、優先級和嚴重性,掌握測試總結報告的具體內容。技能方面要求學會測試計劃的制定方法,測試用例的設計方法,測試缺陷的執行方法與提交方法,以及測試總結報告的編寫方法。計劃10課時。
項目五是Web自動化性能測試及LoadRunner軟件。要求了解性能測試的指標及方法,掌握LoadRunner的基本組成和常用術語,熟悉LoadRunner進行負載測試的流程以及LoadRunner的常用函數。技能方面要求學會HP WebTousr網站的安裝、開啟、使用方法,LoadRunner的基本錄制方法,事務、集合點、參數化、自動關聯、手動關聯和檢查點的設置與使用方法,學會LoadRunner的結果分析方法。計劃16課時。
項目六是Web自動化功能測試及Selenium工具。要求掌握功能測試的概念及原理,掌握自動化測試的原理及優缺點,框架測試的結構及優點。技能方面要求掌握Selenium安裝及環境配置方法,學會Selenium方法、事件的編寫和使用,以及Selenium自動化功能測試框架的封裝、設計方法和調用方法。計劃12課時。
2.2? 課程實施
2.2.1? 教學及實訓環境
課程的教學進程建議安排在比賽前的一個學期,有利于學習的連續性和選手的選拔訓練。在教學實施過程中,根據課程各模塊教學的實際需要安排在多媒體教室、模擬實訓室或校內、外生產性實訓基地來進行。實訓的環境要求比較苛刻,除了較高配置的電腦,還需要純凈的操作系統、安裝指定的軟件及版本,并且不能安裝其他的軟件,否則測試功能無法正常運行。
計算機硬件要求:CPU主頻大于2 GHz,內存容量大于等于1 GB,硬盤剩余空間在40 G以上,建議用SSD固態硬盤,100 M寬帶局域網絡;軟件要求:操作系統Windows 10或Windows 7旗艦版64位系統,Office 2010,LoadRunner 12.02英文版,Anaconda 3,PyCharm 2018,Chrome 67、禪道等[3]。
2.2.2? 教材及其他教學資源說明
軟件測試方面的紙質教材更新較慢,市場上的現存教材內容大多偏舊。建議在選擇紙質教材的同時,向學生推薦一些更新較快的網上學習資源,如51Testing軟件測試網:http://www.51testing.com,中國測試員網站:http://www.cntester.com,希賽網:http://develop.csai.cn,CSDN軟件測試頻道:http://testing.csdn.net。
2.2.3? 課程考核與評價
課程考核成績按百分制評定,權重為平時成績占20%,實訓成績30%,期末考核成績占50%。平時成績由老師根據學生平時上課的各項表現綜合給分,按優秀(90—100分)、良好(80—89分)、中等(70—79分)、及格(60—69分)、不及格(59分及以下)5個等級評定,期末按20%比例折算進課程總成績。實訓成績由老師根據每次實訓課學生的任務完成情況給出成績,具體比例為測試需求分析10%、測試方案設計(包括測試用例設計)30%、測試腳本設計10%、測試腳本編碼30%、測試執行過程10%,結果報告撰寫10%,在期末給出一個綜合的實訓成績,按30%比例折算到課程總成績。
期末進行整體內容的上機考核,要求在規定時間內完成指定的測試任務,將成績按50%的比例折算到課程總成績中。期末主要考核用例的設計,對測試工具運用的熟練程度,對實際測試項目的測試設計和分析,以及對測試完整過程的掌握能力。
3? ? 學生選拔及賽前訓練
3.1? 選拔學生
由于“軟件測試”職業技能競賽是在每年的上半年舉行,因此在比賽之前的上一學期就應該開展對相關班級“軟件測試”方面的摸底,對有興趣的學生進行學習態度、理論功底、動手能力、分析能力的綜合評估,重點參考該學期“軟件測試”課程的考核成績,篩選出較為合適的幾名學生(6名左右)作為備選選手。競賽培訓老師利用寒假對這批學生進行遠程學習指導,布置任務、批改作業、觀察培訓效果。新學期開學后立即進行培訓的成效測試,結合培訓表現決定參賽學生,最終選出3名學生代表學院參加比賽。
3.2? 比賽前訓練
通過“軟件測試”課程的學習和寒假的培訓,選手們具有了測試競賽的理論功底和技術基礎,但是對于技術應用的熟練程度不夠,對于比賽的過程掌控完全沒有經驗。建議召集往年的參賽選手來交流溝通,除了給新選手傳授經驗之外還要鼓舞士氣。開學之后到比賽之前還有一個多月的時間,需要對選拔出來正式參賽的選手進行專門的針對性訓練,重點練模擬試題和往年賽題,不僅要每一套都上機練,而且要練多遍。除了提高做題的正確性,更要提高做題的速度以及團隊的配合熟練程度。訓練中3個選手應該有側重點,一個重點練用例的設計,一個重點練缺陷的尋找,一個重點練LoadRunner性能測試和Selenium功能測試。建議從3人中選出一個組長,負責競賽的組織安排,要求反應快并處事果斷,具有應急事件的處理能力,有利于處理正式賽場的突發事件。
4? ? 結語
“軟件測試”課程按照行業企業軟件測試崗位真實工作過程建設,課程內容與職業標準對接,引入了國家和省職業技能競賽中采用的“軟件測試”軟件工具和賽題,將教學內容整理成多個項目,輔以項目導向和任務驅動教學方法,模擬真實的比賽環境進行訓練,考查學生的實際動手能力、規范操作水平、創新創意水平以及綜合職業能力。不僅可以通過參加比賽獲得不錯的比賽成績,還能以少帶多、以點帶面,提升更多同學的學習興趣,帶動整班同學的學習積極性,較好地提升了教學效果。后續工作將繼續豐富課程建設的內容,緊跟國家和省職業技能競賽的發展,增加更加實用的案例,采用更加主流的軟件工具,并在頂崗實習和畢業實習中動員學生更多地參加測試方面的工作,促進其學以致用并不斷進步。
[參考文獻]
[1]原創力文檔.2019年全國職業院校技能大賽賽項申報方案[EB/OL].(2019-09-15)[2020-03-10].https://max.book118.com/html/2019/0915/7041040046002055.shtm.
[2]趙翀,高鵬.軟件測試課程工程實踐教學模式的探索與實施[J].計算機工程與科學,2014(S1):51-55.
[3]匡青,朱宜炳.高職院校軟件測試課程教學改革探索[J].現代商貿工業,2010(3):237-238.
Construction of higher vocational “Software Testing” course “scheme promoted by competition”
Liu Xiaogang
(Zhejiang Institute of Economics and Trade, Hangzhou 310018, China)
Abstract:This paper introduces the “Software Testing” event of the national and provincial vocational skills competition to build a “Software Testing” course plan for higher vocational computers and related majors. The course content is connected with professional standards, divided into multiple projects, the software tools and questions of the “Software Testing” event are introduced, the actual competition environment is simulated for training, and the students actual hands-on ability, standardized operation level, and innovative level are examined, and comprehensive vocational skills. Not only did I get good results by participating in the competition, but I also brought less with more and more with points to improve the learning interest and enthusiasm of more students. It played the role of training on behalf of the competition, and promoted the construction of the competition.
Key words:higher vocational education; “Software Testing”; courses; programs