Advances in Education 教育进展, 2011, 1, 63- 68 http://dx.doi.org/10.12677/ae.2011.12013 Published Online July 2011 (http://www.hanspub.org/journal/ae/) Copyright © 2011 Hanspub AE TOPCARES-CDIO Motivated Practical Teaching System Exploration for Engineering Education of Software Testing Majors Fasheng Wang, Yaohua Xiong, Qua n Guo Department of Computer Science and Technology, Dalian Neusoft Institute of Information, Dalian Email: wangfasheng@n eu so ft .edu.cn Received: May 30th, 2011; revised: Jun. 5th, 2011; accepted: Jun. 11th, 2011. Abstract: In this paper, we take active exploration on the reform of practical teaching system for software test- ing majors, according to the NEUSOFT-featured TOPCARES-CDIO engineering education philosophy. We proposed to construct a first-level project based practical teaching system, which takes full account at all levels of ability index assessment requirements, and three levels projects are set to enhance the ability of students to engineering practice. We also introduced the teaching mode and accessing methods used in the new- ly-constructed practical teaching system, taking the teaching practice of the third leve l project of the core course “Automatic Testing Tools” as an example. We made analysis on school-enterprise cooperation and training platform constructing practice, and discussed the out look of t he school-enterprise cooperation act ivities. Keywords: TOPCARES-CDIO; Software Testing; Practi cal Teaching; School-Enterprise Cooperation TOPCARES-CDIO 引导的软件测试方向实践 教学体系探索 王法胜,熊耀华,郭 权 大连东软信息学院计算机科学与技术系,大连 Email: wangfasheng@n eu so ft .edu.cn 收稿日期:2011 年5月30 日;修回日期:2011 年6月5日;录用日期:2011 年6月11 日 摘 要:本文结合东软特色的 TOPCARES-CDIO 工程教育理念,针对软件工程专业软件测试方向实践 教学体系进行了积极的探索,提出构建以一级项目贯穿的实践教学体系。该实践教学体系充分考虑了 各级能力指标的考核要求,设置了三级、二级和一级项目,提升学生工程实践能力。文中结合本专业 方向核心课程《自动化测试工具》三级项目的教学实践,对本专业方向实践教学体系的教学模式和考 核方法进行了介绍,并对本专业方向开展校企合作、共建实训平台的实践进行了分析和展望。 关键词:TOPCARES-CDIO;软件测试;实践教学;校企合作 1. 引言 软件测试是提高软件产品质量的关键步骤,它是 伴随着 IT 产业的发展而出现的。根据 51testing 网站 的最新发布的 2010 年软件测试从业人员调查报告,越 来越多的软件企业设置了测试工程师岗位,而且测试 人才面临巨大的缺口[1]。高等院校作为软件人才的重 要输出基地,每年为 IT 产业提供了充足的人力资源保 障。但由于软件测试起步比软件工程要晚,所以国内 高等院校几乎没有制定专门培养软件测试人才的专业 培养方案。而学生掌握软件测试相关知识,也仅仅是 通过《软件工程》课程中关于软件测试知识的介绍, 或者是通过《软件测试》课程。大部分高校在软件测 试课程教学中以理论为主,学生也很难在这类课程中 掌握实用的软件测试技术,进而在求职过程中也难以 应聘对测试要求较高的测试工程师岗位[2]。基于以上 背景,我院于 2008 年在软件工程专业中设立软件测试 方向,制定了科学系统的软件测试人才培养方案。在 软件测试人才培养方案中,实践教学体系的建设是重 中之重的环节,对于提高学生实践水平,提升就业竞 TOPCARES-CDIO 引导的软件测试方向实践教学体系探索 Copyright © 2011 Hanspub AE 64 争力具有至关重要的作用。 CDIO 工程教育模式是近些年来国际工程教育领 域改革的最新研究成果。从2000 年起,美国麻省理工 学院和瑞典皇家工学院等四所大学组成的跨国研究小 组提出了 CDIO 工程教育理念,并成立了以 CDIO 命 名的国际合作组织。CDIO 四个字母分别代表构思 (Conceive)、设计(Design)、实现(Implement)和运作 (Operate),它以从产品研发到产品运行的生命周期为 载体,让学生以主动的、实践的、课程之间有机联系 的方式学习工程。CDIO 教育理念引导的培养大纲将 工程毕业生的能力分为工程基础知识、个人能力、人 际团队能力和工程系统能力四个层面,要求以综合的 培养方式使学生在这四个层面达到预期目标[3]。 我院基于“教育创造学生价值”的理念,在继承 CDIO 工程教育理念的基础上,创造性地将 CDIO 理念 中国化和本校化,在充分考虑学生、教师、产业和社 会等利益相关者的需求的基础上,结合我国高等教育 的现实和 IT 行业的人才需求标准,针对学院专业的设 置情况,对 CDIO 能力培养大纲进行了继承基础上的 创新,提出了具有东软特色的 TOPCARES-CDIO“八 大能力”指标体系,其中每一个字母代表一种能力: Technical knowledge and reasoning(技术知识与推理能 力)、Open minded and innovation(开放式思维与创新)、 Personal and professional skills(个人职业能力)、 Communication and teamwork(沟通能力与团队工作)、 Attitude and manner(态度与习惯)、Responsibility(责任 感)、Ethical values(价值观)、Social contribution by application prac t i ce(应用创造社会价值)[4],如图 1所示。 东软特色的 TOPCARES-CDIO 项目被划分为四 级,其中,一级项目(压顶石项目)是包含本专业主要核 心课程和能力要求的综合项目,重点培养学生的专业核 心能力;二级项目(课程群项目)是指基于多门课程、包 含一组相关核心课程能力要求的课程群项目;三级项目 (课程项目)是指单门课程内为增强该门课 程能力目标 的实现而设的课程项目;四级项目(单元组项目)是指基 于一门课程的两个以上单元(模块)能力要求、为强化课 程能力目标而设计的单元组项目。在本专业实践教学过 程中,我们提出了一、二、三级项目为主体的实践教学 体系,贯穿学生的四年学习,真正将学生学习的每一门 专业课程串联起来,让学生学有所用。 2. 现状分析 现阶段,高等学校软件工程专业所开设的《软件 测试》或者《软件测试技术》课程基本是以理论教学 为主。整个教学过程中,贯穿始终的是软件测试基础 理论以及测试用例设计方法,如黑盒测试用例设计方 法、白盒测试用例设计方法等。但整个教学过程缺乏 实践环节的训练,导致学生在学习完理论知识之后, Figure 1. TOPCARES-C D IO a b i l i t y i n d e x s ys tem 图1. TOPCARES-CDIO能力指标体系 TOPCARES-CDIO 引导的软件测试方向实践教学体系探索 Copyright © 2011 Hanspub AE 65 不知道如何将其运用到软件测试的实践中。同时,教 学过程中对于主流的自动化测试工具的使用很少涉及 到,尤其是惠普公司的功能自动化测试工具 QTP、自 动化性能测试工具 LoadRunner,IBM 的RFT、RPT、 Robot,以及一些开源的自动化测试框架,如 JUnit、 NUnit、CPPUnit、HtmlUnit、HttpUnit 等。这些自动 化测试工具受到很多软件公司的青睐并得到广泛的使 用,但是应届毕业生不会使用类似的自动化测试工具, 不能进行相关的测试脚本开发工作,这很显然不符合 企业的要求。因此,高等院校软件测试人才的培养迫 切需要进行实践教学的改革,提高工程实践在软件测 试相关课程及人才培养实践教学体系中的重要性[5-6]。 大连东软信息学院是实践教学的先行者,软件测 试方向设立之后,按照我院其他专业方向的实践教学 体系制定了测试方向实践教学体系,分别在在大一、 大二实践学期和大四上学期设置了概念实习、技能实 习、项目实训等实践环节,如表1所示。 但在引入 TOPCARES-CDIO工程教育理念之前, 软件测试方向的实践教学体系中的各环节相对独立, 与课程脱节现象比较严重。在实践学期设置的实践项 目没有考虑学生的先修课程,导致学生在实践过程中 难于上手。而且各学年实践学期的实践项目之间相互 独立,没有连续性,学生在做实训项目时仍然无法将 课程中知识应用到实际项目中来,各实践项目很难取 得预期的教学效果。 3. TOPCARE-CDIO引导的实践教学 体系改革 根据 TOPCARES-CDIO 教育理念的要求,软件测 试方向专业人才培养方案的设置以各能力指标为导 向,以压顶石项目开发为目标,优化课程体系,构造 科学的实践教学体系。通过四年不断线的一级项目“公 共图书管理系统”及其导引课程,以及各学年的实践 学期二级项目、课程三级项目等一系列实践项目, Table 1. Form er practical teaching system of software testing majors 表1. 早期的软件测试方向实践体系 实践类别 学期 学时 备注 概念实习 3 80 C语言项目开发实践 技能实习 6 80 Java + JUnit实践 项目实训 9、10 230 Web 开发与测试实践 使学生系统地掌握软件测试与质量保证领域的基本理 论和基本知识,掌握现代软件工程设计、开发和测试 技能,掌握软件测试的策略、方法和自动化测试工具 的使用,增强学生就业竞争力。 在进行实践教学体系改革过程中,本专业方向建 设团队深入知名 IT 企业,如海辉、东软、华信、IBM 等,进行调研座谈,从行业一线了解企业对人才的技 术能力及软素质的需求,明确了面向就业岗位,以“基 于工作过程的课程观”为指导,融入产业、行业、企 业、职业、实践的要素的软件测试方向实践教学体系 构建思路。通过调研,我们对软件测试工程师工作过 程的各个环节进行认真分析,提炼知识点,明确知识 点与课程的对应关系,突出核心主干课,以 TOPCARES-CDIO工程教育模式为导引进行一体化课 程设计,形成以应用能力培养为特征的结构合理、特 色鲜明的实践教学体系。 3.1. 一体化、层次化实践教学体系的构建 首先,摒弃传统的教育观念,树立新的教育思想, 在原有实践教学体系上进行改造,构建与理论教学相结 合的、相对独立的实践教学体系,以充分体现工程教育 中课程体系设置是根据企业工作岗位的实际需要的特 点。只有建立了相对独立的实践教学体系,使实验、课 程设计、实训、毕业设计各环节循序渐进地进行。才有 可能以实践教学为中心。实践教学才不会成为理论教学 的附属品,实践教学环节才会真正发挥其作用。实践教 学要贯穿于整个专业学习过程,为此我们设计了如图 2 所示的一体化、层次化的实践教学体系。 以上各个层次之间环环相扣,层层递进,形成从 点到线再到面的立体实践教学体系。一级项目是一个 Figure 2. Architecture of practical teaching system for software testing majors 图2. 软件测试专业实践教学体系架构 TOPCARES-CDIO 引导的软件测试方向实践教学体系探索 Copyright © 2011 Hanspub AE 66 具体的设计和研究开放型项目。二级项目是基于课程 群的项目,围绕软件测试专业;三级项目是在每门核 心、主干课程上设定的课程级项目,要求学生找到解 决问题的方法,培养团队合作能力。前三个年级的实 训内容“定制”组织,以“流水线”方式渐次推进, 内容与要求渐次深入、提高。其中一级项目实训在校 内实训中心进行,在项目实训阶段以实际项目进行训 练,采用企业式的管理模式。毕业设计在校外实践基 地或者企业实习单位完成,从而形成人才培养与生产 劳动和社会实践相结合的人才培养模式。二级项目设 置在各实践学期,采用集中式项目实践,每个二级项 目共四个周的时间完成。三级项目的设置与专业核心 课程为主,贯穿课堂教学的全过程。课程大纲的设置 同样以 TOPCARES-CDIO中要求的指标为导向,围绕 三级项目进行知识点的延伸与讲解。整个大学阶段的 实践课程以毕业设计收尾,让学生独立完成相关系统 的开发与测试工作。软件测试方向各级实践教学项目 设置如表 2所示。 Table 2. Practi cal projects of different levels 表2. 各级实践项目设置 序号 项目等级 项目名称 学期 1 1级 软件测试项目导引一 1 2 1级 软件测试项目导引二 3 3 2级 C语言编程实践 3 4 1级 软件测试项目导引三 6 5 2级 软件测试技术项目训练 6 6 2级 软件测试项目实战 9 7 1级 软件测试项目实训 10 8 3级 个人计算机的硬件组装和软件配置 1 9 3级 学生成绩管理系统 V2.0 1 10 3级 典型毕业设计文档的制作 2 11 3级 学生成绩管理系统的设计与实现 2 12 3级 校园导游系统的设计与实现 2 13 3级 家谱管理系统的设计与实现 2 14 3级 学生成绩管理系统开发 4 15 3级 Web服务器综合配置项目 4 16 3级 虚拟模型机的设计 4 17 3级 µC/OS-II操作系统的进程调度模块源码分析 5 18 3级 校园网规划与设计 5 19 3级 图书管理系统的设计与实现 5 20 3级 人力资源管理系统的设计与开发 7 21 3级 基于MVC 模式的动态网站开发 7 22 3级 计算机系平台的测试 7 23 3级 资源共享平台系统的分析与设计 7 24 3级 计算机系平台的质量保证 8 25 3级 多线程编程方法学实践项目 8 26 3级 自动咖啡机的开发 8 27 3级 网上书店系统的功能及性能测试的设计与实现 8 28 3级 自选综合实例设计 8 同时,为保证实践教学高质量地的开展,需要研究 开发一套适用于实践教学中使用的指导规范、文档以及 具体案例。包括:《教师参考手册》、《学生参考手册》、 《实验环境实施手册》、《项目需求规格说明书》、《项 目开发规划》、《团队开发规范》、《系统设计报告》、 《代码规范》、《测试计划》、《测试大纲》、《测试 报告》等。可以借助项目管理软件,辅助达到对学生实 训过程进行监控和管理的目的。 3.2. 实践教学模式的改革及案例分析 在实践教学的模式上,我们改变大多数院校延用 普通教育以课堂教学为主体、理论和实践教学分开进 行的教学模式,在教学模式的研究和创新上下功夫。 通过问题驱动、案例驱动、项目驱动等灵活多变的教 学方式,有利于激发学生自主学习的热情,培养学生 的创造性思维的教学模式,使学生在项目中体验软件 测试的生命周期,在“做中学”中快乐、主动的掌握 知识。在考核方式上,采取灵活的多渠道考核方法, 弱化期末考试,重平时实践过程,重团队合作及自我 学习和创新能力的培养,这样不仅可以为学生思想上 减负,提高学生学习兴趣,而且可以提高学生独立学 习和分析及解决问题的能力。 以本专业方向核心课程《自动化测试工具》三级 实践项目“网上书店系统的功能及性能测试的设计与 实现”为例,该课程属于本专业方向的特色核心课程, 是学生了解和掌握自动化测试理论及工具使用方法的 重要课程。本课程以功能测试自动化和性能测试自动 化为主要教学内容,介绍自动化测试理论及自动化工 具的使用。课程以实践为主,理论结合,学生通过实 践操作,可以掌握自动化测试理论及测试工具中的关 键技术,为成为一名测试工程师打下基础。课程三级 项目的选择以学生比较熟悉的“网上书店”作为案例。 该三级项目实践进程图如图3所示。 整个教学过程中,以学生自己动手操作为主。任 课教师对学生进行指导,在每一个实验结束后,任课 教师对实验进行总结,对实验中存在的共性问题进行 讲解,同时讲解每一个实验中涉及的知识点,以加深 学生的理解。在“录制、执行测试脚本,分析测试结 果”实验中,教师应有针对性的加强对学生的指导。 由于学生使用 QTP所做的第一个实验,实验过程中会 TOPCARES-CDIO 引导的软件测试方向实践教学体系探索 Copyright © 2011 Hanspub AE 67 QTP实践 QTP应用 实践 功能测试 用例设计 功能测试 实施方法 性能测试实 施方法 LoadRunner 实践 MercuryTours网站性能测试 测试Window计算器(功能) Flight4a的功能测试 三级项目网上书店系统的功能及性能测试的设计与实现 三 级 项 目 导 学 后 续 项 目 及 课 程 RFT实践 Robot实践 IBM系列测试工具实践 Figure 3. Schematic view of third level practical projects progressing for automatic testing tools 图3. 自动化测试课程三级项目实践进程图 遇到各种各样的问题,这时教师要对学生遇到的问题 一一详细解答,以提高学生对课程的兴趣。具体来说 该实验中遇到的问题如下: 1) 脚本录制成功后,执行失败。该问题的出现大 多是由于学生在录制脚本的过程中频繁切换应用程序 窗口,进行了与测试无关的应用程序操作而造成了, 这些操作都录制到了脚本中,但在执行脚本时 QTP无 法找到这些无关应用程序的对象,导致脚本执行失败。 该问题也属于共性问题,教师在讲解时提醒学生在录 制脚本时的注意事项。 2) 脚本执行完成后,不会分析实验结果。在教学 参考资料中,可以引导学生去分析脚本执行结果。教 师可以在课上统一讲解测试结果的分析方法。 第一个实验对整个《自动化测试工具》课程的学 习是非常重要的,因此,授课教师一定要注意合理地 引导学生,及时解决学生遇到的问题,增强学习兴趣。 当然,在学生遇到问题时,最好先提醒学生试着自己 去解决,培养他们独立分析和解决问题的能力。 所有实验在完成后要求学生提交实验报告。实验 报告是考查学生完成实验的重要参考,完整的实验报 告将涉及到学生在实验过程中的思考过程。在三级项 目开始实施时,按照分组的方式完成对网上书店的功 能及性能测试,从项目测试计划、测试设计、测试执 行、结果分析、测试报告完整的测试流程,完成对该 项目的性能和功能测试工作。将平时实验中表现比较 突出的同学,分配在各小组中担任组长,每小组 5~6 人。由组长进行任务分配,按时提交相关文档。通过 分调动同学们的积极性,增强学生的团队合作意识和 分析解决问题的能力。 在考核方面,按照教 教学实践来看,这种方式取得的效果非常好,能够充 学计划中的实验设置,对每 一个 4. 校企合作,开发实训体系,共筑实训平台 养适 实验在课堂进行检查,针对实验内容对学生进行 提问,要求学生对所做实验用到的技术内容以及测试 结果进行分析。根据学生的表述情况进行打分,单个 实验的成绩还需要参考实验报告,根据实验报告的质 量进行打分。对三级项目的测试的评定,依据小组的 综合表现、项目测试相关文档质量进行打分。这种考 核方式,更加注重学生平时的课堂表现,脱离传统的 期末考试给学生带来的恐惧心理,使学生在平时课堂 上能够积极做实验,取得更好的教学效果。本课程三 级项目及课程相关知识单元的实施及考核方式如表 3 所示。 TOPCARES-CDIO工程教育理念的终极目标是培 合企业岗位需求的人才,因此采用灵活多变的方 式与 IT企业合作,是培养学生岗位适应能力和就业竞 争力的最佳途径。本专业方向建设团队在进行专业人 才实践教学体系改革和探索的过程中,积极地探索与 企业合作的渠道和方式,明确以加强软件测试人才实 践能力培养为核心目标,采用校企合作共同开发实践 项目和学生培养的方式,建设软件测试人才培养的校 内实训平台和校外实训、实习基地;通过实训组织模 式、实训教学资源以及实训管理系统的建设与应用, 提供学生规模化、企业化、系统化实践能力训练的途 径,从根本上解决软件测试专业学生规模化参与企业 真实项目实训的问题。2011 年度,我院计算机科学与 技术系与国内知名软件服务外包公司文思创新签署实 践基地协议,以人才实训的方式开展学生培养,间接 向文思创新输送人才。本次合作以软件测试方向的学 生为主,采用文思创新公司为我院学生定制的实训项 目,作为培养方案中的一级实训项目。项目开发采用 公司管理的方式,学校为实训学生配备两名指导教师, 协助解决学生在开发过程中遇到的问题,并协调学校 与公司在授课时间、地点、资源等方面的相关问题。 在实训完成后,通过文思创新实训考核的学生可以获 得文思创新实习生资格,其它学生也可以通过本次实 训提高个人实践水平,增强就业竞争力。 TOPCARES-CDIO 引导的软件测试方向实践教学体系探索 Copyright © 2011 Hanspub AE 68 g methods for third level pro jects in “automat ic testing tools” 试工具》课程三级项目实施及考核方式 项目代码 项目名称 项目类型 项目内容 实施方法 考核 方式 Table 3. Implement and testin 表3. 《自动化测 UP(1/2) 使用 QTP 测试 Windows 应用程序“Flight4a” 单元组项目对 Flight4a 订票系统中的订票功能进行功能测试。 TM(5,4) TM(5,6) TM(5,5) ET RT UP(3) 使用 LoadRunner测试 MercuryTours网站 单元组项目对 MercuryTours 网站进行性能测试 TM(5,3) TM(5,4) TM(5,6) TM(5,5) ET RT UP(4) 测试 Window 计算器(功能) 单元组项目 按照测试需求分析、测试计划制定、测试用例设计、环境搭 建、执行测试、分析测试结果、报告等步骤实施。 TM(5,3) TM(5,4) TM(5,6) TM(3,2) TM(5,5) ET RT CP(1) 网上书店系统的功能及 性能测试的设计与实现 课程项目 按照测试需求分析、测试计划制定、测试用例设计、环境搭 建、执行测试、分析测试结果、报告等步骤实施网上书店系 统的功能及性能测试,在测试过程中灵活运用本课程涉及的 自动化测试工具以提高测试效率,以期通过实践充分理解自 动化测试的优点。 TM(5,3) TM(5,4) TM(5,6) TM(5,5) ET RT 注:UP 为课程单元项目,CP 为课程综合项目。TM(3,2)实验教学法,TM(5,3)合作学习教学法,TM(5,4)指导教学法,TM(5,5)任务分析法,TM(5,6)自 主学习法。ET 为实验考核,RT为研究报告考核。 除此之外,软件测试方向专业建设团队与其它几家 IT 企业已经初步达成人才需求意向,对将来可能的学 生实训等合作方式进行了深入的交流。这一系列的校企 合作共筑实践教学平台的举措对学生实践能力培养、就 业竞争力的提升将起到积极的作用,为 TOPCARES- CDIO 工程教育理念的成功实践提供支持。 5. 结语 TOPCARES-CDIO人才培养模式是大连东软信息 学院借鉴国际 CDIO工程教育理念,进行教育教学改 革的最新成果。软件工程专业软件测试方向专业建设 团队紧跟学院的改革步伐,对专业实践教学体系进行 了深入的革新,构建了一体化的实践教学体系。通过 层层递进和相互结合的各级实践项目将课程知识串联 起来,真正让学生做到融会贯通、学有所用。我们期 望通过 TOPCARES-CDIO工程教育理念不断深化专 业实践教学体系改革,真正做到与产业结合、与岗位 融合,为 IT 产业培养合格的软件测试人才。 参考文献 (References) [1] 51testing. 2010年中国软件测试从业人员调查报告[URL]. http://www.51testing.com/html/13/n-234713.html, 2010. [2] 钟素芬, 叶明芷. 软件测试应用性人才培养模式的探索与实 践[J]. 北京联合大学学报(自然科学版), 2007, 21(3): 89-92. [3] 温涛. 基于 TOPCARES-CDIO的一体化人才培养模式探索与 实践[J]. 计算机教育, 2010, 11: 23-29. [4] 温涛. 探索构建一体化 TOPCARES-CDIO 人才培养模式[J]. 中国高等教育, 2011, 47(7): 41-43. [5] 李绘卓, 唐峻, 范勇. 基于案例的软件测试实验教学[J]. 电脑 知识与技术, 2009, 5(27): 7820-7821. [6] 程宝雷. 基于 Rational 的软件测试课程实验教学方法探讨[J]. 实验室研究与探索, 2007, 26(12): 310-312. |