公务员期刊网 论文中心 正文

谈面向应用型高校软件测试课程教学

谈面向应用型高校软件测试课程教学

摘要:目前,我国软件测试行业基础人才匮乏,市场缺口相对较大。高校现有的软件测试课程模式培养出来的测试人才与企业的岗位需求有一定的差距。作为高质量软件人才培养的应用型高校,目前在软件测试人才培养中针对理论教学与实践教学联系不够紧密、可操作性低,导致学生学习后难以构建完整有序的知识体系结构、实践操作能力不足等问题,本文分析其存在的原因,并以从优化教学内容、改革教学手段、教学资源、校企合作及改进考核方法等方面进行研究,并给出了相应的改革措施,以提高学生的学习积极性和主动性,为应用型软件测试人才培养提供支撑。

关键词:软件测试;应用型高校;教学改革;人才培养

近年来,软件测试行业发展迅速,企业对专业化、系统化的软件测试人才的需求比较迫切;从国内互联网招聘数据可看出,软件测试工程师等专业人才需求量巨大,软件测试的发展前景一片光明[1]。作为人才输出基地的应用型高校,在培养具有较强的应用实践能力的测试人才方面任重道远。软件测试的教学工作一直以来是计算机专业教学的难题。一方面,教师觉得理论性太强,又较抽象,教学实施困难;另一方面,没有实战项目,学生缺少积极性,在课程上投入相对较小,普遍用人单位总觉得刚毕业的学生在这方面的技能薄弱,不符合工程项目的人才要求。本文从当前软件测试课程教学模式和教学团队出发,找出导致高校人才培养与企业需求脱节的原因,探讨应用型高校软件测试课程的改革思路,意在为企业培养优秀的应用型软件测试人才。

1应用型高校软件测试教学中的问题

1.1教学内容与教材的问题

现阶段大部分关于软件测试的教材都存在着一定的弊端,而且相关教材相对偏少。内容上大多是面面俱到,实际上缺乏实践性;重点不够突出,过分专注于理论,没有结合实际运用,忽略了实践应用能力,因此学生大多缺乏动手能力,达不到应用性的效果。

1.2课程定位不明确

现阶段,大部分高校缺少完整的软件测试课程体系,测试课程只是作为软件工程专业下设的一门课。因为课时非常有限,实践教学所占的比重更小,又没有实战项目,学生缺少积极性,在课程上投入相对较小。现实中,一个应用型的软件测试人才除了要掌握专业测试技能,项目管理经验和团队协作能力也必不可少。

1.3教学资源的局限性

1)师资力量薄弱现在大部分的教师对于这个专业并没有系统地学习培训,缺少在公司中开发大型项目的经验,这导致教师对这门课的讲授,大多停留在理论知识层面,很难让学生将测试作为一个整体项目来完成。使得学生掌握的技能和实际工作的要求有所偏差。2)教学案例过于简单目前高校采用的“项目教学法”和“案例教学法”,虽然有一定的效果。然而案例多是来自模拟的例子、教材和参考书、互联网及教师自己模拟的项目等。这些孤立于各个知识点的案例大多不能贯彻整个工作过程,学生在实际的复杂测试情境中,就很难将碎片化的知识点连贯成整条主线,来贯穿整个真实场景的测试工作[2]。3)实践能力薄弱大多数学生毕业后遇到“学不致用”的处境,这与实践教学环节中没有完整工作情境的实践训练有关。另外一般高校很难有动辄就要几十万甚至几百万的经费去专门建一个测试的专业实验室,因此任课教师往往会选择互联网的案例、自己编写的模拟的例子或者开源的测试软件。实际上,测试工作对专业动手能力和学习创新能力要求极高,这些能力都要在工程实践中培养。

1.4考核方式较单一

《软件测试技术》课程的考核通常以期末理论考试成绩和学生平时成绩作为学生最终成绩的主要依据,实验环节占的比例很小,这样会造成学生“轻实践”,不利于激发学生学习的积极性和主动性。

2基于应用型高校的软件测试教学改革

针对上述问题,我们进行一系列改革,建立了合理的《软件测试技术》课程教学体系,从而激发学生的兴趣,加强学生的动手能力,培养他们的创新精神,提升教师的教学质量。

2.1整合与优化教学内容

教师除认真挑选结构清晰、难易程度适中、有丰富实例的教材,教师平时还要注意将软件测试的科研实践和教学中积累的经验进行整理和提炼,作为教学内容的补充,通过网络电子书籍,了解软件测试最新的知识动态,适时补充到课堂教学中去。

2.2教学方法和教学手段的改革

1)带领学生关注行业发展,认清测试的重要地位,从而激发学习的积极性。当前学生大多忽略软件测试的整体战略地位,认为软件开发比测试重要得多。教师可以在课程开始给予纠正。比如可以介绍一些行业动态的网站,如51testing中国测试人才网,引导学生意识到企业测试岗位的巨大缺口和软件测试行业光明的就业前景,培养他们学习的积极性和主动性。同时要让学生知道,测试工作对知识及工程实践性的要求其实很高,测试人员不仅需要具备较强的专业技术知识,同时还需要学习、创新等方面的综合能力,鼓励学生主动、全面提高综合能力应对行业需求。在教学过程中还可以邀请软件行业的工程师到校做报告,让学生更清楚地知道职业要求和行业发展空间,从而更深地了解软件测试技术和职业,成为激发和促使他们主动学习的推动力。2)用讨论式教学讨论式教学是指教师预先设定讨论题目和要求,由学生分组讨论的一种互动教学方式。教师设计一些紧扣教学内容、具有多解性特点的问题,这样学生可以发散性思考不同的答案,然后进行答案的优劣性探讨。比如黑盒测试的等价类法和白盒测试的逻辑覆盖法,就很适合讨论式教学,通常学生对问题的理解和掌握程度不一样,设计出的测试用例也不同,即设计的结果各异,没有哪个设计绝对的正确,教师应合理地进行评价和鼓励。讨论的过程必然会使学生有更多的思维碰撞产生浓厚的兴趣。3)案例导入式教学测试课程需要理论性加实践性相结合,而学生没有项目测试经验,我们使用案例导入式教学模式来加深学生的直观感受,促进知识理解。比如在黑盒测试问题中,我们把典型的三角形案例带到等价类的划分;把NextDate函数问题引入于决策表法;把加法器的经典案例引入边界值分析法等等,案例引入式教学贯穿讲授过程,不仅能激发兴趣、提高主动性,还能提升思维模式和实践能力。案例引入时要注意技巧,例如准备讲授时先引出需要解决的问题,而不是急于讲解理论知识,引导学生带着问题去思考、学习,这样可以取得事半功倍的效果。4)校企合作办学,建立完善的软件测试人才培养体系(1)校企深度合作。学校秉承“出发于企业,回归于企业”的宗旨,与企业深度合作,在企业设立实习、实践基地,引入企业测试项目扩展教学素材,引进企业工程师丰富教学队伍,在教学中按照企业测试业务流程步骤、测试技术应用、测试管理流程,形成对教学有益的补充,锻炼学生的综合能力和职业素养。

同时,学生和企业结合更紧密,在最后学期的后两周,安排学生在校参加企业工程师组织的项目实训,通过学生身临其境的参与或自主完成整个软件测试过程,升华在“课堂学习”中掌握的知识,提升综合竞争力[3]。(2)建立完善的软件测试人才培养体系。根据市场对应用型人才的需求,我们打破了“重理论,轻实践”的传统观念,建成完整的课程体系,从案例进课堂,项目入实训到企业基地支撑实践形成了一个“循序渐进”的过程[4]。此体系有四个重要环节:教学,实验,实训,实践,如图1所示。a)软件测试的理论教学环节为32课时,主要内容有软件测试的定义、方法、流程、分类、质量保证到软件自动化测试进行系统讲解,明确理论知识重点、难点和学习目标。b)实验课共有24学时,采用周2+2的模式,由同一个教师授课,这样教师可以将学生在实践中使用的方法、步骤及遇到的问题放到理论课再进行讲解,使理论和实践融会贯通。实验的难易层次分为三个层次:基础性,综合性,设计性,三个实践环节构建了复杂度递增、阶梯式递进的实践教学模式。在此基础上,为了将技术和方法融合串接,强化分析思维及思考、实践能力,院系在期末增加了两周的课程设计,让学生完整参与项目的实施,并把课堂掌握的相关理论知识贯穿到测试的各个环节。软件测试理论和实验课程计划如表1所示。c)测试课程实践性强,院系设有专业实验室,在理论课堂上分组完成后,实验实训就在专业实验室操作。开始阶段,教师用十几分钟讲明本次的实验内容、方法及具体注意事项,并指明易错要点,同时强调实验来源的知识要点。如此,重要知识点的重复符合学生的记忆规律,理论与实践在“学中练,练中学”中完好的融合;学生手脑结合,不仅学得通透,在大大加强兴趣的同时,提高了他们的职业技能和综合素质。

2.3课程考核方式

软件测试综合评价的过程考核分成三部分:平时+期末考试成绩+实践能力。平时主要是作业、考勤和课堂提问等,期末用笔试方式考核理论知识的掌握情况,实践能力的考核主要是实验和综合实训,可以通过答辩的形式,采用学生讲解、演示测试过程、老师提问和小组讨论等方式,也可以将各小组实训测试案例分成多个模块,教师不断跟进测试过程,学生参照企业的测试标准给出完整的项目计划、项目测试用例、测试结果分析、测试总结报告等文档材料并定时汇报。这样既能促使学生掌握测试的基本原理,又注重学生的实践操作,采用综合评价的过程考核方式,有助于更加全面地评价学生的学习效果和实践能力培养[5]。

3结语

针对目前软件测试课程学生学后难以构建完整有序的知识体系结构、实践操作能力不足等问题,进行软件测试课程教学的研究[6]。通过优化教学内容、改革教学手段、教学资源、校企合作及改进考核方法等方面的研究,将软件测试课程的理论、实验、实训及实践有序推进,利用企业项目和标准使学生参与高质量测试实施的完整过程,促进了教师教学质量的提高,激发了学生学习的积极性和主动性,后续还须针对该研究内容的具体实施做进一步的研究推进。

参考文献:

[1]杨彬,吕刚,陈圣兵.能力导向的软件测试课程教学改革[J].计算机教育,2017(10):151-155.

[2]李海生.基于项目驱动的实践教学改革——以Java程序设计课为例[J].广西民族师范学院学报,2017,34(3):110-113.

[3]谢玲,陆坤,韩瑜.软件测试课程教学改革的探索与实践[J].实验室科学,2018,21(3):115-118.

[4]曹阳,顾问.基于CDIO理念的软件测试课程教学研究[J].软件导刊,2014,13(7):157-159.

[5]李晓红,王海文,任树华,等.地方普通本科高校转型发展中课程改革探索[J].计算机教育,2018(9):156-159.

[6]聂长海.关于软件测试的几点思考[J].计算机科学,2011,38(2):1-3,27.

作者:陈艳 单位:安徽文达信息工程学院