三支决策和MOOC 相结合的软件测试教学模式探究

2019-10-24 01:06边奕心李志聪杨梓婵
计算机教育 2019年10期
关键词:软件测试实训环节

边奕心,赵 松,李志聪,杨梓婵

(哈尔滨师范大学 计算机科学与信息工程学院,黑龙江 哈尔滨 150025)

0 引 言

软件测试是保障软件质量的方式,具有动态性和交叉性的特点,遍布了软件工程的整个生命周期[1]。不同于其他本科课程,软件测试有其独到之处,学生在学完软件测试课程之后,未来有直接就业或者继续深造两个发展方向。因此,学生在学习软件测试基本理论的基础上,需要进行大量的实践练习,才能不断提高专业技能,为未来从事软件测试行业的工作或者进行软件测试方面的研究奠定坚实的基础。

目前,国内很多工科院校均开设了这门课程,从哈尔滨师范大学计算机科学与信息工程学院的实际教学过程来看,软件测试仅仅大三1 个学期54 学时的学习时间,学生的学习效果并不理想。大部分学生的能力没有达到教学目标的要求,特别是在测试理论课程学习后的软件项目实训和大四毕业设计两个教学环节中,学生只开发软件不做测试的现象比较普遍,如果教师要求增加测试部分,学生也是敷衍了事,并未做到学以致用。根本原因是学生对软件测试很“陌生”,具体表现在基础理论掌握不牢、不熟悉软件测试常用术语、软件测试方法不会运用、软件测试文档书写不规范等。为了解决这一问题,笔者将科研领域的“三支决策”思想引入软件测试的教学领域,并将本科阶段软件测试的教学过程进行扩展,分为认知阶段、提升阶段和综合阶段,分别对应教学的3个环节:课堂教学环节、项目实训环节和毕业论文环节,使用MOOC 资源将三者结合为一个整体。通过这3 个阶段阶梯式的“磨炼”学生软件测试的知识和技能,使学生真正掌握软件测试的核心方法,使其既能在项目开发过程中熟练运用软件测试方法,也具备软件测试方面研究的基本功,最终达到提高学生培养质量的目的。

1 三支决策

三支决策理论(Three-way decision)是加拿大华人学者Yiyu Yao 于2010 年首次提出[2],最初用于粗糙集领域的研究,解释概率粗糙集和决策粗糙集的3 个域,后来逐步演变为一种思维模式。三支决策主要是用三思维作为信息处理模式,为求解复杂问题提供了一种有效的策略与方法。近年来,随着三支决策思想的发展,其应用研究也逐渐渗透到不同的领域,众多学者已将三支决策思想转换为一个理论系统、信息处理模式和计算方法[3],用于解决不同应用领域的科研问题,取得了很好的效果。

2 基于三支决策和MOOC的软件测试教学模式

传统的软件测试教学主要以课堂为主,由教师主动讲授、学生被动接受。近年来由于“互联网+”的广泛应用,基于MOOC 的软件测试混合式教学模式颇受师生欢迎。目前,这种混合式教学模式只是针对课堂教学阶段,在实际中,学校课堂授课时间的学时是非常有限的,而网上软件测试的MOOC 资源却十分丰富,因此,只在课堂教学阶段采用MOOC 资源,并未达到真正的“混合”。

将三支决策理论应用于本科阶段软件测试课程的教学领域,并结合MOOC 混合式教学方法,实现三支决策和MOOC 相结合的软件测试课程教学模式(TWD-MOOC),如图1 所示。该模式将本科阶段软件测试教学过程将分为3 个阶段:认知阶段、提升阶段和综合阶段,分别对应教学的3 个环节:课堂教学环节、项目实训环节和毕业论文环节。3 个环节均采用MOOC 资源,通过MOOC 资源将三者“三合为一”。

2.1 认知阶段的课堂教学

2.1.1 学习内容

课堂教学是软件测试学习过程的认知阶段,是学生对软件测试从“陌生”到“熟识”的过程。这个阶段的学习内容是软件测试的基本理论与实践(见表1),具体内容为软件测试的背景知识、软件测试战术、软件测试策略和软件测试文档。

图1 三支决策和MOOC 相结合的软件测试课程教学模式

教学模式采用“课前预习+课堂教学+课后作业”的形式完成。首先,任课教师选取线上内容,让学生做好课前预习。然后,在课堂教学活动中,教师通常采用提问和练习的方式检验学生预习的效果,并针对薄弱环节进行讲解和辅导。最后,课后一般有需要完成的测验与作业,学生可根据学习进度按时完成课程作业。作业成绩可以通过在线自动评分、自我评分、学生之间互相评分等方式获得。在学习的同时,学生可根据自身对知识的掌握程度参加线上的小测试、期中和期末考试。通过线上内容的学习和考试后,学生可以获得课程合格证书。学生线上成绩作为任课教师期末评分的依据,最终的期末考试还是由学生参加学校统一安排的考试,由任课教师评定成绩。

表1 各个阶段的混合式学习内容

2.1.2 考核方式

根据软件工程的教学培养目标、考试大纲和软件测试课程的类型以及特点,本课程的考核内容应从知识、能力、素质三方面进行考核,且学生的学习能力、创新能力和综合素质等指标也作为评分依据[4]。

传统的软件测试考核方式是过程性评价和终结性评价的比例为4∶6。但加入MOOC 内容后,学生的过程性学习内容增加,为了更加客观的评定学生的学习成绩,突出学习过程的重要性,过程性评价和终结性评价的比例变为6∶4。其中过程考核成绩由课堂表现、在线学习评价、实际操作和软件测试综合实践4 个部分构成,占总成绩的60%,期末考试作为终结性评价占40%,由任课教师评定。各部分内容所占比例及说明见表2。

表2 分为4 个部分,第一部分:课堂表现由提问+课堂讨论的形式构成,学生分成小组,提问的内容是学生课前预习的部分,对学生有疑问或是回答不准确的部分,先进行组内和组间讨论,然后由教师进行讲解和辅导,这部分成绩占总成绩的5%。第二部分:在线学习评价由测验+在线讨论+作业构成,随堂测验占5%,在线讨论占5%,作业占10%,均由MOOC 平台记录成绩,这一部分学生可自行安排时间完成。第三部分:实际操作,由于这一部分线上平台没有涉及,所以要求学生线下完成,学生分别使用Junit测试工具对软件进行单元测试和使用Loadrunner测试工具对软件进行性能测试,单元测试部分占10%,性能测试部分占10%,成绩由任课教师评定。第四部分:软件测试综合实践,要求学生对一个医院信息管理系统(HIS)进行综合测试,由于这一部分综合性较强,学生需线下完成,占总成绩的15%,由任课教师评定成绩。

2.2 提升阶段的项目实训

经过理论教学和常规实践教学过程,学生掌握了软件测试的理论基础,并具备了基本的操作技能。项目实训是培养和锻炼学生综合运用本课程及相关课程的知识解决实际工程问题的能力[5]。实训的项目通常较小、功能也较简单,目的是使学生理解和掌握软件测试技术和各种具体的测试方法在项目中的简单应用,并能撰写简单并符合规范的测试文档,为后续的毕业设计做好准备。哈尔滨师范大学计算机学院采用文献[5]提出的方法进行实训教学环节:由软件公司给出项目需求(这些项目都是公司已经完成或正在做的项目),并由公司的员工到学校对学生进行简单的需求讲解和技术辅导。学生自由组合为小组,选择实训题目(每组完成一个题目,题目不可重复),分角色进行,在规定时间内完成。

项目实训开始前2 周,教师根据公司给的项目需求指定学生学习MOOC 内容(见表1),这个阶段的学习内容主要是单元测试和集成测试的案例部分,其中,软件测试文档学生需再次学习,当然学生也可依据自身实际选择MOOC 内容进行学习。

实训开始后,项目需求由公司提供,并给出概要设计、详细设计说明书和测试计划、测试用例设计的模板,文档的具体内容以及缺陷跟踪等都由学生独立完成。学生在学习相关测试案例后,可以直接仿照案例,对实训题目进行测试,避免了测试的盲目性和随机性。

在项目实训的答辩环节,教师结合项目的完成情况对学生进行综合评价。项目实训成绩评价方案是:MOOC 视频与资源的自学完成度以及线上测试15%,概要设计、详细设计说明书和测试计划、测试用例35%,程序演示30%,答辩表述20%。

表2 课程考核评价方法

2.3 综合阶段的毕业设计

本科毕业设计是理工科大学最后的实践部分,目的是培养学生工程实践能力、理论研究能力和创新意识[6]。在这个阶段,学生真正从工程项目的角度,从最初的需求分析直到最后项目交付等一系列软件工程阶段,实践一次完整的软件开发和测试过程,感受软件测试项目的工作流程和实施细节,并独立撰写各种测试文档,达到独立完成软件测试任务的目的,是即将进入职场的充分锻炼。

在毕业设计的选题阶段,教师指定学生学习MOOC 内容(见表1),功能测试、性能测试和移动应用测试三部分是这个阶段的学习内容,其中每一部分的测试案例都是国内知名公司和企业的实际测试项目,并由公司高管“现身说法”。其中,第一阶段的软件测试文档学生也需再次学习。虽然,此阶段的MOOC 内容,由于学生不了解企业项目的业务流程而较难理解和接受,但其严格的测试过程和规范的文档写作对学生顺利完成毕业设计有很大帮助。

毕业答辩环节,为了检验学生综合运用软件测试知识的能力,成绩评价方案如下:MOOC 视频与资源的自学完成度以及线上测试占30%,学生至少使用2 种以上自动化测试工具对所做项目进行测试占35%,测试计划和测试用例文档撰写准确详实占35%。

3 结 语

随着国家对软件测试人员的要求不断提高,软件测试课程的地位也在逐年变化,由原来的选修课到未来几年内即将成为核心课。根据目前哈尔滨师范大学软件测试课程实际教学过程中存在的问题,将科研领域的三支决策思想引入教学领域,并结合MOOC 混合式教学方式,提出三支决策和MOOC 相结合的软件测试教学模式(TWDMOOC),该模式将原本分离的教学、实训和毕业设计3 个环节通过MOOC 资源整合为一个整体,阶梯式的“磨炼”学生软件测试的知识和技能,目的是使学生真正掌握软件测试的核心方法,使其既能在项目开发过程中熟练运用软件测试方法,也具备软件测试方面研究的基本功。

目前,采用线上已有的MOOC 资源进行混合式教学,未来笔者将结合哈尔滨师范大学计算机学院的实际教学情况以及本文提出的教学模式的具体实施情况,开发自己的软件测试MOOC资源,使其紧密结合学生的学习和实习情况,从而更好地进行软件测试课程的教学,提高学生培养的质量。

猜你喜欢
软件测试实训环节
软件测试方向人才培养“1+X”融合研究
提高种公牛精液品质的几个主要环节
必要的环节要写清
BOPPPS教学模式在产科护理实训课中的应用
五环节自主学习型教学模式改革初探
项目驱动的启发式程序设计实训探索与实践
基于OBE的软件测试课程教学改革探索
航天软件测试模型构建与应用
现代通信实训教学平台的建设与实施
关于 Web 应用系统的软件测试的研究