摘 要:目前软件测试与质量保证人才缺口较大,各大专院校正在逐步展开或完善该类人才的培养体系。如何合理设置和开展此课程,让学生能够扎实掌握基础知识和技能并了解前沿技术,成为该学科建设中亟待解决的问题。为此,结合实际教育经验,进行项目驱动式教学方法和实践的探索,形成包括课程内容标准、案例实施方案、过程化考核方案等的教学体系,达到更好培养学生的目的。
关键词:软件测试;项目案例驱动;教学方法与实践;学科建设;过程化考核
中图分类号:G640 文献标志码:A 文章编号:2096-000X(2023)23-0092-04
Abstract: At present, the demand of software testing and quality assurance talents is large, and colleges and universities are gradually developing or improving the education system for such talents. How to reasonably set up and carry out this course to let students firmly grasp the basic knowledge and skills and understand the cutting-edge technology, has become an urgent problem to solve in the construction of the discipline. Combined with practical educational experience, this paper explores the project-driven teaching method and practice, forms a teaching system including course content standards、case implementation plans and process assessment programs, and achieves the purpose of better cultivating students.
Keywords: software testing; project-driven; teaching method and practice; discipline construction; process assessment
如何培养符合国家信息产业发展要求的计算机专业人才,一直是人们十分关心的问题[1]。目前软件测试行业有大量的人才缺口,努力培养合格的学生,是人们达成的重要共识之一[2]。为此,教育部高等学校计算机科学与技术教学指导委员会专门编写了《高等学校计算机科学与技术专业实践教学体系与规范》(清华大学出版社出版)。但是,如何加强学生的实践能力培养,在现实中依然遇到种种困难。
很多院校虽然有加强软件测试教学质量的热情与愿望,但却面临着教学方式以理论灌输为主、师资队伍有限、缺乏企业和行业实践经验以及课件与教学资源匮乏等问题。同时,缺少与IT技术发展同步的一流软件测试案例、无法有效地对学生进行企业化实训的管理与评价,也严重制约着院校软件测试教学的发展与提高。
为解决传统教学的弊端,提高高等教育教学质量和人才培养质量,笔者依托多年的软件行业工作经验和大学教育经历,采用计算机教育领域中卓有成效的项目驱动式教学方法,突出“做中学”的理念,突出案例(而不是“实验和练习”)的作用,开发了一套完整的项目驱动式教学体系,为软件测试专业人才的培养带来了一股新风。
一 现状分析和研究内容
从近几年软件测试行业人才培养现状来看,许多任课教师反映目前教学体系和方法不合适。具体体现在以下方面: 第一,教学中以理论授课为主,没有紧密结合行业应用,不利于培养和提高学生的动手实践能力;第二,教学案例比较匮乏,与企业的实际情况相差太远,致使案例可参考性差;第三,缺乏具体的课程实践指导和真实项目环境。因此,针对高等院校软件测试课程的教学特点与需求,开发具有适用性和实践性的教学体系已是刻不容缓。
那么,什么是学习软件测试课程最好的方法呢?答案是项目案例驱动理论学习。通过项目驱动式的教学,可以揭示各个知识点之间的相互联系,便于学生真正掌握知识,并且运用知识解决实际问题。同时,学生在解决问题中不断总结学习,逐步完善、提高和创新,在实践中将这些知识和经验逐步融合成综合能力和素质。
国内教师和学者针对项目案例驱动方法进行了一系列的研究和探索,取得了丰富的成果。当前计算机专业和软件工程教学模式发生了极大的改变,教学中更侧重培养学生实践操作能力。从近况来看,软件工程教学中应用案例即项目驱动教学模式取得了不错的成效,能够提升学生就业竞争力[3-4]。另外有教师针对目前工科教学中存在的忽视学生主体地位,缺乏真实的实践环节等问题,提出了结合校企各自优势的项目案例教学法,对探索新工科背景下的新型教学模式[5],有很好的借鉴意义。针对一些课程的教学现状以及目前存在的问题,有教师提出了教学模式,并结合专业课程,探讨项目驱动和案例教学法相融合的教学模式的具体应用方法,通过案例引导下的课程总体设计、项目驱动下的课程单元设计,将教学模式应用到课程教学实施过程中,取得良好的教学效果[6]。
在国外,项目驱动式教学方法也得到广泛认可,其是德国大学工程教育中培养具有自主学习能力和创新能力的工程专业学生的一种重要教学模式[7]。德国应用技术大学人才培养模式的重要特征是在高等教育中融入实践的元素并将其与职业实践结合起来。这一模式要求无论是在本科还是硕士阶段的教学都要有相应的教学计划,各个专业、各个模块和各种形式的教学也都要有相应的教学方案支持。通过多特蒙德应用技术大学的教学实例和经验,提倡在高等教育中融入实践元素,着重采用案例教学、项目教学及校企合作[8]。德国高校的技能操作以真实案例和项目实作的形式传授给学生,“教”与“学”的融合培养出技能娴熟的产业人员,成就了德国社会先进的生产力水平[9]。美国的情况也类似,跨学科项目学习是STEM(科学(Science)、技术(Technology)、工程(Engineering)、数学(Mathematics)四门学科英文首字母的缩写)教育常见的实施方式。高校从项目学习的任务设计、问题驱动和应用评估三个角度结合案例来解析项目设计要领,以及关注STEM项目的实施机制[10]。最近几年,在美国众多的工程类大学中,最受家长和同学们关注的是一所位于波士顿附近的私立本科大学,名字叫富兰克林欧林学院(Franklin W. Olin College of Engineering)。這所学院最大的特色是坚持以实用教育为导向,与许多传统的“先理论后实践”院校不同,这个学院强调的不仅仅是教授基本知识,而是要求学生把各个知识点与实际生活中的问题联系起来,找出解决方案。换一句话说,就是以解决实际问题为导向,以项目案例为驱动。
基于项目案例驱动理论学习的新型教育理念和方法,笔者主持编写了高等学校计算机科学与技术项目驱动案例实践规划系列教材。其以教育部计算机专业教学指导委员会的规范和标准为指南,以教育部软件工程专业大学生实习实训基地为依托,组织具有计算机科学技术和软件工程重点建设专业的高等院校骨干教师,协同具有丰富行业经验的企业精英共同开发。本系列教材由清华大学出版社出版,受到广大读者的欢迎和好评。
针对软件测试方向,笔者充分调研职业岗位所需关键技术能力、职业素质、可持续发展能力,在此基础上构建学生的知识、技能和素质结构,形成了包括课程内容标准、案例实施方案、过程化考核方案等的教学体系。主要创新点如下。
1)采用Project-Driven Learning(项目实践来带动理论学习)的方式,将软件测试相关的案例分析和理论知识点融合和交互。
2)设计和开发了软件测试项目案例实施方案,并组织学生通过小组合作等形式完成。
3)制定新的考核标准,在项目案例考核、团队合作考核和过程任务考核几个方面作深入探讨。
二 项目案例驱动式教学方法与实践
(一) 基于项目案例驱动式教学方法的课程体系
笔者结合多年来在软件测试与质量保证等方面的研究,一直在探索软件测试教学与质量保证的教学改革,推出更加符合当前软件测试与质量保证发展方向的方法和体系。笔者希望推广一种最有效的学习与培训的途径,这就是Project-Driven learning,也就是用项目实践来带动理论的学习(或者叫做“做中学”)。其体现的是源于企业、面向高校的教学理念,为软件测试与质量保证的教学提供真实的企业项目案例和实践环境。
基于此,笔者围绕一个艾斯医药商务系统项目案例来贯穿软件测试及管理各个模块的理论讲解,包括软件测试概述、软件测试计划、软件测试技术、单元测试技术、集成测试技术和系统测试技术等。通过项目实践,可以对技术应用有明确的目的性(为什么学),对技术原理更好地融会贯通(学什么),也可以更好地检验学习效果(学得怎样)。项目案例的开发和测试流程如图1所示。
基于项目案例驱动方法的课程体系从项目开发和测试流程出发,重点讲述核心理论和实际应用。本体系的特色是以项目实践作为主线贯穿其中,提供了一个完整的项目案例,力求使学生不但知其然,而且知其所以然,既培养学生解决问题的能力,又使他们熟练掌握软件测试与质量保证相关知识,特别把重点放在培养学生分析问题和解决问题的能力训练方面。
(二) 项目案例实施方案
在教学实施过程中,我们以项目为载体,学生为主体,通过项目案例驱动来进行课程内容教学,实现理论实践一体化,使学生在完成相应项目任务的过程中来学习理论知识和提升实践技能。针对软件测试课程的项目案例实施方案见表1。
(三) 过程式考核方式
目前,大部分的课程采用以考试成绩为主,实验成绩为辅,适当考虑平时表现的考核方式,这种考核方式并不合适应用性强的课程。我们将尝试建立多元化的过程考核评价体系,在项目案例考核、团队合作考核和过程任务考核几个方面进行探讨,具体见表2。
本次教学实践的考核中,我们突出项目案例驱动的作用。除了传统的平时考勤和实验作业成绩以外,我们还采用了项目展示和项目答辩等方式来考察学生项目实践能力和团队意识,并在评分体系中,加大了项目案例部分的权重。其中,项目展示部分包括项目代码、文档、学习心得和记录及项目运行结果等,项目答辩部分包括PPT制作、团队分工与协作及表达沟通能力等。项目部分的评分由团队分数和个人分数两项组成,既考察学生的团队写作能力,又避免分工不均和个人不努力的情况。
(四) 实践效果
通过软件测试课程的项目驱动式教学方法和实践,能够帮助学生熟悉和掌握软件测试最本质的核心技术和应用方向,培养出适应市场需求的高层次实用型软件测试工程师。在软件测试课程的教学实践中,学生的学习兴趣、实践能力和综合素质都得到了提升,取得了良好的效果。首先,在自主完成项目案例过程中,学生发现了学习的目标,挖掘了对软件测试和软件工程的兴趣。其次,学生顺利完成了项目案例的全流程测试实践操作,掌握了相关理论知识点,大大提高了运用理论知识解决实际问题的能力。另外,通过项目汇报和答辩,学生们加强了项目总结和表达沟通能力,积累了团队协作经验。
先进的教学模式为学生奠定了坚实的基础,为后期的学习做了很好的铺垫。深圳技术大学的学生在许多全国性竞赛中获奖,2021年,在第六届“中国高校计算机大赛-团体程序设计天梯赛”全国总决赛中,获得全国团队铜奖1项、全国个人二等奖2项、全国个人三等奖5项。这些奖项的获得,验证了项目驱动式方法和实践在人才培养中的有效性。
三 结束语
当前,软件测试行业人才的有效培养已经成为了亟待解决的问题。本文探讨了软件测试课程的项目驱动式教学方法和实践教学研究的成果,包括以下几个方面:采用Project-Driven Learning(项目实践来带动理论学习)的方式,将理论和实践一体化;设计和开发软件测试项目案例实施方案;制定新的过程式考核标准等。希望在未来几年中,在国家、省、市、校等各级相关政策引导下,继续完善文中提出的体系建设,全面开展学生专业能力与职业能力的综合培养,以便适应产业发展需求,提高毕业生的就业率与就业质量。
参考文献:
[1] 李春晓.基于人才供应链的高校计算机专业人才培养体系研究[J].经济研究导刊,2017(12):126-127.
[2] 程秀才,王蕊,荣鼎慧.浅谈我国软件测试行业人才现状及培养体系[J].软件,2017,38(12):254-257.
[3] 白懿婧.基于案例和项目驱动软件工程教学模式的研究与实践[J].才智,2017(5):174.
[4] 何剑民,郭红艳.“案例项目驱动教学法”在计算机教学中的应用[J].福建电脑,2010,26(1):188-189.
[5] 樊秀梅,张兴辉,阿喜达,等.校企合作的项目驱动案例教学法研究——以物联网工程专业为例[J].陕西教育(高教),2021(2):21-22.
[6] 廖湘琳,余晓晗,綦秀利,等.项目驱动和案例教学相融合的教学模式研究[J].软件导刊(教育技术),2019,18(4):57-59.
[7] 刘和,符波,刘宏波,等.德国大学工程教育项目教学法及其启示[J].中国大学教学,2019(9):92-96.
[8] DITTRICH F, WOLFF C,陈颖.结合实践的高等教育——德国应用科学大学模式[J].应用型高等教育研究,2018,3(2):11-19.
[9] 杨谦.德国科技应用大学中的“教”与“学”[J].陕西工业职业技术学院学报,2013,8(2):61-63.
[10] 金可泽.跨学科项目学习设计与实施机制——美国STEM课堂教学观察与启示[J].上海教育科研,2020(4):12-17.
基金項目:深圳技术大学教学研究和改革项目“软件测试与质量保证教学改革研究”(20211005)
作者简介:梁立新(1970-),男,汉族,河北石家庄人,硕士(美国),副教授,副院长。研究方向为软件理论和技术、大数据分析、人工智能等。