《软件质量保证与测试》创新创业课程教学案例的设计与优化
2017-05-30樊鑫段喜龙胡正蔡轲
樊鑫 段喜龙 胡正 蔡轲
摘 要:伴随着我国“互联网+”时代的来临,高等教育面临着如何将创新创业教育融入传统课程教学的问题。文章分析了软件工程专业《软件质量保证与测试》课程的教学特点及以往教学案例的不足,根据创新创业和应用性人才培养的要求,提出了对教学案例进行重新设计和优化的具体方法和思路。通过将新技术和新工具引入教学案例,能够加强对学生实践创新能力的培养,并提高教学效果。
关键词:创新创业教育;软件质量保证与测试;教学案例
中图分类号:G642 文献标志码:A 文章编号:2096-000X(2017)23-0040-03
Abstract: Along with China "Internet+" era coming, high education is facing the problem of how to integrate "Double-Creative" talents cultivation into traditional curriculum teaching. This paper analyzes the teaching characteristics of software quality assurance and testing course of software engineering major and the deficiency of previous teaching cases. According to the requirements of "Double-Creative" talents cultivation and applied talents training, this paper puts forward some concrete methods and ideas for redesigning and optimizing teaching cases. By introducing new technology and new tools into teaching cases, we can strengthen the cultivation of students' practical and innovative ability, and improve the course teaching effect.
Keywords: "Internet+"; "Double-Creative" talents cultivation; software quality insurance and testing; teaching cases
引言
近年来随着我国经济产业结构的转型升级,“互联网+”时代已经来临,为进一步深化创新创业教育改革,全面提高人才培养质量,为企业和行业提供具有双创素质的创新型应用人才,国家和地方政府纷纷出台了创新创业教育改革的实施方案。创新创业教育是以培养具有创业基本素质和开创型个性的人才为目标,不仅仅以培育在校学生的创业意识、创新精神、创新创业能力为主的教育,而且要面向全社会,针对那些打算创业、已经创业、成功创业的创业群体,分阶段分层次的进行创新思维培训的教育。教育部要求从2016年起所有高校都要設置创新创业教育课程[1-3],对全体学生开发开设创新创业教育必修课和选修课,并纳入学分管理。
软件工程专业固然是直接参与“互联网+”的重要热门专业,如何将创新创业教育融入传统的软件工程专业各课程教学实践是目前各软件学院正在积极探索和实践的主要工作[4-6]。《软件质量保证与测试》是软件工程专业的专业核心课程。该课程旨在拓宽和加强学生对于软件测试技术的了解和认识,并重点向学生介绍软件测试中基于各种测试技术的基本思想和基本方法,通过理论授课和实验练习,使学生具备参与和实施软件测试的基本能力,为学生今后从事软件开发和测试工作打下基础。本文剖析了《软件质量保证与测试》以往教学中的不足,通过优化和重新设计教学案例,以提高教学效果和加强学生创新创业能力的培养。
一、《软件质量保证与测试》的课程现状
《软件质量保证与测试》课程是目前很多软件工程专业和计算机相关专业均开始的专业课程。该课程早期的名称为《软件测试》、《软件测试技术》,后于2011年左右根据教育部高等学校软件工程专业教学指导委员会发布的软件工程知识体系SWEBOK[7-8]改名为《软件质量保证与测试》。该课程的主要教学内容包括软件测试的背景、软件测试的基本概念、软件质量的基本概念、软件测试的数学背景、软件测试中的黑盒测试技术、软件测试中的白盒测试技术、集成测试技术、系统测试技术以及自动化测试技术等知识点。
(一)课程理论和实验教学的主要特点
1. 课程教学的理论部分具有一定的理论性、综合性和总结性。由于软件测试的相关技术均为在软件测试的实践活动中通过经验总结、理论归纳和技术提炼的得到相关知识,因此课程的理论部分具有一定的综合性和总结性。为了更好地说明相关技术,课程授课多以案例教学[9]为主,通过教学案例的讲解来帮助学生领会和理解相关技术和方法。
2. 课程教学的实验部分具有较强的实践性。软件测试本身就是对软件进行测试的活动,因此该课程的实验教学部分具有较强的实践性。通过给学生布置相应的任务,让学生运用课程中介绍的测试方法和技术,自己动手来对相应的软件或系统进行测试并发现软件缺陷。
3. 课程教学对教学内容应具有工程时效性和项目真实性的要求。《软件质量保证与测试》的教学内容应以基本方法和技术的介绍为重点,但不能完全陷入仅对基本方法和技术的介绍,而应与工程项目有机结合,从工程项目中抽取合适的案例并加以裁减以适应教学的需要,才能使学生真正地学有所获,最大程度地激发学生的学习积极性和主动性。
(二)课程理论和实验教学中存在的主要问题
在日常的教学环节中,任课老师对于教学重点的把握不会有太大的问题,且都能对重点内容进行细心地讲解和阐述。结合学生评教的教学反馈和跟踪业界对学生的要求,本课程的教学还存在以下的问题:
1. 理论教学中单纯地知识讲授容易形成乏味枯燥的课堂气氛、且学生学习兴趣不高。
在理论教学中对于测试基本方法、基本技术的介绍容易陷入单纯、知识性地讲解和灌输,而学生面对老师的灌输式教学往往提不起学习兴趣,从而慢慢进入被动学习的状态,更不愿意理解方法、技术背后的思想,将本来需要理解和领会的课程内容一概归为死记硬背的基本概念,导致课堂的教学效果欠佳。
2. 理论教学的教学案例与实际工程项目存在一定程度的脱节,导致学生懂原理不懂实际,懂方法不懂运用。
虽然很多老师在本课程的教学中引入案例式教学,通过案例教学来帮助学生理解相应的知识内容,但很多教学案例的设计教学演示味道较浓,与实际工程项目存在一定的脱节,即使学生理解了原理和方法,但运用能力欠缺,在实际的测试问题中不能变通运用。
3. 实践教学中实验内容单一,且所使用的测试环境和测试工具更倾向于实验室环境,与工程领域的生产环境相差太大。
本课程的实验环节是教学的重要环节。目前,很多实验内容的设置相对简单和单一,对学生的训练仅能做到“点到为止”,且实验的测试环境和工具与工程领域实际生产状态的环境和工具相差较大,使得学生在测试环境和工具的搭建、使用等方面不能得到有效的训练。
二、课程教学案例的优化
针对课程理论教学中的相关问题,在继续开展案例式教学的基础上,以覆盖《软件质量保证与测试》各主要知识点为基础,以融入创新创业教育思想为基本要求,从与学校行业背景相结合、与实际工程项目相结合、与新技术方向结合等多个角度,重新设计并优化了《软件质量保证与测试》的课程教学案例,部分优化后的典型案例如表1所示。
(一)从与学校行业背景相结合的角度优化教学案例
由于本校是具有航空特色的本科院校,很多学生对于与航空航天相关的话题都有较浓厚的兴趣和好奇心。在课程教学案例设计的时候如果能够挑选合适的航空航天类的教学案例,在介绍软件测试领域知识的同时,又引入航空类的案例,一方面能激发学生的兴趣,了解软件测试在航空航天领域实际的工程运用情况;另一方面又能扩展课本上的专业知识、开拓学生的知识面,对帮助学生理解课程内容能起到事半功倍的效果。如:
1. 在介绍软件测试概述和背景知识点的时候,以往给学生介绍软件缺陷导致事故的案例往往只是介绍一些软件中曾经出现过的问题,给学生的印像并不是很深刻。在优化且重新设计的案例中,给学生介绍一下欧航局“斯基亚帕雷利”火星探测器因软件缺陷而发生任务失败的案例,由于该事件发生于2016年,又是在高技术含量的航天领域。该案例比原有的案例具有更新的时间属性和更大的说服力,能够有力向学生传递软件测试在航空航天领域更为关键的知识点。
2. 对于测试文档和测试标准知识点的讲解,在以往的教学过程中,通常是给学生把标准化的文档模板和测试标准文本做一个逐项的讲解,讲解过程中难免显得枯燥乏味。在优化后的教学案例中,引入“波音为了提高其机载软件的可靠和安全性提出了MC/DC标准”的案例,该案例也是在向学生说明标准,但并非是单纯地罗列标准,而是告诉学生测试标准是如何产生的,自然就能让学生更好地理解软件测试标准并非是一个生硬的要求和条款,而是前人在测试的工程实际中总结的经验,另外也体现了测试标准对测试活动的重要指导作用。
(二)从与实际工程项目相结合的角度优化教学案例
教学案例的优化需要从多个方面来进行思考,针对以往的有些教学案例教学演示味道较浓、存在“为了举例而举例”等问题,在优化教学案例的过程中,有针对性地从实际项目中裁减出合适的例子并设计成教学案例,能够使教学案例更加生动,同时在教学过程中学生的参与度会显著提高。
1. 黑盒测试方法和技术是本课程的重要知识点。根据以往学生的反馈,有的学生在参加测试岗位应聘的时候,用人单位往往直接从项目中抽取一段实际的软件需求来作为笔试或面试考题,由于以往课程教学中的案例比较简单,与实际项目有一些脱节,学生往往不能较好地回答。“电话计费系统”的教学案例来自实际项目,在设计案例时,将其计费规则的需求进行了一定程度的簡化。裁减后的案例虽比实际工程项目简单,但相对于教学需要,其需求说明所涉及的逻辑关系远比以往的教学案例充实和复杂。在实际的教学过程中,该案例能够很快将学生拉入“如何理解计费规则”的实际项目场景中,学习的主动性也随之提高。
2. 对于白盒测试技术的介绍,案例的选择也尤为重要,以往普通的教学案例虽能发挥教学演示的作用,但源程序的逻辑结构比较简单,在优化后的教学案例中,从某科研项目中摘取了一段飞行管理程序源代码来作为教学案例,从源代码的规模和逻辑复杂性等方面均有提高,对于此类具有项目背景的源代码,学生的学习和研究兴趣将极大提高,通过案例讲解和学生联系,能够更好地掌握白盒测试中逻辑覆盖的相关技术。
(三)从与新技术方向相结合的角度优化教学案例
软件、互联网和计算机本身就是一个不断创新、不断发展的新兴行业。新技术和新产品每天都在更新和衍生,因此软件专业课程的教学应及时地吸收并引入新鲜的知识点并传授给学生。
1. 在介绍测试过程和方法知识点的时候,将“Google如何进行测试和人工智能测试”的案例引入课堂,学生在了解传统测试过程和方法的同时,更能了解跟踪工业界最新的测试过程和方法,对于测试过程的掌握将更加深刻,也开阔了学生对于专业人士的视野。
2. 自动化测试是软件测试领域未来的发展方向。在课程教学的过程中,引入自动化测试技术的教学案例,对引导学生了解和认识自动化测试技术有很大的帮助,如“利用QTP进行自动化测试”的教学案例,能够让学生亲自体验自动化测试的过程和实际场景,同时也能够让学生自己动手编写测试脚本来驱动自动化测试,对培养学生的创新意思和实践意识有很大的帮助。
三、结束语
创新创业教育的实践性不仅要求训练学生创新创业思维、培养学生发现问题和解决问题的能力,而且也是对教师创新思维的要求。《软件质量保证与测试》课程教学内容的安排和设计是直接影响课程教学质量和效果的关键因素,同时也是能否达到创新创业教育目标的重要环节。本文从与行业背景结合、与实际项目结合和与新技术结合等方面对优化和改进课程的教学案例进行了讨论。改进后的案例已用于教学实践,学生普遍反映收获更多、学习兴趣更浓,取得了较好的教学效果。
参考文献:
[1]刘伟.高校创新创业教育人才培养体系构建的思考[J].教育科学,2011(05):64-67.
[2]王占仁.“广谱式”创新创业教育的体系架构与理论价值[J].教育研究,2015(05):56-63.
[3]王占仁.高校创新创业教育观念变革的整体构想[J].中国高教研究,2015(07):75-78.
[4]李月龙.高校软件测试课程教学改革研究[J].计算机教育,2014(14):16-18.
[5]郑炜,王文鹏,胡德生,等.基于MOOC的软件测试课程教学建设[J].计算机教育,2017(1):31-37.
[6]董威.软件工程专业在线课程建设思考[J].计算机教育,2015(6):4-5.
[7]沈备军.解读软件工程知识体系SWEBOKV3[J].计算机教育,2014(7):1-2.
[8]吴源俊.软件工程知识结构[J].信息技术与标准化,2002(5):31-41.
[9]许进.高校创业教育模式:基于案例的研究[J].教育研究,2008(4):99-102.