项目驱动软件测试实验教学改革的意义与方案探讨

2017-05-14 02:47林若钦
价值工程 2017年3期
关键词:项目驱动软件测试教学改革

林若钦

摘要:随着软件工程复杂度不断的上升,软件工程质量要求不断提高。传统的软件测试课程的教学已经不能满足时代发展的需要。从传统的软件测试实验教学出发,针对已存在的问题和实验教学的总体目标要求,探讨以项目驱动的软件测试实验教学改革意义与方案。以合理的课程体系分布,适当的实验内容的分布,满足人才培养方案的要求。

Abstract: With the increasing complexity of software engineering, software engineering quality requirements continue to improve. The teaching of the traditional software testing course can't meet the needs of the times. From the traditional software testing experimental teaching, aiming at the existing problems and the overall objectives of the experimental teaching requirements, this paper explores the significance of project driven software testing and experimental teaching reform, which with reasonable distribution of the curriculum system, the distribution of appropriate experimental content, can meet the requirements of personnel training program.

关键词:软件测试;项目驱动;实验教学;教学改革

Key words: software testing;project driven;experimental teaching;teaching reform

中图分类号:G642.0 文献标识码:A 文章编号:1006-4311(2017)03-0226-03

0 引言

软件测试在很早以前就是软件工程里的一个课程。但近几年来才被国内的软件行业及软件公司所重视。因而出现需要大量软件测试人员的需求。所以国内的很多高校因市场的需求,开设了相关的软件测试专业或方向。但很多学校的开设的软件测试的课程只停留在基本理论的学习,或者测试工具的介绍上,以至于毕业出来的学生只能满足最底层的测试工作。而较高要求的测试岗位很难招到人。所以培养“高素质、复合型”的软件测试人才,是学校的当务之急,软件测试的教学改革势在必行[1]。

1 传统测试课程教学存在的问题

教学课时少,课程结构单一。传统软件测试是以软件工程原理的一个章节来讲的。讲课的课时也就4个学分。老师授课只是对测试基本的概念及流程作讲解,内容偏重理论且抽象。学生理解和掌握难度比较大,在实际测试工作中无法入手。现如今对软件测试的工作越来越重视,对软件测试的工作要求越来越高。如此单一教学内容,让学生今后胜任软件测试的相关工作是不现实的。

重理论,轻实践。传统软件测试课程的教学一直以任课老师讲授以主,学生被动接受知识,在理论的教学过程中,授课老师重点讲解软件测试的基本概念、原理及方法。但软件测试的相关课程在实践方面要求有较强的动手的实践能力。如在讲解黑盒测试、白盒测试中的测试方法来设计测试用例时,实际使用过程中需要结合多种方法来保证测试用例的完整性,这需要引入实际的生产案例来练习。再如在讲解单元测试、集成测试时,在讲解单一类的测试、容器内的测试、数据库持久层的测试时,如果老师在授课时只是讲理论,没有引入实际的生产案例,学生很难体会到课程的挑战和乐趣,缺少主观主动性,学习效果较差。这样的教学质量难以保证,学生很难学以致用。

2 项目驱动教学的内涵

“项目教学法”最早见于美国教育家凯兹和加拿大教育家查德合著的《项目教学法》。“项目教学法”的理论认为:知识可以在一定的条件下自主建构获得;学习是知识、技能与行为、态度与价值观等方面的长进;教育是满足长进需要的有意识、有系统、有组织的持续交流活动。教育家陶行知先生说过:教、学、做应是一体化的,教、学、做是一件事,不是三件事[2]。

项目教学法由以下内容组成:有一定的教学内容,具有实际应用价值;能将理论知识和实际岗位技能结合起来;与企业实际生产或商业经营等活动有关系;学生可以独立制定计划并实施;学生可以运用所学知识克服、处理在项目工作中出现的困难和问题;有一定的难度,学生在完成过程中能掌握和运用新的知识和技能;要渗透情感、态度、价值观的培养;有明确而具体的成果展示,师生能共同评价项目完成情况和工作成果[3][4]。

3 项目驱动的软件测试实验教学的意义

以软件行业发展需要为依托,面向软件开发(敏捷开发)过程中对软件测试人才的迫切需求,以提高教学质量为核心,以教学改革为动力,以实现软件开发与测试的学生知识、能力与素质协同发展为原则,以培养学生实践能力为目标,结合学科优势,以主干课程建设为突破点,开展项目驱动软件测试实验教学改革与研究,构建和实践面向应用型本科软件测试人才的专业实验教学体系。具体的意义可归纳为以下四点:

①优化测试相关专业主干课程体系,打造以项目驱动软件测试实验教学的专业特色。测试相关主干课程体系优化与专业课程实验教学改革是项目的核心。专业主干课程体系的建设能直接反映专业课程建设的目的和培养目标,是提高人才素质和保障教育质量的核心环节,也是衡量教学水平和教学质量的重要标志[5]。因此,面向软件工程和软件实践背景,开展“项目驱动软件测试实验教学”,对于丰富和完善软件测试课程教学改革,培养适应软件测试行业中“高素质,高要求”的复合型、应用型管理人才,打造学科专业特色,形成学科专业竞争力,具有重要价值。

②以主干课程教学组织与团队建设为着手点。制定主干课程建设的方案和措施,通过课程示范作用,带动本专业相关其他课程的建设与改革。狠抓主干课程教材的选用与编写、教学大纲的制定、应用案例的编写、教学内容的精选、教学手段与教学方法的改革等环节,夯实了主干课程建设的基础,并为该专业今后教学改革奠定基础。

③以点带面,扩展软件工程专业实验教学体系。通过在主干课程中适当引入综合性实验、设计性实验、软件工程案例分析,可加强学生的实践技能、创新意识和团队精神的培养,提高学生的综合运用能力和竞争力。从长远来讲,这项成果会进一步提高我校该专业的人才综合素质, 进一步提高该学科专业综合竞争力。

④扩大毕业生就业率及提高就业档次。通过该项目的建设,希望能推动该学科专业课程体系的优化,改善广州大学该专业本科学生的知识结构,提高软件测试学生的综合素质和专业技能,扩大毕业生就业率及提高就业档次。

不管是站在专业学科建设的角度,还是站在学生培养的角度,从培养“高素质、复合型”的软件测试人才、解决学生就业的目标来看,教学改革研究均具有重要的意义,有必要开展系统、深入的研究。

4 项目驱动的软件测试实验教学改革方案

以培养“高素质、复合型”的软件测试人才为目标,以专业主干课程体系优化主干课程教学团队,强化主干课程配套的实践教学环节,构建了理论教学和实践教学相结合的、 “测试理论+测试方法+测试工程”三位一体的主干课程培养体系,并开展长期的跟踪实践,努力在应用型创新人才培养模式上形成自身的专业特色,完善“强基础、重能力、多样性、个性化”的人才培养方案。

4.1 软件测试的课程体系的建立

随着软件行业对软件测试重视,软件测试对从业人员的要求也越来越高。传统的教学内容已经不能满足就业人员的需要。需对软件测试的课程体系进行扩展、优化。如图1软件测试教改实践课程体系所示。

软件测试基础:本课程从理论和实践两个层面引导学生学习软件测试的基础知识,涵盖软件测试的思想、流程和方法,主要内容包括软件测试的基本概念和基本原理、白盒测试方法、黑盒测试方法以及面向对象软件测试等知识点。

高效单元测试:课程以最典型的单元测试框架JUnit为例讲述了单元测试的方法和最佳实践,介绍了在java软件开发中使用junit进行测试的原则、技巧与实践,深入阐述如何编写自动测试。课程讨论了实践中的测试技术,主要内容包括:用mock objects进行隔离测试、用ant和maven进行自动构建、Cactus进行容器内测试的方法、对java应用程序、数据库应用程序等进行单元测试,以及Parasoft Jtest的使用。

WEB项目应用测试:由浅入深、全面、细致地阐述了如何使用开源测试工具来完成Web自动化测试,便于学生轻松掌握Web自动化测试的原理、方法和实际操作。课程将教如何使用Selenium、WebDriver、Jmeter、Badboy搭建起一整套稳定、高效、低成本的自动化测试平台。结合应用实例展示web应用项目测试的过程。

软件测试质量与保证:软件测试质量与保证是面向软件测试方向一门专业必修课,在学习软件测试基础理论与技术的基础上,加强对软件质量的认识及质量保证的重视,主要从软件质量的概述、软件质量工程体系、软件质量度量、软件可靠性测试、软件质量标准、全面质量控制等多方面展开对软件质量保证的深入学习。

性能测试与优化管理:从测试项目实战需求出发,讲述了性能测试技术和软件性能测试工具应用的实战知识。引入项目案例,详细讲述性能测试方案实施、性能测试计划制定、性能测试用例设计、性能测试脚本开发、性能总结、性能优化管理及相关交付文档。

软件测试综合项目实训:本课程综合应用软件测试方向各门专业课程,以一个实际案例贯穿整个教学过程,使学生对软件测试的过程有深刻地理解,包括测试需求的获取、制定测试计划,设计测试用例,测试执行、测试缺陷、测试评估及报告,并在实训过程中加强对团队协作的体会及文档的协作能力。

移动应用程序测试:本课程将从实际应用角度出发,以智能终端和4G业务规划为基础,介绍手机测试的方法和实践技术,主要内容;手机设备软硬件的现状与趋势,手机软件测试用例设计技术与方法,手机软件体系结构与手机软件测试技术和常用测试工具。

4.2 项目驱动实验教学的实施方针

由于课程深度的不同,项目驱动实验教学的方针与过程也不同。其主干课程项目驱动实验教学的实施方针如下:

《软件测试基础》由于是基础课程,课程涉及的基础概念比较多,且为低年级的学生。所以实验教学的案例要以单独、经典的小应用实例为主,以巩固和强化理论知识为目的。

《高效单元测试》软件测试专业课。课程涉及代码级软件测试方法与技术。课程从应用程序的角度可分为三个方面的单元测试:表示层单元测试、运用层单元测试、数据层单元测试。从这三个方面再拆散成若干个小实验以便对应相应的理论知识。在实验案例选择的原则要以高年级完成的课程设计或毕业设计为主,其原因是这样的项目实例学生能更好的理解,上课的更有效果。

《WEB应用项目测试》软件测试专业课。课程主要讲解Web自动化测试的原理、方法和实际操作及测试工具的使用。在项目驱动实验教学实例的选取了一些比较完善并同学比较熟悉的系统,比如学院的信息管理系统或学院的邮件系统。学生对这些系统的业务比较了解。做自动化测试比较容易上手。

《软件测试综合项目实训》是一个以实际案例贯穿整个教学过程,以学生为主,教师为辅的综合项目实训课程。在实验教学的实例选取上要求要接近企业的工作要求。所以项目组在设计用例时,直接向相关校企合作单位,要来需求和被测项目,并设计成实验教学,以便学生在最接近现实的环境中作项目实训。

《移动应用程序测试》软件测试选修课。课程主要讲解移动测试的原理、方法和实际操作及测试工具的使用。在项目驱动实验教学实例的选取上,把学校组织参加比赛的移动应用项目拿来测试,这个项目影响较广,学生对业务比较了解也比较。

5 小结

如何正确处理系统性理论知识体系与学生实际能力培养之间的矛盾?其解决的基本途径是:重视实际能力培养,强化软件测试工程案例教学,重视课程配套的课内课外各种实践教学,强化学生人文素质培养。只有这样,才能解决学生专业知识面过窄、适应能力差、满足不了高要求的根本问题。如何搞好主干课程体系建设和主干课程师资队伍建设,其解决的基本途径是:以测试相关主干课程和教学团队建设着手点,建立完善的主干课程体系,发挥主干课程的带动效应,可达到以点带面效果,解决课程教学内容不先进、教学方法单一、教学手段落后、教师业务能力不强等问题。

参考文献:

[1]宰光军,任两品,刘燕.复合型软件测试人才培养模式的探索与创新[J].计算机光盘软件与应用,2012(20).

[2]张世泽,刘同先,丁升选,吕淑敏.浅议项目教学法在我国的发展、应用和建议[J].教育教学论坛,2014(50):168-169.

[3]郑春瑛,郭伟青.项目教学法在管理信息系统课程中的应用探讨[J].中国职业技术教育,2007(22).

[4]侯占军,葛竹春,胡晓旭.项目驱动教学法在《管理信息系统》课程教学中的应用与研究[J].金融理论与教学,2010(2):76-77.

[5]祁克宗,刘红梅,涂健,张丽霞.以专业主干课程建设为核心推进教学内容与课程体系改革[J].高等农业教育,2006(10):54-56.

猜你喜欢
项目驱动软件测试教学改革
基于OBE的软件测试课程教学改革探索
EXCEL和VBA实现软件测试记录管理
关于软件测试技术应用与发展趋势研究
基于“红色之旅”项目驱动的《调酒与咖啡》工作室制人才培养机制探讨
软件测试工程化模型及应用研究