新工科背景下民航“软件测试”知识体系升级与教学
2023-05-30吴岳洲傅强罗银辉
吴岳洲 傅强 罗银辉
[摘 要] “软件测试”作为计算机科学与技术专业的核心专业课,其教学内容覆盖面广,对学生的理论及实践能力均要求较高。民航类院校在新工科背景下的民航“软件测试”教育主要以工程应用为导向,使学生在掌握软件测试技术基础理论与应用的基础上,为后期专业课程学习与工程能力提升奠定良好的软件技术基础。以中国民用航空飞行学院为例,为适应新时代智慧民航软件产业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