《软件测试》课程教学方法的探索

2019-03-14 14:02马阿曼
武夷学院学报 2019年12期
关键词:软件测试课程目标软件

马阿曼

(武夷学院 数学与计算机学院,福建 武夷山 354300)

现今人们对软件产品需求的日益增长,人们生活越来越离不开软件,软件产品在我们的生活中越发重要,软件产品的质量要求也越来越高,导致软件测试被需要程度的提高,软件测试已经变得不可缺少。如果软件带着一些未揭露出的隐藏着的错误投入运行,这就意味着增大了用户承担风险的可能。

软件测试是对软件产品采取人工或自动手段进行验证和确认的过程,尽早尽快发现软件产品在整个开发过程中存在的缺陷,是软件质量保证的重要基础。软件测试实验性强,软件测试人才培养需要开展全面综合的实践实训。目前很多高校的计算机类专业均开设了这门课程,并配有一定学时的实验或独立安排软件测试实践课程[1]。目前培养出的计算机专业的学生不能满足软件测试人才的大量需求,同时培养的学生普遍懂的测试理论,而测试动手能力弱。因此我们的学生大多不能很好的使用自动化测试工具完成测试管理任务,学生的能力不能满足企业软件测试岗位需求[1-3]。

提出结合学校定位目标地方性、应用型本科培养为导向,通过对课程目标、课程内容以及教学模式的改进来提高软件测试测试课程的教学效果,期望获得更好的针对软件测试课程学生的应用、实践能力。

1 软件测试课程建设现状分析

《软件测试》是武夷学院计算机科学与技术专业一门实践性很强的必修课,旨在让学生掌握软件测试的基本理论和基本方法。能够根据需求规格说明书和程序代码设计测试用例,能选择并运用测试工具进行测试,并进行测试报告的撰写。了解工程项目中软件测试的实施策略和实施过程,并进一步增强学生软件质量管理的意识。了解和掌握现代各种新的软件测试技术和主要发展方向。重点培养学生软件测试中的分析问题、解决问题、测试能力等软件测试所需技术;计算机测试系统项目管理、有效沟通、领域整合和团队合作能力;发掘、分析和应用计算机科学与技术相关领域研究成果及应对复杂且综合性工程问题的能力[3-4]。

目前《软件测试》课程总学时60学时,采用理论知识讲解、实验验证和综合设计性实验结合的传统模式,并且全部课程都安排在实验室进行。实际的教学后我们发现,尽管我们的课程是安排在实验室进行的,有充足的软件测试实验课时,但是从学生的学习效果来看学生对软件测试知识掌握不好。对软件测试课程的教学从学生、教师的角度以及实验环境等方面进行分析总结发现问题。

(1)教学的内容基本上只是简单的介绍软件测试的理论知识、测试方法,并没有详细的介绍。知识点比较独立,学生不易理解,同时也没有将理论知识和测试方法通过融入到具体的项目案例中进行详细介绍软件测试的过程,造成理论与实践相互脱节。课程内容更多的突出理论知识讲解,弱化了实践实训的内容,从而导致学生学习的知识无法灵活运用,对所学的理论知识不能很好的掌握和应用。

(2)从学生的角度,我们的学生是春季招考的学生,学生的总体水平相对会弱一些,同时学生的个体学习水平差异比较大。那么在具体的课程内容的设计时如何才能妥切的识别区分学生的实际差异,实施因材施教,对授课老师来说难度较大。

(3)缺乏基于应用场景的典型案例和贯穿整个测试过程的案例。学生在学习测试相关理论知识的同时虽然有实例的讲解以及案例的实践但是都是零散的,针对某个知识点的实践操作。比如软件在开发的不同阶段对应有单元测试、集成测试、系统测试等,每个测试阶段涉及到的理论知识、测试工具都不同。学生在学习时虽有针对各测试知识点选择测试工具进行测试实践,但是由于案例较少,当学生面对实际测试项目进行测试时,由于不能灵活运用测试方法和理论知识,导致学生在做测试时比较盲目,不够系统。

(4)教学模式传统没有创新。课程教学组织仍然是以教师为主导的“课堂教学+机房实验+课后练习”[5]的教学模式,教学过程中缺乏学生为主导的互动和实践,教学过程的实施都是按照教师讲解—学生实践—课后练习。教与学,学与做都是独立分开进行,不能很好的融合统一,因此影响了实践教学效果和学生专业实践能力的培养。

(5)学生对软件测试这门课程的学习兴趣不高、对软件测试行业的发展前景及职业需求定位不明确以及对软件测试这门课的错误理解,认为学习软件测试没有什么前途等原因导致学生的学习兴趣不够高,目标不明确。同时,本课程是在大四的上学期开设,学生既有就业的紧迫感同时对待课程的态度还是以通过考试为目的,不能主动深入的学习。虽然教师也有在教学过程中强调软件测试课程的重要性但是学生普遍缺乏学习的积极性和兴趣。最终对软件测试课程教学带来极大的负面影响,从而影响了软件测试这门课程的教学效果。

2 课程改革(突出地方性、应用型)

学校的总体定位为地方性、应用型、有特色,其中包含应用型。所以在软件测试课程的教学目标中要突出地方性定位,充分结合应用型和有特色的培养方案进行课程改革。以软件测试课程的教学目标不仅要使学生掌握软件测试的基本理论和基本方法,还能熟练使用一些常用的测试工具,了解软件工程软件项目中软件测试的实施策略及实施过程,增强学生软件质量管理的意识。了解和掌握一些软件测试技术的新技术和发展方向,在课程的内容安排也要结合地方应用性。为学生将来从事实际软件测试工作和进一步深入研究做好的理论基础和实践基础。

2.1 确定目标(职业技能目标—课程目标—知识内容目标)

需要先确定目标,所以目标的确定对于软件测试这门课程至关重要。这门课程需要明确的几个目标包括职业技能目标,课程目标,知识内容目标。

(1)职业技能目标学生需了解软件测试这个职业的现状、发展前景,对软件测试职业有个正确的认识从而提高学习兴趣。

(2)课程目标的确定有利于学生在学习过程中有所侧重,不会那么盲目,理清学习的最终目标。课程目标的具体要求如下图1所示。

表1 课程目标Tab.1 Course objectives

(3)知识内容目标的确定对于学生清楚自己将要学习的内容,以及如何安排自己的学习,制定学习计划,很重要。知识内容如图2所示。

图2 目标知识内容图Fig.2 Target knowledge content map

2.2 教学内容改革(课程内容—理论及软件测试工具—目标能力)

对教学内容进行合理的改革与组织是非常重要的,教学内容就是我们教学的命脉。如果教学内容设置不合理将会影响课程教学质量影响学生学习效果,因此,需要结合实际情况,合理的改革课程教学内容。教学内容结合以地方性、应用型本科培养为导向,结合职业目标、课程目标、知识内容等进行安排。软件测试课程涉及的内容知识点比较多,实践性要求比较高,所以在课程内容的安排上要注重结合知识点进行实践操作同时由于自动化测试的不可缺少性,结合本专业学生实际情况在针对相应知识内容以及测试过程中对自动化软件进行学习实践。软件测试课程的内容安排以及培养的目标整体的思路如图3所示。

图3 知识结构Fig.3 Knowledge structure

2.3 教学模式改革(项目实践+其他课程结合+创新竞赛)

软件测试是一门实践性非常强的课程,很多知识学生只有通过亲身体验,实践操作才能掌握,因此,软件测试实践实训在软件测试课程教学改革中起到至关重要的作用。在教学中注重理论教学和实践教学的有效结合,以学生为主体进行项目实践。又由于软件测试课程各知识点之间的逻辑性不强但是实践性要求高,且对学生动手编程能力、分析问题、判断能力等要求比较高,课程在整体教学设计方面不够完善,侧重测试技能的培养。结合其它方面的能力培养即全面能力的培养方面会相对弱一些,所以在理论结合项目实践的同时也要结合其他所学课程(如:Web应用开发,Windows应用开发,软件工程)可以在这些课程的学习过程中把软件测试的知识得以应用和实践,能结合其它课程所学知识得以应用实践,拓宽了软件测试项目实践内容,保证了学生对软件测试知识的理解和掌握,提高了学生的学习效果。

其次在有可能的情况下可以尽量参与一些软件测试相关的比赛,拓宽了学生的视野同时也把所学习的知识得以应用提高。对学生学习这门课起到鼓励积极的作用。从而为学生的全面发展打下良好基础,提高教学效果,达到培养目标要求。教学模式改革如图4所示。

图4 项目实践模式Fig.4 Project practice pattern

2.4 教学资源改革(项目实践案例改革)

目前由于人们对软件质量的关注度提高,国内很多高校都相继开设了软件测试及质量保证有关课程,同时很多高校纷纷开设了软件测试课程,以期培养更多的软件测试人才来满足社会发展对软件测试人员的需求。这门课程技术性比较强,社会需求也是逐年上升。我们学校软件测试这门课程也是近几年才开设的。这门课程知识更新较快,涉及的知识内容较多,和企业的联系也比较紧密,我们的教学资料大多数都只是注重测试理论知识的讲解,对测试方法、测试用例的应用、完整系统的项目测试案例也是比较匮乏,对企业的实际需求有些脱钩。所以在对课程进行改革时需要我们补充充足的项目实践案例以及和企业建立联系来满足培养目标需要,满足社会对学生的需求。切实做到学生“毕业即能上岗,上岗即能操作”[6]。针对我们学校目前的情况,我们的具体的措施有四个方面。

(1)教材选择(选择实践项目、自动化测试工具比较完整的)。

(2)项目实践(综合学生Window应用开发以及Web应用程序开发的综合项目、借用完整系统基于场景的测试项目言若金叶软件研究中心的测试系统)。

(3)针对学生的学习实际情况编写测试软件,补充实际的教学资源。

(4)增加校企合作(目前我院也与多家企业进行合作,一是教师进企业,让一线代课老师去企业参与企业实际项目测试进行学习,一是企业进学校,企业进入学校搭建测试环境,引入测试案例,集中培训)。

2.5 课程考核改革(作业+实践操作+理论知识+学习态度)

软件测试课程实践应用性比较强,如果我们只是单凭试卷考核对学生进行期末的评价不能完全反映学生的实际测试水平和能力,因此对于课程考核进行改革。软件测试课程考核采用综合考核的方式进行,综合考核由期末试卷考核和平时考核两大块组成。采用综合评价考核方式,比较注重学生的学习过程和实践操作过程,有利于合理全面的对学生的学习效果实践能力评价。也为后期的教学提供改进的依据。考核评价的各项指标以及百分比见表1。

表1 课程考核各项比例Tab.1 Programme assessment ratios

2.6 兴趣提高、行业前景、职位需求定位

对于学生对软件测试这门课程的学习兴趣不高、对软件测试行业的发展前景及职业需求定位不明确等问题解决的时候全部融合1至5点的改革措施一起,这样效果可能更好。

3 总结

综上所述,人们的生活离不开软件,软件的质量要求也越来越高,社会对软件测试的需求也越来越多。软件测试越来越重要,所以进行《软件测试》课程改革也是势在必行。对于《软件测试》课程的教学改革要结合学校定位,课程目标,学生的实际情况进行,并增加和企业的联系以及创新竞赛,优化各项教学资源的配置,提高我们学院软件测试课程教学改革效果,提高课程教学效果,提高学生学习兴趣,培养更多符合社会需要的专业人才。

猜你喜欢
软件测试课程目标软件
《计算方法》课程的“面向产出”评价改革实践
软件测试方向人才培养“1+X”融合研究
课程目标来源理论的批判与重建:从“小三源”论走向“大四源”论
禅宗软件
基于工程教育专业认证的课程目标达成度定量评价研究
——以信号与系统课程为例
基于OBE的软件测试课程教学改革探索
航天软件测试模型构建与应用
一种将课程目标关联到毕业要求的评估方法
软件对对碰
关于 Web 应用系统的软件测试的研究