青島職業技術學院信息學院 鄭春紅 劉志敏
伴隨IT行業新技術的發展,軟件的應用領域進一步擴大,人們對軟件質量的要求也逐步提高,軟件測試已經成為不可或缺的關鍵技術。目前,軟件測試人才招聘需求量大,且呈逐年增長態勢,人才缺口較大。從基本的功能測試、性能測試、接口測試、自動化測試、App測試,到特定應用場景的人工智能測試、大數據測試、云計算測試等,不同的測試崗位對從業人員的理論基礎和實踐能力要求不同。企業對軟件測試工程師的能力要求呈現綜合性,要求軟件測試人員要具有軟件項目經驗,具備軟件測試、軟件質量保證知識,能夠獨立開展軟件測試工作。但是,目前符合企業要求的軟件測試工程師十分匱乏,培養符合企業用人需求的測試人才是目前高職院校教學改革的重要議題。
高職院校的軟件測試課程教學應立足軟件測試行業發展現狀,順應IT行業新技術的發展,對接目前企業用人需求,將軟件測試與新技術、新的應用場景相結合,在學生已有專業知識的基礎上,以專業課程體系為依托,探索軟件測試課程教學改革,培養具備扎實測試理論基礎及綜合實踐能力的高質量軟件測試人才。
目前,軟件測試課程的教學內容過于依賴教材,未能很好地將理論知識與測試工具及實際工程項目結合起來。在授課內容的組織方面缺少總體設計和創新,教學案例資源陳舊,案例之間關聯度小,知識過于碎片化。
目前,高職院校在實驗設計方面,多以基礎性實驗為主,這種單一的實驗設計方式,難以適應軟件測試工程實踐能力培養的需要。在軟件測試的課程設計中,教學內容的組織及實踐項目案例的選取往往側重于對軟件測試理論的覆蓋,未與其他專業核心課程建立必要的聯系,或未能在其他專業課程的教學設計中滲透軟件測試的相關內容,難以讓學生構建宏觀知識體系。
“軟件測試沒有軟件開發就業前景好”是很多學生對軟件測試行業的偏見。很多學生認為做不了開發的才選擇測試,從而缺少對軟件測試課程學習的興趣。這一錯誤認知,主要源于學生缺乏對軟件測試行業現狀及軟件測試崗位的正確認識。
目前,承擔軟件測試課程授課任務的教師,雖然經過了軟件測試課程的師資培訓,但并沒有實際承擔企業級軟件測試項目的經驗,或缺少在企業從事軟件測試工作的經歷。因此,對企業實際的用人需求了解并不充分,在教學過程中也容易照本宣科,難以匹配與企業相似的開發和測試環境。
軟件測試課程教學過程,主要采用先理論再實踐的教學順序。在這種傳統的教與學模式中,教學環境與企業實際的工作環境差距較大,難以讓學生立足職業角色去看待問題、分析問題、解決問題,也難以讓學生在實踐中收獲職業測試人員的成就感。
目前,軟件測試課堂教學使用的教學實驗及實訓案例,主要是結合常見應用設計的,如各類電商網站、桌面應用程序等。案例資源比較陳舊,難以拓寬學生的專業視野。隨著IT行業的快速發展,新技術不斷出現,新的應用場景逐步落地,物聯網、大數據、人工智能等技術已經滲透到我們的學習、工作、生活等各個領域。智慧安防、智慧交通、智慧旅游、智慧金融、智慧家居、智慧醫療、智慧社區、智慧農業、智慧政務等在我們的生活中已不再陌生,應考慮將軟件測試課程的教學、實驗、實訓與新技術、新應用場景相融合,對現有教學案例資源進行補充和完善。
高職院校的學生個體間差異較大,表達能力、理解能力、動手實踐能力參差不齊。軟件測試課程教學形式單一,“教師教,學生學,學生練”的傳統教學模式難以發揮個體優勢,往往導致學生兩極分化現象嚴重,部分學生越學越愛學,而部分學生可能由于跟不上進度而中途放棄。
軟件測試課程教學課時有限,而大部分課時需要用于軟件測試基礎理論的學習以及測試方法的基本練習。學生對于實際項目中測試計劃的制定、測試文檔的撰寫等環節并不熟悉,只有理論層面的理解,缺乏完整項目的測試經驗,難以系統掌握整個測試的流程以及測試方法在軟件開發各個環節中的實際運用。
軟件測試理論和工具的發展離不開軟件的發展,為了滿足軟件市場的需求,軟件測試教學除了基本測試理論和方法,還應結合IT新技術及時更新教學資源。教師在授課過程中,應結合當下的熱門技術和工具,拓展課程的廣度,培養學生的發散思維和隨機應變的能力。
軟件測試也是軟件工程的重要組成部分,應該以工程化的思想指導軟件測試實踐環節的設計。在教學內容的編排和教學案例的選取過程中,應緊密結合學生專業基礎,做好專業課程總體設計,幫助學生在各專業課程的學習中做到融會貫通。
例如在軟件測試課程設計中,可以選取優秀的學生項目,部署到云服務器供所有學生訪問,項目可覆蓋軟件測試教學的主要內容。在實踐環節,以工程化的思想將任務劃分為需求分析、擬定測試計劃、設計測試用例、測試實現、執行測試、缺陷跟蹤、項目總結幾個階段,讓學生在多學科交叉的學習環境中做到學以致用。

表1 軟件測試與其他專業課程的聯系
軟件測試的第一節課,是幫助學生樹立端正的學習觀,激發學生對軟件測試課程產生興趣的關鍵一課。教師可以利用第一課,讓學生了解軟件測試行業現狀、地方崗位需求、薪資待遇等實際問題,然后以軟件測試相關崗位要求為依據,以目標為導向,從宏觀角度引導學生了解軟件測試課程將要學習的知識和需要掌握的技能,從而激發學生學習的興趣,同時引導學生做好職業發展規劃。
教師在軟件測試課程授課過程中,不僅需要培養學生的基本測試理論和測試技能,還應關注學生綜合素質的養成。通過課程思政,將行業工匠精神、愛國主義情懷、社會主義核心價值觀等全方位、多角度與軟件測試的理論和實踐教學內容無縫銜接,培養德才兼備的軟件測試人才。
結合目前大部分軟件公司的崗位設置情況,對學生進行小組劃分,并擬定崗位角色,學生可結合個人興趣或特長選定角色。教師通過在云服務器上搭建bug管理系統,按角色為學生分配賬號和權限。這樣,在每一次項目實踐的過程中,為學生營造實際軟件測試工作的氛圍,使其理解每類角色的權限,懂得在團隊中分工協作的重要性,同時體驗職業角色在工作過程中獲得的成就感。

表2 小組角色分工
軟件測試是一個先進并且在不斷進步的領域。在互聯網技術和大數據技術的驅動下,人工智能已經與我們的生活以及各個行業、產業、領域形成廣泛聯系,形成了時代經濟的新形態,帶動了新產業的蓬勃發展。將特定場景的人工智能應用融入軟件測試課程中,可以幫助學生開闊專業視野,熟悉并掌握軟件測試在新技術、新領域中的實際應用。
例如,在課程中以基于人臉識別的安防監控系統為案例,將安防系統的抓拍機、智能邊緣設備的安裝調試融入課堂教學,極大地調動了學生學習軟件測試的積極性,也有利于提高學生的動手實踐能力。以安防監控系統的智能邊緣設備為例,帶領學生學習智能邊緣設備的產品規格書和接口文檔,運用postman等接口測試工具,帶領學生以小組為單位,進行接口的測試。以安防監控系統的服務器端開發為例,將系統各個功能模塊的單元測試融入軟件測試的課堂教學,有利于幫助學生理解單元測試的意義,提高學生的質量意識。以安防監控系統的客戶端為例,將web測試融入軟件測試的課堂教學,帶領學生運用黑盒測試中的等價類劃分、邊界值分析、場景法等設計測試用例、撰寫測試文檔,有利于幫助學生理解并掌握測試的方法、流程以及規范。
軟件企業對軟件人才的需求是軟件測試課程改革的推動力,軟件測試相關的從業資格認證是學生入職的敲門磚。加強校企合作可以促進教學改革的推進,也可以培養“雙師型”教師,提升教師的企業實踐能力,推動新興領域軟件測試相關技術在高職院校軟件測試課程教學中的落地,所以進一步加強校企合作十分重要。學校可以利用寒暑假時間選派教師到企業研修鍛煉,了解企業軟件測試崗位用人需求,積累企業項目實戰經驗,也可以定期從企業聘請HR、測試工程師等專家走進課堂,從軟件測試職業發展規劃、項目實踐等方面進行指導。同時,為了深化軟件測試課程改革,提高學生對口就業率,還可以與企業聯合建立實習實訓基地,讓學生在實習崗位上通過工學交替的形式參與到企業的實際項目當中,培養學生的動手實踐能力。
基于目前學生缺乏完整項目的測試經驗,可以增加軟件測試的實訓環節,將軟件測試的實訓與其他計算機相關專業的實訓相結合。例如,在實訓過程中可以小組為單位,劃分電商項目測試組、智能產品研發項目測試組、Android移動應用開發項目測試組等,然后按學生的興趣將其分配到同專業或其他專業的對應實訓項目中,讓學生全程參與項目的開發與測試過程。這樣,一方面可以通過實際的完整項目幫助學生理解和掌握整個測試的流程,另一方面也可以幫助學生提高溝通和協作能力。
本文結合目前軟件測試行業新發展及企業崗位用人新需求,分析了目前高職院校軟件測試課程教學中存在的問題,如教學資源陳舊、課程整體設計缺少與其他專業課的聯系、學生缺少行業認知、教師缺少企業實際工作經驗、學生課堂上職業角色體驗度不高、教學資源案例陳舊、缺少與新技術和新應用場景的結合、教與學形式單一、學生缺乏完整項目的測試經驗、難以系統掌握整個測試的流程以及測試方法軟件開發各個環節中的實際運用等。針對上述問題,結合實際教學經驗,提出了對軟件測試課程進行教學改革的幾點思路:結合IT新技術,及時更新教學資源;加強軟件測試課程與其他專業核心課程的總體設計;通過軟件測試第一課激發學生學習興趣;通過課程思政培養德才兼備的測試人才;通過情景教學讓每個學生參與到項目實踐環節;通過將特定場景的人工智能應用融入軟件測試的課程中,幫助學生開闊專業視野,熟悉并掌握軟件測試在新技術、新領域中的實際應用;通過加強與企業的合作提升教師的教學科研能力;強化軟件測試的實訓過程,通過實際的完整項目幫助學生理解和掌握整個測試的流程,幫助學生提高溝通和協作能力。實踐證明,上述方法運用在實際教學中取得了較好的效果,學生學習積極性和主動性有了明顯的提高,但也面臨很多亟待解決的問題。例如,伴隨人工智能、大數據、云計算、工業互聯網等新興產業的發展,如何開展更廣泛的校企合作,如何將更多的新技術融入軟件測試的理論和實踐教學中,還需要進一步的探索與實踐。