基于MOOC的软件测试课程教学建设

2017-02-25 07:09:54王文鹏胡德生吴潇雪
计算机教育 2017年1期
关键词:软件测试传统教学模式

郑 炜,王文鹏,胡德生,吴潇雪,王 冰

(西北工业大学 软件与微电子学院,陕西 西安 710072)

基于MOOC的软件测试课程教学建设

郑 炜,王文鹏,胡德生,吴潇雪,王 冰

(西北工业大学 软件与微电子学院,陕西 西安 710072)

MOOC教学模式作为一种基于互联网应用的新兴教学模式,正席卷着整个教育界。文章简要分析MOOC在国内的发展和软件测试课程的教学情况,提出基于MOOC的软件测试课程教学模式的观点,结合西北工业大学的具体实践,阐述与MOOC相结合的软件测试课程教学方法。

MOOC; 计算机; 软件工程; 课程教学模式

1 基于MOOC的软件测试课程教学模式的产生背景

MOOC是为了增强知识传播而由具有分享和协作精神的个人或者组织发布的、散布于互联网上的开放课程。MOOC作为新兴的教学模式,自诞生时起就在传统的高等教育领域里引起了强烈的反响,现已对全球的高等教育产生了重要影响。众多国内外高校依此作为平台,开展学术领域内的交流学习、分享合作。MOOC促进了世界范围内知识内容的分享,为不同学科的教和学创造了大量的机会。在MOOC快速发展的背景下,如何利用现有的MOOC的“名校+名师+名课”资源,克服传统教学模式的诸多弊端,成为了当下MOOC建设课程项目的重中之重。

软件测试作为计算机科学技术与软件工程专业学生需要学习的基础课程之一,是教学体系中不可或缺的一环。软件测试是一门注重理论与实践相结合的科目,在做好理论知识学习的同时,需要积极参与实践练习,才能不断充实提高专业技能。传统的教学模式是教师在课堂上进行授课,学生课下完成作业练习,这种教学模式的优点在于能够使学生在充分了解到专业知识之后,以理论为指导进行实践[1]。然而此类教学模式也存在一些不足,如学生在进行实践练习的过程中可能会因为缺乏及时的指导而出现一些不必要的失误,学习效率较低,技能提升较为缓慢。同时,这种传统的教学模式存在有重理论、轻实践,重知识传授、轻能力培养,“学”“用”脱节等一系列的问题。新型的基于MOOC的软件测试课程教学模式在这方面则有其自身天然的优势,新的教学模式注重“课堂翻转”教学方法的运用,翻转了传统课堂的教学结构,即学生课前在家里通过MOOC观看教学视频学习相关知识,在课堂上交流、讨论、反馈自己在实践过程中遇到的问题,全面提升课堂互动的机会,真正做到活学活用。

随着MOOC影响力的广泛传播以及用户日益增长的知识需求,MOOC开设课程正在呈现出多元化的发展趋势,据不完全统计,中国大学MOOC平台已经在诸多学科分支方向上开设了近1 100项课程,其中,工程技术类学科在已经开设的学科中所占比例达到了29%[2]。虽然已经有一批较为优秀的软件测试在线课程,但还是存在一系列的挑战性问题:①现有的软件测试课程从学时数、教学安排等方面都难以达到实际职业对软件测试深度、广度和实践能力的要求,相关培养方案的制订较少考虑企业的实际需要,针对性不强。②软件测试目前存在众多不同的测试方法和测试工具,它们各有特点和优势,并且软件测试相关技术发展迅速,新的方法不断出现,这使得教学内容的选择和准备变得非常困难。③当前国内外软件测试教材多是对众多方法和技术的描述,对具体技术的深人程度不足且无法适应测试技术、工具的快速变化,对学生进行实际项目开发帮助有限。④企业的软件开发中使用了众多的软件工具,并且对于重要领域的软件开发,很多企业采用商业化工具。在教学过程中,这些昂贵的、专用的商业工具较为缺乏,并且在有限课程时间内学生难以接触到众多不同类型的软件开发工具。

基于此类问题,我们开设的基于MOOC的软件测试课程为软件测试技术的学习者提供前沿测试技术介绍,其内容结构简明合理、层次清晰、由浅人深,注重将软件测试理论知识、技术与工程实践紧密结合,同时重点突出一个“新”字,开创促使互联网发展的新兴技术。本课程兼顾培养“高级应用型人才”和“学术研究型人才”,在“基础理论+实践应用”基础上,对测试人员职业素养养成、主流行业测试工具以及软件测试研究前沿技术进行探讨。一方面,为学生从业后尽快适应工作岗位做好准备;另一方面,挖掘学生潜能,为进一步从事测试技术研究奠定基础。

我们开设的软件测试课程于2015年获得全国工程硕士研究生教育在线课程建设项目——学堂在线(国家级MOOC项目)立项。基于此课程建设,我们收获了一系列优秀成果和专利奖项,其中专利有Web服务自动测试平台软件、基于有限状态机的软件验证系统、基于机器学习算法的软件故障定位方法等4项,同时荣获2012校级教学成果二等奖“面向国际化的软件工程课程的建设”1项,以及2008年西安市科技进步奖三等奖“虚拟实验与测试系统的信息支撑环境研究”1项。

2 基于MOOC的软件测试课程教学设计

2.1 课程规划设计

软件测试是保证软件质量的重要手段和方法,是软件工程化方法的重要环节,在整个软件的生命周期中占有非常重要的地位,它对于软件产品质量与生产率提高起着举足轻重的作用。现代软件测试与传统的软件测试不一样,它贯穿软件工程的整个软件生命周期,涉及各种软件开发技术、应用技术以及测试技术,覆盖软件各种应用领域,面临不同的专业领域知识,所要求的投人与软件开发相比规模同等甚至更高[3]。

基于软件测试的这些特性,在进行软件测试授课教学过程中要尽可能地保证学生学习课程后具有较为扎实的理论知识基础,同时也掌握一定的专业技能。那么怎样才能使受教育者在有限时间内最大化地实现学习实践能力的提高?采用基于MOOC的软件测试课程教学,即结合线上的MOOC教学和线下的传统教学方法进行学习,通过MOOC的线上课程授课在一定程度上缓解了不同学生学习进度的差异性问题,同时保证了学生学习时间的自由性。因此,如何实现传统教学与MOOC教学模式的结合,实现两种教学方法的相辅相成是我们需要考虑的首要问题。

2.2 总体设计思想

运用传统的成功的软件测试教育理念,结合MOOC课程建设理念,我们提出了基于MOOC的软件测试课程的教学总体设计思路,旨在创建一个以学习者为中心的学习环境,所设计的环境要能够提高学习者的小组学习、自主学习和实战型学习的积极性,注重培养学生的技术工作能力,让学习者在学习过程中实现理论与实践的充分结合。

2.3 教学环节安排

在MOOC软件测试教学实施过程中,可以借鉴已有的优秀的软件测试教学方法模式,例如采用基于MOOC理念的翻转课堂和自主学习相结合的教学模式,将知识传授和知识内化进行颠倒安排,将在线学习和传统的课堂学习相结合进行教学,改变传统教学中的师生角色并对课堂时间的使用进行重新规划,以此来对传统教学模式进行革新性探索。

德国心理学家艾宾浩斯(H. Ebbinghaus)研究发现,遗忘在学习之后立即开始,而且遗忘的进程并不是均匀的。最初遗忘速度很快,以后逐渐缓慢。他认为“保持和遗忘是时间的函数”,他用无意义音节(由若干音节字母组成、能够读出、但无内容意义即不是词的音节)作记忆材料,用节省法计算保持和遗忘的数量[4]。根据实验结果他绘成描述遗忘进程的曲线,即著名的艾宾浩斯记忆遗忘曲线,如图1所示,详细数据见表1。

依据该遗忘曲线所显示的遗忘规律,我们很容易发现在学生停止学习后,大脑会遵循一个遗忘规律对最新获取的知识信息产生遗忘。这也是MOOC里很多已开设的课程常常忽略的一点,没有及时地对学生学习的知识进行巩固和练习,导致学生难以系统地汲取知识,也就很难做到活学活用。针对这种问题,可以采取线上教学,课堂指导实验,课下模拟练习的双向O2O教学模式,让受教育者在第一时间内巩固所学知识,解决知识盲点[5]。

图1 艾宾浩斯人类遗忘曲线

表1 艾宾浩斯人类遗忘曲线详细数据

3 基于MOOC的软件测试课程教学实践

3.1 总体设计思想

软件测试课程学习环境如图2所示,将在线学习和传统的课堂学习充分融合,实现软件测试课程教学体系“三结合”模式:一是课内与课外结合以实现多环节指导学生构建软件测试基础知识体系;二是理论与实践结合以实现多手段吸引学生努力提高专业技术能力;三是教学与育人结合以实现多手段引导学生努力提高创新研究能力。

3.2 教学流程

具体的教学模式流程如图3所示。

3.3 教学体系架构

作为软件测试课程教学的核心,知识体系结构决定了教学的脉络走向是否顺畅、教学的思路是否清晰。现已开设的基于MOOC的软件测试课程知识体系结构如图4所示。

图2 软件测试课程学习环境

图3 教学流程图

3.4 课程授课安排

针对MOOC已经开设的相关课程的学生的学习情况,我们对学生的听课效率以及学习时间安排做了一个抽样调查。对于学时的安排,我们采取网上调查问卷的形式进行调研,根据学生用户的反馈信息,我们做了相关的信息统计,具体调查结果如图5所示。

由图5显示信息可知,大部分(80%)的学生用户都希望将学时安排调整在30~50个课时内。由此,通过了解学生用户的需求,结合对具体课程内容的学习阶段划分,我们将学生的授课课时定为40个课时。

图4 MOOC软件测试课程知识体系结构

图5 学时安排调查情况统计

3.5 课程建设成果创新点

作为一种在学术界、教育界和社会舆论中广受关注、颇受欢迎的全新教育模式,MOOC课程教学在创新教育形式、提供优质教育服务方面具备很大的潜力。在“互联网+”理念的引领下,通过现代的信息技术、数据挖掘分析等技术,借助积累的优质软件测试课程教学内容和丰富教学经验,现已初步形成了一个完整的教学体系,较之以往有创新和进步。具体的创新点如下:

(1)彰显“互联网+”理念,构建全新教学模式。依托现代的信息技术,针对于当下现存教育模式存在的诸多弊端,结合线上教学和线下教学方式的双重优势,我们给学生个体打造了一个全方位的学习平台。我们线上收集来自每个学生个体的实时学习信息,线下根据收集数据完善教育教学计划,充分利用互联网高分享性、实时性、低成本的优势,为学生群体构建一个“O2O双向教学模式”的学习平台[6]。

(2)紧密结合学习和练习内容,细化和巩固知识体系。新的授课方式让用户觉得学习比以前更自主、更清晰、更扎实,互动性更强。在视频自学的过程中,会在关键的知识点处列出相应的问题,只有答对此问题才能继续学习,将教学中的学习和练习紧密地结合在一起。这种方法一方面能够细化知识要点,通过解答问题进一步巩固所学的知识点,增强记忆;另一方面是督促学生认真观看视频,为防止学生学习过程中存在有侥幸心理,不能快进或者跳着看,这样才能够使学生用户脚踏实地地学习。

(3)立足优质教学内容,利用丰富教学经验。本项目中通过依托多年之间积累的优质教学内容,借助发挥MOOC课程的新型模式,为学生提供最有成效的教学服务。其中优质教学内容主要包括多门精品课程,如软件测试、基于模型的软件验证与测试、软件工程等精品课程。我们结合数据挖掘和数据分析技术,及时了解学生的听课情况以及课后的相关反馈,利用多年的丰富的教育教学经验,为学生制定个性化的教学个人方案,避免传统教学中“一视同仁”的弊端,同时摒弃了传统网络教学中的冗余资源,以提高教育教学的效率,最大化资源利用率[7]。

4 课程实施效果说明

基于数据挖掘技术,我们对软件测试课程MOOC模式实验班和传统教学模式下的学生成绩进行了分析对比,如表2所示。

同时,我们对于学生群体在不同阶段的平均成绩进行数据统计,不同阶段平均成绩提升如图6所示。

表2 学生成绩情况分布

软件测试在线课程的用户访问量不断攀升,用户注册数量保持增多趋势,如图7所示。

图6 学生平均成绩提升对比条形图

图7 用户访问量变化折线图

5 结 语

通过对学生总体成绩水平分布情况的统计,基本可以认为,基于MOOC的软件测试教学方法已经取得了较为良好的成效,学生的成绩较之传统教育模式下的更好,主要体现在以下几个方面:①高分学生数量所占比重更大;②低分及不及格所占比例相对较低。同时,我们对于学生群体在不同阶段的平均成绩进行数据统计,发现MOOC教学模式下的学生成绩在总体上服从正态分布,其平均成绩提升速率较同期的传统教学模式更快。

基于MOOC的软件测试教程建设成果,充分结合了信息技术的特点,充分利用了信息技术的共享性与可永久存储性,提高了本成果教育资源的共享性,降低了本成果教育资源的成本。在学生用户和授课教师的一致努力下,现已经取得了较为良好的推广应用效果。

(1)提高了学生的学习积极性。研究表明,通过在线的特色讲堂,渐进性的试题测试与课后的实践练习,增强了学生的学习兴趣和自信心,提高了学习积极性。本成果在在线课程中提出的分组学习最后以小组平均成绩竞赛的方式也极大地提高了学生的团队意识,增强了学生的实践积极性。

(2)解决了教育高成本,学习地点、学习时间不自由,共享性差的教学问题。相对于传统教学而言,“互联网+”形势下的教育教学本身有着低成本,共享性,学习时间、学习地点自由性等优点,本成果将传统教学经验与信息技术优势相结合,学生个体只需要登录相应的客户端,就可以轻松拥有实施更新的视频教学,随时根据学习水平自动化定制自己的测试试卷[8]。对于学生的实践,本成果通过网络平台也能给出实时性的规范化指导,同时利用网络的线上教育,节省了教学开支,学生个体可以不受时间、地点的限制。

(3)成果应用范围不断扩大,目前成果所用模式使得改革力度不断扩大。成果提出的“线上线下教育、因材施教、实践与理论结合教育方式”由于对传统教育方式和传统互联网教育方式存在的问题进行了改革,充分吸收了两者的优势,使得MOOC的软件测试教育逐步展开,应用范围不断扩大,接受知识人群从软件工程专业学生拓展到了广大软件工程专业爱好者。

[1] 中国工程教育认证协会秘书处.工程教育认证工作指南(2013版)[Z]. 2013.

[2] 董威. 软件工程专业在线课程建设思考[J]. 计算机教育, 2015(6): 4-5.

[3] 郑炜. 软件测试[M]. 西安: 西北工业大学出版社, 2011: 5-10.

[4] Myers G J. 软件测试的艺术[M]. 北京: 机械工业出版社, 2012: 20-23.

[5] Beizer B. Software testing techniques[M]. 2nd ed. New Work: Van Nostrand Reinhold Company,1990.

[6] Coward P D. Symbolic execution and testing [J]. Information and Software Teachnology, 1991, 33(1): 229-239.

[7] Gareth L, Morris J, Parker K, et al. Using symbolic execution to guide test generation[J]. Soft Testing, Veri fi cation and Reliability, 2004, 15(1): 41-61.

[8] Mansour N, Salame M. Data generation for path testing[J]. Software Quality Journal, 2004(12):121-136.

(编辑:彭远红)

1672-5913(2017)01-0031-07

G642

国家自然科学基金项目(61402370)。

郑炜,男,副教授,研究方向为软件测试与验证、云测试、大数据应用与验证,wzheng@nwpu.edu.cn。

猜你喜欢
软件测试传统教学模式
群文阅读教学模式探讨
饭后“老传统”该改了
中老年保健(2021年3期)2021-08-22 06:52:22
基于OBE的软件测试课程教学改革探索
计算机教育(2020年5期)2020-07-24 08:53:20
同样的新年,不同的传统
老传统当传承
传媒评论(2018年8期)2018-11-10 05:22:12
EXCEL和VBA实现软件测试记录管理
电子制作(2018年16期)2018-09-26 03:27:18
口耳相传的直苴赛装传统
中国三峡(2017年9期)2017-12-19 13:27:25
关于软件测试技术应用与发展趋势研究
电子测试(2017年15期)2017-12-18 07:19:20
软件测试工程化模型及应用研究
“一精三多”教学模式的探索与实践