以新工科为指导的软件测试课程群建设
2018-09-17王智钢王爱侠王蓁蓁张海涛
王智钢 ,王爱侠,王蓁蓁 ,张海涛
(1.金陵科技学院 软件工程学院,江苏 南京 211169;2.江苏省软件测试工程实验室,江苏 南京 211169)
0 引言
随着软件产业的发展,企业对软件测试人才的需求越来越大,而随着软件测试技术的进步,企业对软件测试人才的要求也越来越高。地方高校可以新工科[1-2]为指导,主动对接地方软件产业发展对软件测试人才的现实需求,紧跟软件测试技术的发展和创新,把握软件测试人才规格的新内涵,通过产教融合、协同育人,建设软件测试课程群,大力培养具有行业背景知识、工程实践能力强、能紧跟技术发展、满足职业岗位需求的高级应用型软件测试人才。
1 新需求和新内涵
软件数量越来越多,以APP为例,根据TalkingData提供的数据显示,2016年我国APP总数量超过1700万个;一些软件的规模越来越大,如航天飞机有4000万行代码,空间站有10亿行代码;软件应用越来越广泛和深入,如手机、无人驾驶、智能家居等,软件测试范围已经不仅仅局限于纯软件产品,还迅速扩展到各种涉软产品。软件测试任务与软件数量、规模和应用范围正相关,相应地,软件测试任务也越来越多,社会需要大量软件测试人才。中国软件人才缺口中,约30%为软件测试人才,软件测试专业技术人才供需之间的缺口超过20万,软件测试工程师为2017年最紧缺的 IT 人才。
除了对软件测试人才的数量需求越来越大之外,社会对软件测试人才的内涵要求也越来越高。软件复杂度越来越高,使得软件缺陷产生的概率增大,测试工作的难度越来越大。2017年5月,谷歌无人驾驶团队Waymo宣布,谷歌无人驾驶汽车已测试8年,测试总里程已超过300万英里(约483万公里),相当于一个驾驶员数百年的行驶经验,即使这样,谷歌无人驾驶汽车还需要继续测试,尚不能广泛投入实际使用。软件应用热点、应用形式在快速演进,使得软件测试需求越来越多样化,如嵌入式测试、Web测试、APP测试等。软件测试技术、测试工具的不断发展,使得软件测试的专业化程度越来越高,如自动化测试快速发展,各种测试工具层出不穷。这些都对软件测试从业者的知识、能力、素质等提出了更高的要求。
可以说,软件产业和测试技术的发展提出了对高级软件测试人才的新需求,并对人才规格赋予了新内涵,如图1所示。
图1 软件测试人才新需求和规格新内涵
2 新思路
2017年2月以来,教育部积极推进新工科建设,先后形成了“复旦共识”“天大行动”和“北京指南”。
应用型本科软件工程专业应以“复旦共识”所提出的地方高校要主动对接地方经济社会发展需要和企业技术创新要求,把握行业人才需求方向,培养具有较强行业背景知识、工程实践能力、能胜任行业发展需求的应用型技术人才为立足点,针对企业软件测试人才需求和规格内涵培养软件测试人才。
以“天大行动”所提出的“问技术发展改内容,更新工程人才知识体系”[3]为着力点,将软件测试技术的最新发展、行业企业对测试人才的最新要求引入人才培养,更新课程体系和教学内容,建设紧跟行业发展和技术进步的课程和教材资源。
以“天大行动”所提出的“问内外资源创条件,打造工程教育开放融合新生态”为支撑点,引入外部资源,依托产学合作、校际联合、校企共建等,改善条件装备,加快发展速度,提高发展水平。
为把握测试人才需求,结合相关课题研究,金陵科技学院软件工程专业调研了数10家企业对软件测试工程师的需求情况,有代表性的人才需求规格见表1。
通过对企业软件测试工程师需求规格调研数据的分析,可以把软件测试人才的总体要求概括为掌握软件测试理论、方法、技术和工具,熟悉软件测试流程,能够编写测试文档等。在此基础上,企业重点关注的技术和能力要素包括自动化测试、测试分析和设计、测试工具、性能测试、安全测试等。这些技术和能力要素要落实到软件测试课程群的建设中,这样学习者才能达到企业的软件测试工作岗位要求。
工程教育认证是国际通行的工程教育质量保证制度,软件测试课程群应支撑工程教育认证标准中的毕业要求,以能力产出为导向,培养学生解决复杂软件测试工程问题的能力。金陵科技学院软件测试课程群建设中明确了每门课程对12条毕业规格要求的贡献度,规定了课程的考核机制和考评标准,并要求在课程学习和考核完成后,进行毕业要求达成度分析并持续改进。
软件测试课程群建设应遵循相关规范,并结合软件测试职业能力要求。本课程群建设以高等学校本科软件工程专业应用型人才培养指导意见为指南,结合工信部 ITSS 信息技术服务从业人员能力标准,针对ITSS中“设计与开发服务(软件)职位体系”软件测试职位系列2级和3级规格要求培养人才,内容覆盖软件测试工程师(职位3级)的知识、能力和素质要求,学生毕业时应能达到初级软件测试工程师能力水平,毕业后5年内能够达到软件测试工程师职业能力水平。
表1 企业对软件测试工程师的需求规格
3 新体系
软件测试课程群建设应针对企业软件测试职业岗位实际要求,把软件测试领域的概念、知识、方法、技术、工具等,进行选择、裁剪和整合,组织成具有内在逻辑关系的多门课程。以高等学校本科软件工程专业应用型人才培养指导意见为指南,软件测试课程群的组成结构如图2所示。
软件测试课程群共由5门课程组成,每门课程的具体情况见表2。
5门课程按照基础、提高、应用的层次关系设计,形成知识构建、能力提升和应用实践的逻辑关系,如图3所示。
课程群中各门课程对工程教育认证12条毕业要求的贡献度权值见表3。
图2 软件测试课程群
表2 软件测试课程群组成
图3 课程群结构关系
表3 课程群对毕业规格要求的贡献度分析
课程群覆盖了ITSS软件测试工程师(岗位3级)的知识、能力和素质要求,具体指标覆盖情况见表4。
表4中 Ki、Si(i=1,2,3)分别表示 ITSS中的知识、技能和素质等级。
表4 课程群覆盖ITSS软件测试工程师知识、能力和素质要求情况
4 新模式
新工科建设行动路线指出,要“问内外资源创条件,打造工程教育开放融合新生态”。课程群建设应大力争取校外资源,与企业产学合作,与其他高校携手同行,践行建设新模式,打造教育新生态。
金陵科技学院软件工程专业通过与HP、南京市产品质量监督检验院、国家软件产品质量监督检验中心(江苏)、南京慕测信息科技有限公司等企业合作,把软件测试企业实际应用的新方法、新技术、新工具、新平台、真实案例等引入课程群建设,形成新课程或课程新内涵;与南京慕测信息科技有限公司合作成功申报集教育、培训、研发于一体的共享型协同育人实践平台“江苏省软件测试工程实验室”,以平台带动课程群建设,以课程群建设支持平台发展。通过与南京大学软件学院合作,支持课程群团队教师参与高水平科研、参与教材专著撰写和出版、参与教学和学术交流等,提高软件测试教师团队的科研教学水平,促进课程群的建设。
课程群建设可以与学科竞赛相结合,调动学生的学习积极性,提高学生的实践和创新能力。金陵科技学院软件测试课程群建设与全国大学生软件测试大赛相结合,参与承办并鼓励学生积极参加该项赛事,推动学生深入了解软件测试业界的实际工程问题,帮助学生掌握解决问题的方法、技术和工具,促进学生实践能力产出,在大赛中取得较好的成绩。另外,软件测试大赛的相关资源、实际案例等也是鲜活的教学内容,能够促进教学内容的更新和扩充。
课程群建设应适应当前互联网+教育的发展需要,大力推动MOOC/SPOC建设。2016年,软件质量保证与测试、测试自动化两门课程获批深圳市优课在线教育有限公司与教育部合作的产学合作协同育人MOOC项目,每门课程获得优课公司提供的6万元建设资助经费。软件质量保证与测试课程已建有教学视频600多分钟,教学资源总数137个,配有测验题397个,2017年秋季学期开始SPOC教学,目前正在进行第2轮开课。课程群其他课程的MOOC/SPOC也正在积极建设中。
5 结语
金陵科技学院软件工程专业,以新工科建设[4-5]为指导,面向高级软件测试人才这一社会需求[6],开设软件测试专业方向,按照工程教育认证的理念[7],遵循教育部高校软件工程专业规范,结合工信部 ITSS 信息技术服务从业人员能力标准,以高等学校本科软件工程专业应用型人才培养指导意见为建设指南[8],建设软件测试课程群,校企协同[9],合作育人,大力培养高级应用型软件测试人才。
新工科建设是为应对新一轮科技革命与产业变革,主动适应新技术、新产业、新经济发展而提出的高等教育改革发展的新愿景与新行动。应用型本科软件工程专业应以对接软件测试人才社会需求、把握人才规格新内涵、培养能胜任岗位需求的应用型高级软件测试人才为立足点;以紧跟软件测试技术发展、建设软件测试课程群为着力点;以与企业合作共建、与其他高校携手同行为支撑点,践行新工科建设,培养应用型高级软件测试人才。