吳岳洲 傅強 羅銀輝


[摘 要] “軟件測試”作為計算機科學與技術專業的核心專業課,其教學內容覆蓋面廣,對學生的理論及實踐能力均要求較高。民航類院校在新工科背景下的民航“軟件測試”教育主要以工程應用為導向,使學生在掌握軟件測試技術基礎理論與應用的基礎上,為后期專業課程學習與工程能力提升奠定良好的軟件技術基礎。以中國民用航空飛行學院為例,為適應新時代智慧民航軟件產業Wed自動化程度高的特點,選擇合理的軟件測試教材,并結合民航軟件產業需求對“軟件測試”課程的理論和實驗教學知識體系進行升級,實現課程知識、工程實踐、學生認知等維度的融會貫通,綜合提升“軟件測試”課程的教學效果。
[關鍵詞] 軟件測試;計算機;民航;新工科
[基金項目] 2021年度中央高校教育教學改革項目“中飛院現代產業學院建設研究”(E2021041);2019年度中國民用航空飛行學院項目“民航信息技術研究中心”(JG2019-08-03)
[作者簡介] 吳岳洲(1986—),男,四川廣元人,博士,中國民用航空飛行學院計算機學院教師,高級工程師,主要從事軟件測試、計算機視覺研究。
[中圖分類號] G642.4 [文獻標識碼] A[文章編號] 1674-9324(2023)12-0018-04 [收稿日期] 2022-04-22
引言
計算機軟件對國民經濟、社會發展和國防建設有著至關重要的作用,隨著軟件產業迅速發展,軟件產品數量越來越多,軟件產品復雜度越來越高。2021年11月,工業和信息化部印發《“十四五”軟件和信息技術服務業發展規劃》,提出要堅持應用牽引、生態培育,壯大信息技術應用創新體系,強化數字經濟發展基礎[1]。軟件是信息技術的核心,質量是軟件的靈魂。測試是保障軟件質量的重要手段,主要包括單元測試、集成測試、系統測試三個階段,貫穿整個軟件開發生命周期,軟件質量直接關系軟件的可靠性和服務水平[2]。國內軟件測試技術體系發展還處于起步階段,對應的軟件測試人才缺口較大,對應教學內容的前沿性有待提升,軟件測試已經成為學術界和產業界關注的焦點[3]。
本文針對民航院校新工科背景下的智慧民航發展需求,基于產出的教育(Outcomes-based Education, OBE)模式理念,為提升民航產業背景下軟件測試人才供給能力和完善軟件測試人才培養體系,以中國民用航空飛行學院“軟件測試”課程教學為例,通過開發完善新需求和新知識,在傳統理論教學的基礎上,強化工程應用和成果導向,與軟件研發相結合,重構軟件測試教學體系,難度適中的知識體系能夠有效提高學生注意力與主動思考意識。
一、新工科背景下民航知識體系選擇
軟件測試的核心是生成滿足特定準則的測試數據,是軟件開發活動中一個關鍵且耗時的環節。為打造民航軟件產業創新人才高地,民航類院校依托新工科發展,通過理論指導、教學創新、內容優化等途徑,多主體、多學科協同形成具有民航特色的工程教育體系,培養學生解決復雜行業軟件工程問題的能力。新工科背景下民航軟件測試人才培養體系、課程體系和知識體系改革需要找準教育切入點和側重點,圍繞持續提升民航軟件產業競爭力,結合手機App、Web自動化測試、人工智能等技術發展現狀,主動設計和實施,適應現代產業發展需求[4-5]。
新工科對大學軟件測試教育提出全新挑戰,民航行業軟件Web自動化程度高、結構復雜,傳統軟件測試教學結構難以滿足其需求。中國民用航空飛行學院計算機學院選擇工業和信息化“十三五”人才培養規劃教材《軟件測試》,由中國工信出版集團和人民郵電出版社聯合出版,是一部面向新工科的高等學校應用型人才培養規劃教材,教學內容具有相應的廣度和深度,內容深入淺出、新穎實用,不僅為學生提供專業所必需的知識結構,促進大學生專業能力培養及綜合素質的提升,還一定程度上滿足了工程教育的個性化培養需求和學生自身發展需要。
《軟件測試》教材知識體系包括9個章節。第1章介紹軟件測試的基礎知識體系,包括軟件生命周期、軟件開發模型、軟件質量、軟件缺陷分類、軟件缺陷處理流程、軟件缺陷管理工具、軟件測試模型、軟件測試流程等;第2章介紹黑盒測試方法,包括等價類劃分法、邊界值分析法、因果圖與決策表法、正交實驗設計法等;第3章介紹白盒測試方法,包括邏輯覆蓋法(主要包括語句覆蓋、判定覆蓋、條件覆蓋、判定-條件覆蓋、條件組合覆蓋)、程序插樁法等;第4章介紹性能測試,包括性能測試指標及分類、性能測試流程、性能測試工具(LoadRunner、JMeter)等;第5章介紹安全測試,包括安全測試原則、SQL注入、XSS跨站腳本攻擊、CSRF攻擊、滲透測試、安全測試工具等;第6章介紹自動化測試,包括自動化測試的基本流程、實施策略、常見技術、常見工具、持續集成測試等;第7章介紹移動App測試,包括移動App測試要點(UI測試、功能測試、專項測試、性能測試)、測試流程、測試工具等;第8章、第9章以軟件項目為例,講解測試需求說明書、測試計劃、測試方案、測試用例、測試腳本、測試報告、缺陷報告等的編寫,強化學生編碼規范和文檔書寫規范能力。
二、知識體系升級與教育
“軟件測試”課程理論教學需充分發揮教師的積極性、創造性、主動性,合理設計民航專業知識點或案例并應用于教學過程,有效激發學生學習興趣。同時,由于“軟件測試”課程以工程實踐為核心,需通過實驗才能使學生深入認識軟件質量和測試的重要性。理論與實踐相結合,有效促進了學生工程應用與專業創新能力的形成,整個知識體系的升級體現為理論教學和實驗教學兩大方面。
(一)理論教學升級
通過理論教學,學生應掌握軟件測試原理、測試技術和測試管理相關的基礎理論和工具。傳統理論教學知識體系存在一定的局限性,學生在理論知識學習過程中缺乏積極性和主動性。為滿足民航新工科工程應用需求,在選擇的工業和信息化“十三五”人才培養規劃教材的基礎上,根據教材知識體系框架,合理增設關于Selenium和Unittest的3個專題,有效支撐學生開展Web自動化程度高的民航行業軟件測試,與原有教材知識體系互補[6-7]。
考慮不同學生的學習進度等因素,優化理論教學設計和教學方法,在理論教學過程中,利用教材配套的傳智教學平臺網絡教學視頻資源,學生可以實現課前預習、課后鞏固復習、線上自習、在線作業、線上討論等,教師通過該平臺可全面掌握學生的學習進度和對知識點的掌握情況,便于查漏補缺,提高課堂授課的精準性。升級后的理論教學內容見表1。
表1中專題1目的是讓學生理解自動化測試的相關概念和Selenium的特點,并搭建Web自動化測試的相關環境,掌握Web自動化測試腳本編寫的基本步驟,了解通過自動化測試開展回歸測試、壓力測試、兼容性測試的業務需求,克服手工測試的局限性,減少人為錯誤,提高測試效率。專題2要求學生熟練應用八種元素定位方法,能夠開展瀏覽器、網頁元素、鼠標、元素等待、Frame框架切換、窗口截圖等功能性操作,并掌握通過瀏覽器開發工具實現HTML查看和編輯、Javascript控制臺、網絡狀況監視等功能的方法。專題3的目的是讓學生掌握Unittest框架的基本使用方法、斷言的使用,能夠組織多個測試用例執行,掌握實現參數化和測試報告的生成。通過以上專題,學生在實驗過程中理解自動化測試對軟件測試效率的影響,了解降低軟件測試成本的重要性。
(二)實驗教學升級
通過實驗教學,緊跟民航軟件行業市場Web自動化、智能化發展需求,強化Web自動化測試能力。安排學生設計測試用例、使用測試工具、編寫測試腳本、開展軟件測試、編寫測試報告等實際操作,結合小組綜合實驗方式,營造活躍輕松的實驗氛圍,鼓勵學生互動、師生互動,通過有效的討論、思考和實踐行為,學生更好地理解和掌握理論教學的知識體系內容。針對實驗教學過程中學生提出的問題,通過小組內部研討和教師指導,引導學生思考問題、解決問題,培養學生的行業協作精神[8]。升級后的實驗教學內容見表2。
結語
本文通過研究新工科背景下民航軟件測試行業的發展和需求,針對民航院校“軟件測試”課程知識體系進行理論和實驗教學內容升級。通過對中國民用航空飛行學院計算機科學與技術專業3個班級的授課,發現相對于傳統“軟件測試”課程教學模式,新模式強調培養學生分析和解決軟件質量問題的能力,將實踐教學延伸到課堂,把產業需求場景搬到學校,學生課堂注意力、出勤率、測試成績都有顯著提升,有效提高了該專業課程的教學質量。后期將探索研究引入基于大數據和人工智能的“軟件測試”課程教學專題和實踐案例,提升學生的綜合實踐創新能力。
參考文獻
[1]工業和信息化部關于印發“十四五”軟件和信息技術服務業發展規劃的通知:工信部規〔2021〕180號[A/OL].(2021-11-15)[2022-03-15].https://www.miit.gov.cn/cms_files/filemanager/1226211233/attach/20224/b1a5229d377c410abf08b46b096249b7.pdf.
[2]楊秀紅.高校軟件測試技術課程的教學改革實踐[J].大學,2022(5):149-152.
[3]劉曉剛.基于移動技術的高職軟件測試課程的改革探索[J].教育教學論壇,2018(14):275-276.
[4]吳鴻韜,翟艷東,李智,等.軟件測試技術課程思政教學的探索與實踐[J].計算機教育,2021(1):89-92.
[5]王曉.軟件測試過程質量控制管理研究[J].軟件,2022,43(1):115-117.
[6]孫晉永,蔡國永,汪華登,等.以學生為中心的“軟件測試”課程教學改革與實踐[J].教育教學論壇,2020(38):160-161.
[7]張堃.計算機軟件測試技術與開發應用策略分析[J].電子技術與軟件工程,2021(23):24-25.
[8]姚香娟,田甜,黨向盈,等.智能優化在軟件測試中的應用綜述[J].控制與決策,2022,37(2):257-266.
Upgrading and Teaching of Software Testing Knowledge Systems of Civil Aviation in Emerging Engineering Education
WU Yue-zhou, FU Qiang, LUO Yin-hui
(School of Computer Science, Civil Aviation Flight University of China, Guanghan,
Sichuan 618307, China)
Abstract: As the core professional course of computer science and technology, software testing covers a wide range of teaching contents and requires high students theoretical and practical ability. The software testing education in civil aviation colleges under the background of the emerging engineering is mainly oriented to engineering application, so that the students can lay a good software technology foundation for later professional course learning and engineering ability improvement based on mastering the basic theory and application of software testing technology. Taking Civil Aviation Flight University of China as an example, to adapt to the high degree of automation of Web in the smart civil aviation software industry in the new era, reasonable software testing teaching materials are selected, the theoretical and experimental teaching knowledge system of software testing is upgraded according to the needs of the civil aviation software industry, to realize the integration of curriculum knowledge, engineering practice, student cognition, and comprehensively improve the teaching effect of software testing courses.
Key words: software testing; computer; civil aviation; emerging engineering education