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