【关键词】软件测试教学改革软件测试工程师
【基金项目】2015年中央高校基本科研业务费专项资金项目“C程序代码级内存缺陷的充分性检测技术研究”(15CX02050A)。
【中图分类号】G64【文献标识码】A【文章编号】2095-3089(2015)09-0229-01
一、引言
随着软件产业的迅猛发展,软件的复杂性也日益增加,导致对软件的质量提出了更高的要求,这也使得软件测试工程师成为每个软件企业都不可或缺的技术人才。“软件测试”就是一门培养软件测试工程师的专业课[1],本课程较为系统的介绍了软件测试的基本理论、测试方法、测试过程以及常用测试工具等内容。本课程知识的掌握将为学生系统的掌握软件工程知识体系以及毕业后从事软件测试、软件开发等职位打下良好的基础。
如何扎实有效的培养软件工程学生在软件测试领域既具有理论基础、又具有工程实战能力,目前许多软件工程专业教育者进行了积极的探索[2-4]。我校软件工程专业已入选山东省卓越工程师培养计划[5],为了执行国家对软件工程专业卓越工程师培养的精神,融合学校的“三三三”培养体系[6]的顶层设计,以贯彻培养理论扎实、具备工程实践能力、创新能力强、适应经济社会发展需要的高质量软件工程师为目标,我们也在软件测试课程的培养方案、课程结构、教学方法和考评体系等方面进行了一系列的改革和探索[7,8]。其中最为重要的改革是借鉴CDIO(Conceive-Design-Implement-Operate)工程教育理念,落实了“基于项目的教学”方法,增开了大量的课程设计和综合实践环节,在理论教学的同时注重了工程实践能力得培养。
二、“软件测试”教学面临的问题
“软件测试”课程的已有的教学改革改善了教学效果,但是由于传统的教学方法依然影响着教学,所以目前的软件测试课程教学过程中依然面临一系列问题。
(一)教学内容抽象,学生学习兴趣不高
软件测试是软件工程知识体系的九个知识域中理论性最强的一个知识域,必然造成软件测试教材与教学内容较抽象。目前,软件测试课程教学中普遍存在着理论教学偏重的特点,扎实的理论素养是卓越工程师的必备基础,但是即便对于软件工程专业的本科学生,也欠缺软件项目的实际开发经验,所以课程内容的抽象性增加了学生对课程内容的理解难度。为促进学生对理论知识的理解与应用,必须结合软件测试的课程特点,将抽象的内容分化到软件测试过程的不同阶段中,并采用相应的测试工具体现测试的方法,再应用于教学案例,才能促进学生对抽象的测试理论知识的理解与应用。
(二)教学内容碎片化,学生没有完善的测试知识体系
按照软件开发过程的要求,软件测试是贯穿于整个开发过程的一项活动。而在教学中,软件测试的理论出现了割裂,各知识点呈现碎片化,理论内容与实际的软件测试流程不同步。将不同的测试理论与方法进行了分割,这样利于教材内容的安排以及教学内容的组织,但这也必然造成教学内容碎片化,学生形成不了一个统一的测试理论框架,难以把握所学的理论与方法在软件开发与测试的过程中如何应用。为促进教学效果,有必要基于软件测试过程,定位软件测试的介入点,在不同的介入点进行理论知识的分配,形成一个以软件测试过程为主线、各理论知识在介入点进行分配的鱼骨图式的软件测试理论知识体系。
(三)轻视测试工具应用,培养的学生与企业需求难以衔接
因为软件测试方法众多,这也造成有大量可选的软件测试工具。虽然工具的培训是培养卓越工程师的一个必备环节,然而卓越工程师的培养毕竟不等同于职业教育,不能只是简单的掌握一个测试工具,而应该了解测试工具所体现的测试理论、所适用的测试阶段以及所应用的场景。在进行测试工具培训锻炼的同时,必须结合所讲授的测试理论,以及该工具适用的测试过程与测试场景。为了全面的掌握各种具有代表性的测试工具,需要搭建一个测试工具箱。
(四)教学案例简单,学生没有完整的测试思路
因为理论知识碎片化的讲授,也造成目前教学中只能采用简单的案例,简单的案例虽然有助于学生对具体测试方法的理解,但是难以融会贯通的掌握对一个完整项目的测试。为此,需要基于鱼骨图的软件测试理论知识体系,精心设计能够贯穿整个测试流程的案例,并有必要设计不同类型的案例,形成一个分层次、分类别的测试案例库,以保证对各种测试方法的掌握。
(五)学生对软件测试存在认识偏差,缺乏从事软件测试职业的意愿
目前国内软件行业依然蔓延着“重开发、轻测试”的观点,这种观点也延伸到软件工程专业的教学中,导致部分学生对软件测试这个职业存在认识偏差。这就要求软件测试课程需要从原来偏重理论讲解、学生欠缺软件测试训练的教学中摆脱出来,应该与软件测试工程师要求的能力培养集合起来,注重理论培养的同时,加强与软件测试职业的衔接,增设对软件测试工具的训练,加大基于案例与项目的实战训练,通过工程能力的培养以加深学生对软件测试的正确认识。
三、总结
为了执行我校软件工程专业的卓越工程师培养计划,解决“软件测试”教学中存在的上述问题,我们计划在已有的教学改革基础上,提出“方法为基、过程引导、工具跟进、案例贯穿”的“方法-过程-工具-案例”四位一体的教学方法,以解决目前“软件测试”课程中存在的诸多问题。
本文分析了“软件测试”这门课程随着卓越工程师培养、研究型教学的要求下在理论培养与工程能力训练等方面逐渐显露出的各种亟待解决问题,只有充分认识到这些问题,才有可能针对问题进行教学改革,进而培养理论与功能能力具备的软件测试人才。
参考文献:
[1]吴春雷,刚旭,张俊三.基于“卓越计划”的软件测试类课程改革[J].计算机教育,2014,11:88-91.
[2]李月龙.高校软件测试课程教学改革研究[J].计算机教育,2014,7:16-18.
[3]邓松.递进式软件测试创新人才培养模式研究[J].计算机教育,2014,7:5-7.
[4]周雪妍,林泽鸿,罗秋滨,路雯靖,刘玉利.软件测试技术四面体培养模式的探索与研究[J].教学研究,2013,5:56-58.
[5]张国平等.软件工程卓越培养计划的研究与设计[C].软件工程2011年会,2011,10.
[6]刘华东.构建“三三三”培养体系推进本科教育迈向更高目标[J].中国高等教育,2012,18:34-36.
[7]吴春雷.面向应用型软件人才教学模式的探索与实践[J].中国成人教育,2014.04:124-126.
[8]张国平,吴春雷.软件工程专业核心课程案例化教材的规划与设计[J].高等理科教育,2013.10:85-87.
一、研究背景
软件工程是高校计算机专业教学计划中的一门重要课程。软件工程的课程体系涉及了从客户沟通,软件设计,软件开发,软件测试到最终软件维护等软件生命周期各个阶段。既是一门理论性极强的专业课程,更是一门实践性很强的课程。近年来,全国各大高校均将软件工程作为计算机及其相关专业的一门重要专业课程。计算机专业的学生通过软件工程课程,学习作为软件从业人员需要掌握的基本专业能力,为未来从事计算机软件相关的各类工作,提供理论及方法的指导。可以说,学好软件工程,对计算机及其相关专业的从业人员来说都是一门必修课。
二、教学现状
在当前的软件工程课堂教学当中,部分院校采用纯理论课堂讲授的授课形式,另一部分院校则采用理论讲授与实践实训课程相结合的授课形式。然而,从教学内容来看,当前软件工程的教学内容,主要集中在传统方法学,即传统的软件工程学。对于面向对象方法学来说,很多新的知识方法还涉及不足,特别是软件模型化,构建技术,UML统一建模语言等等一些当下社会流行的软件工具和方法。同时,实践环节较少,实践效果不够理想也是软件工程教学中普遍存在的问题。目前可供该课程选用的合适的实验项目甚少,所以学生通过实验课程所达到的效果与教学要求存在较大的差距。另一方面,学生对理论知识的理解不足。软件工程是一门计算机领域的综合性、工程性学科。涉及软件生命从萌芽、成型、成熟、生命结束的各个周期阶段的工作和任务。学习者似乎能听懂,可听完后大部分学生还处在似懂非懂的阶段,真正需要动手时,不知道该从何下手。在近年来的教学实践过程中发现,一些理论知识,过于抽象晦涩。与实际的应用需要相脱节,学生对很多知识理论,只停留在概念阶段,难以消化,更无法理解理论知识在实际的软件设计、开发、测试、维护中究竟何时何地可以运用,具体又该如何操作。理论与实际的结合仍存在很多不足。这一方面与课程理论研究性较强有关,另一面也与教师本身长期在院校从事较单一的教学工作,缺少工程项目经验,脱离实际的生产及软件开发场景,难以将理论与现实情境很好的结合传授给学生。在计算机专业毕业生的毕业设计中,也集中体现出了学生不能把理论知识有效地运用到实践活动中的问题。学生并没有真正掌握基础理论及运用理论的技能和方法,所以在进行毕业论文设计时,不能将软件工程的理论充分运用到他们的设计实践中去,从而导致设计开发的软件和撰写的文档在结构、内容等方面错误百出。
三、改革思路
(1)研究并解决软件工程教学中存在的新兴软件方法不足等问题。结合现有的专业培养方案,教学大纲,制定教学计划,改善软件工程教学现状,研究传统软件工程技术在教学改革中占的课时比例及应当讲授的内容,增加研究面向对象软件工程技术在教学改革中的地位及讲授的方式、内容和课时量。(2)研究并解决软件工程课程实践性不足,学生学习停留于理论阶段的问题。结合理论课程的内容,增强软件工程的实践性,与一些软件开发的实训课程相结合,增加学生的实践机会,将软件工程理论应用于实践当中,提高学生对课程的理解和现实认识。(3)研究并解决学生对理论知识理解不足,课程停留于课堂教学,脱离实际运用,学生难以满足应用型人才培养目标等问题。根据教学计划,教师请教并邀请相关企业的软件资深从业人员,与学生开展专业知识交流活动。以企业中实际可行的软件项目为案例,为学生讲解软件知识,让学生理解软件工程的理论知识如何有效的融入实践当中。并加深学生对课程、对当今计算机领域流行的专业知识及未来从业方向,对计算机专业从业现状的认识,真正做到应用型人才的培养。可以安排学生到企业进行调研,参与实际的企业项目。(4)研究并解决学生在毕业设计及毕业论文的完成过程中,缺少理论支撑,不能合理规范化完成设计的问题。将软件工程专业知识与计算机专业毕业设计相结合,在毕业论文指导的过程中,重视软件工程理论的应用。以软件工程方法学,软件过程,项目管理等相关知识软件工程相关理论指导学生的毕业设计,力求整个毕业设计过程达到模块化、规范化,正规化。
参考文献
[1]张海藩.软件工程导论(第5版)[M].北京:清华大学出版社,2018.2
[2]崔含鼎,梁仕云.现代教学系统工程模式论[M].广西教育出版社,2001.
关键词:日文软件人才;教学模式;项目训练
计算机科学与技术专业的本科毕业生就业情况不理想是一个不争的事实,但这并不是因为市场不再需要这方面的人才。相反,市场对于软件开发人才的需求量非常大。
日文软件人才需求的现状
软件外包是一些发达国家的软件公司将软件项目通过外包的形式交给人力资源成本相对较低国家的软件公司开发,其目的是降低软件开发成本。目前,全球软件外包市场规模已达1000亿美元,并以平均每年29%的速度增长,在目前全球的软件产值中,三分之一都需要通过软件外包来完成。软件外包已经成为世界软件产业发展的一个重要趋势。
近年来,
“六双”教学模式在人才培养过程中的实施
在“六双”教学模式下,日文软件人才的培养具体采取了如下措施。
优化软件工程专业的任课教师采取“双师”配置,由学校的教授、讲师主讲专业基础课程以及相关的理论课程,聘请企业具有丰富日文软件项目开发经验的工程师讲授技能训练的课程并进行案例教学。通过“双师”的教学,使学生在较短的时间内掌握软件理论和编程技巧。
将日语作为学生的第一外语为了满足日文软件外包人才培养的需要,在语言教学的设置上,软件工程专业在外语教学上将日语作为学生的第一外语,英语为学生的第二外语,跟踪学生语言的学习效果并适时进行调整。毕业生的日语水平应达到日语二级水平,训练有素且深谙日本企业文化,能胜任日文软件开发和应用工作。根据不同的需要,在完成各层次技术课的基础上,还应加强日本语言、日文软件开发流程与规范、日文软件项目管理与企业文化、项目实战等针对日文软件设计开发的专业知识与能力培养。
取得职业资格证书在学校“双证书一体化”培养模式下,使学生在学习期间通过专项的技能训练取得劳动部门认证的职业资格证书,并参加人力资源和社会保障部、工业和信息化部组织的计算机技术与软件专业技术资格(水平)考试,从而取得人力资源和社会保障部颁发的专业技术资格证书。
实行互助教学模式在教学环节上,为了充分调动教师的积极性,通过采取“主讲教师+助讲教师”的互助教学模式,既充分发挥主讲教师的理论水平和实践经验,学生又可掌握助讲教师熟练的编程技巧。
为技能训练创造优异的教学条件虽然国内外提出了不同的软件人才培养模式,但是不管采用什么样的教学模式培养人才,如果培养人才的过程中没有实际项目做支撑都是纸上谈兵。要想提高学生的技能水平,就必须在技能训练上创造条件。可是,使所有学生深入企业实习又是不现实的。我们结合软件工程专业的人才培养定位目标,引进工程教育的理念。为此,我们针对软件工程专业建设,以培养软件应用型人才为目标,以实际工程项目实训为手段,以市场需求为导向,设计开发了软件技术实训平台(以下简称平台)。平台包括用户信息管理模块、理论知识学习、协作交流、软考训练及工程实践等模块,为软件工程专业的学生提供实时在线的服务,最终达到增加学生软件项目实际设计经验,实现企业需求与人才培养对接的目标。日文软件人才培养在技能训练上实行机房教学模拟训练与企业项目实际训练相结合的方法;在实验实训环境建设方面,利用软件人才工程项目训练教学管理平台为学生提供较为严格的软件项目的训练环境,培养学生掌握与企业项目开发接近的技能水平;在学生具备了相当的技能水平后,安排学生到企业完成企业项目实际训练,使学生能够近距离地接触软件企业的项目开发过程。此外,在教师的指导下,学生还面向学校和社会承揽一些软件开发项目,在项目的开发过程中,锻炼学生实际软件开发能力;还可以通过参加各级专业竞赛,在竞赛中提高学生的软件开发能力。学生实行“基础理论+工程实践”的培养模式:先完成“公共基础和专业基础教育”;然后进行“专业案例教学”、“对日软件开发专业教育”的学习。从教育模式上,先主要完成基础语言教学和专业基础课程的教学,让学生系统地接受软件开发和项目管理方面的语言(日语和开发语言)基础、数据库基础、网络基础等方面的教育,从而夯实专业基础知识。“专业案例教学”又可大致分为两个阶段,但是这两个阶段可以根据实际情况相互交叉和重叠。第一个阶段主要进行“软件案例教学”,第二个阶段主要进行“工程实践教育”,通过让学生在校进行相关的专业课程设计以及在企业进行生产实习、综合课程设计、毕业设计、顶岗工作等方式锻炼工程实践的能力。
充分发挥学校教学基地和企业实践基地的优势,全面提高学生的师范能力和实践水平在教材建设方面,学习国外教材的设计理念,配合案例式教学思想,编写符合本专业教学需求的教材。日文软件人才的培养目标是既能动脑、又能动手,具有较高知识层次、较强创新能力的复合型实用型人才,能够服务于滨海新区的对日软件外包。采用“基础理论+工程实践”培养模式,专业基础教学与案例及工程实验教育并重,通过校企合作等途径切实保证学生的实训实习效果。为了使该专业发展更加符合社会人才需求,体现我们的办学特色,也为学生的就业和个人发展提供更多机会,一方面,使学生在学习结束之后成为既掌握良好理论知识,又具备突出的实际操作能力的实用型人才,与社会接轨,能被企业所用;同时面向企事业单位和日本市场,成为具有创新意识的软件工程技术人才。另一方面,从学生发展方面,强化学生专业理论和实践能力全面发展的素质,依据学生不同的需求,在侧重于培养符合日文软件外包服务行业要求的同时,增设师范选修模块以保证学生的师范能力,从学生自身的特点和社会需求出发,打造实用人才,拓宽学生就业和发展渠道。
参考文献:
[1]谢安邦.高等教育学[m].北京:高等教育出版社,1999.