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

软件测试课程的建构

前言:想要写出一篇引人入胜的文章?我们特意为您整理了软件测试课程的建构范文,希望能给你带来灵感和参考,敬请阅读。

软件测试课程的建构

单一的软件测试课程只能简单罗列软件测试不同阶段的技术和方法,缺乏对知识的针对性和连贯性,学生很难理解不同的测试技术和方法在软件开发的各个阶段应该如何应用,导致学生只会死记硬背软件测试的条条框框而不懂如何活学活用。软件测试是一门实践性非常强的课程,然而测试工具和测试对象都是看不见、摸不着的软件产品,实践课程的组织和实施有较大的难度[2]。虽然大多数教师充分认识到了实践教学的重要性,在教学过程中也加强了实践的力度,但是由于没有考虑到大多学生没有参与过实际的软件开发的项目,没有接触过软件开发的流程,实践中选择的实验案例十分单一,缺乏领域结合,与真实工程相差较大。学生在学习过程中很难理解测试在软件开发中需要使用方法及其作用,很多学生因不能感性认识测试的重要性因此对课程缺乏兴趣。

案例教学是软件测试教学中的常用手段,对学生理解测试方法有着很重要的作用,但是目前高校教学普遍存在着教学案例陈旧过时,大部分教学都沿用了传统的教学案例。这些案例大都没有介绍软件测试的工程方法和实现过程,并且没有进行难度的区分,很难达到好的教学效果。

本专业的教师经过多年的实践,总结了大量的教学经验,按照实际工作中典型的工程师团队所需的各种技能知识为导向,按照复杂度渐增、螺旋递进的原则设置卓越软件工程师课程体系与内容,把传统的以学科知识的系统性为导向的横向课程体系改造为以个人职业角色发现和能力提升为导向的、适应团队教育培养的新型纵向课程体系。软件测试课程是软件工程卓越工程师培养课程体系的重要组成部分,课程总体跟随整体培养课程体系的大方向,并结合自身的特点进行建设。

1复杂度渐增式开设课程

在传统的以面向开发为主的培养模式下,测试课程设置单一,知识针对性连贯性不强。为了解决这些问题,在专业课程开设过程中将软件测试课程课程拆分,穿插到整个培养过程中,紧密联系软件工程其他阶段的课程,并且使用案例贯穿所有阶段,复杂度逐渐递增,让学生在学习过程中循序渐进,逐步建立学习的兴趣和信心。在第5学期分成两个阶段分别开设《单元测试与软件质量》和《软件验证与确认》。在第一阶段旨在培养学生小规模程序测试的能力不涉及复杂系统,以提高个人开发测试的基本能力为目标,学生可以运用测试课程中学习的方法在开发过程中使用,针对性强。第二阶段旨在培养学生对系统整体测试的能力,此时学生以完成基本开发能力的训练,其他相关课程的培养中也进入了系统级别。在该阶段以上一阶段培养的能力为基础,提高复杂度,跟软件开发其他阶段紧密结合。完成第5学期的测试基础课程开设之后,在第6学期还开设了《web软件测试》、《测试案例分析》、《数据库测试》等专业选修课,给有兴趣的学生提供更多的学习选择。

2基础与实践并重,充分利用虚拟实践平台课程

的开设充分考虑到测试重实践,并且与软件开发其他阶段联系紧密等特点;同时也考虑到了此时学生正处于学习阶段,直接参与实际项目对学生的学习并不能起到很好的作用,因此在课程学习阶段充分利用了校内软件实训基地,创建网上“虚拟企业”,引入企业管理模式,在这种虚拟平台下,针对基础的知识点开设虚拟项目[3],模拟软件测试的真实工程环境。学生在自己组合团队中有各自的工程任务,针对性实用性很强,学生能够在完成自己任务的同时感性的认识测试岗位工作,体会到软件测试在整个软件开发过程中的作用,将单项知识技能之间关联在一起,系统的运用专业知识和技能。

3采用螺旋式的案例教学,案例与其他软件开发阶段贯穿

课程采用螺旋式案例教学方法,教学案例与其他软件开发阶段贯穿,即针对同一个项目分解为基础与高阶的两个不同难度程度的案例,课程讲解的案例从需求分析,设计,实现,一直贯穿到软件测试,体现了软件开发连续的工程过程。同时贯穿的教学案例都是从高年级学生参与的实际开发的项目中提取,教师总结了在开发的过程中学生出现的各种问题,在案例讲解过程中更容易被学生所接受。教学案例一个阶段一个阶段的被不断完善,相比较传统的教学案例更加贴近学生学习实际,有一定的真实性又同时具备知识点针对性。

本教学团队在“卓越工程师教育培养计划”背景下,结合专业现状与社会需求,总结以往开设软件工程试验班的经验和教训,一直以来不断研究探索,逐渐形成一套适合的本校卓越软件工程师培养的课程体系。其中软件测试课程的建设既遵循了软件工程师培养课程体系的大方向,又结合了课程自身的特点,而本教学团队在今后的教学过程中还将不断的改进,遵循行业发展的需要。(本文作者:楚燕婷、阳小华、刘立、刘志明 单位:南华大学计算机科学与技术学院)