以工程实践能力为导向的《软件测试技术》教学模式研究
2017-09-21刘慰应新洋
刘慰 应新洋
【摘要】对现有《软件测试技术》教学模式存在的问题进行了分析,阐述了在课程内容体系设置、理论课教学方式、实验设计及课程考核方式等方面进行的改进与实践。通过强化课程的工程实践性,提高教学质量,做到让学生深入理解并充分掌握从事软件测试工作的知识与技能,从而达到培养应用型软件人才的目标。
【关键词】软件测试 能力导向 工程实践 教学模式
【基金项目】2013年度宁波大学教学研究项目(项目编号:JYXMxyb201350),受宁波大学科学技术学院重点专业建设——软件工程资助。
【中图分类号】G64 【文献标识码】A 【文章编号】2095-3089(2017)34-0221-02
一、现有《软件测试技术》教学模式存在的问题
《软件测试技术》是一门理论与工程实践紧密结合的软件工程专业主干课程,其教学目标是通过让学生学习软件测试的基本概念、原理、方法与技术,使他们拥有从事软件测试工作的能力。教学团队所在的学院重点培养应用型人才,在教学过程中发现当前采用的教学模式存在以下问题:
(一)重理论、轻实践,教学方式仍以课堂讲授为主。
由于软件测试课程内容众多,涉及面广,为了完成教学大纲规定的任务,外加学生也缺乏足够的软件开发与测试经验,教师往往偏向于选择以课堂讲授为主的教学方法,结果是学生无法通过足够的软件测试实践去真正地理解与掌握课程内容,更不知如何将软件测试理论与技术应用到实际的软件测试过程中去。
(二)内容设置与工程实践联系不够紧密,学生感觉理论内容抽象枯燥,甚至认为没有实用价值。
与软件开发类课程能够从网上获取大量的公开资料不同,由于软件测试近年来才逐渐受到重视,软件测试课程发展也较為滞后,相关的书籍与网络资源都相对贫乏。除此之外,真实的软件测试案例往往不会被企业公开,难以获取,造成学生觉得课程内容抽象、枯燥,不知道用在哪,如何用,其学习兴趣也随之大大降低。
(三)考核方式仍以传统的笔试为主,评价体系不够完善。 当前的考核方式沿袭了软件工程课程的考核方式,以对教材中理论知识的掌握为主要考核目标,仍采取笔试的方式,且占总评成绩的70%以上,造成学生趋向于考前对于理论知识进行死记硬背,而忽视了平时对于实践能力的培养。
二、以工程实践能力为导向的教学模式改进措施的研究与实施
为了解决以上问题,提升《软件测试技术》的教学质量,课程团队以培养学生工程实践能力为导向,进行了以下一系列教学模式改进措施的研究与实施。
(一)制定以工程实践能力为导向的涵盖理论与实践两个方面的课程内容体系。
教学团队通过借鉴SWEBOK(软件工程知识体系)中的软件测试部分,并融合当前先进的软件测试技术与软件工程理念,围绕着软件测试基本理论、软件测试技术与软件测试过程这三个核心内容,制定了包括功能测试、性能测试、单元测试、自动化测试、Web测试、安全性测试、兼容性测试、缺陷管理、测试用例设计与测试报告编写的课程内容体系,以达到培养学生具备分析测试需求、制定测试计划、搭建测试环境、设计与执行测试用例、分析测试结果、撰写测试文档与进行测试管理的能力。
(二)从“工程实践”的角度出发,开展多种方式方法的课程教学。
教学团队以案例式教学法为主要教学方法,通过技术论坛与博客、代码开源网站、学生作业、学生毕业设计、其他院校学生课程大作业、毕业生与学校横向项目等多种渠道收集真实的软件测试案例,并将其贯穿于整个理论教学过程。例如,在讲性能测试时,对学校横向项目中甲方的性能指标要求进行分析;在讲单元测试时,要求学生对自己在之前课程中编写的程序代码进行代码规范评审;在讲功能测试时,要求学生对较为优秀的学生毕业设计利用所学的软件测试理论设计测试用例;在讲测试缺陷管理时,引入代码开源网站上的缺陷跟踪记录。通过大量的案例,让学生树立初步的软件质量意识,认识到软件测试的重要性,激发他们积极思考,提高他们的学习兴趣。除此之外,在课上还经常让学生针对于某个案例进行分组讨论,并当堂进行演讲与评判,大大活跃了课堂气氛,提高了学生学习的积极性。
课后延伸方面,鼓励学生学习著名高校的软件测试类MOOC。对于一部分学有余力,并对软件测试有浓厚兴趣的学生,充分依托现有的软件工程实验室与工作室,鼓励他们参与真实的,具有一定复杂程度的软件项目的开发过程,以测试团队的形式进行测试工作,体验真实环境下的测试团队的工作模式,引导学生将理论知识应用于工程实践,不但能更加深入地掌握所学的知识,而且能进一步提高分析问题与解决问题的能力。
(三)大幅提高实践环节课时,围绕课程内容体系,精心设计课程实验,并设计一套与之配套的,贴近实际工程需求的软件测试实验环境。
实验环节将之前的34学时增加到68学时,并根据制定的课程内容体系,结合大量软件测试案例,如风阀控制程序、12306订票网站、融合通信管理系统、在线化妆品销售网站、在线课程网站等,设计了26个实验,涵盖了功能测试、单元测试、自动化测试、Web测试、安全性测试、兼容性测试与测试管理等各个知识点。并通过跟踪国内外软件测试技术的最新趋势及企业实际应用环境,精心挑选软件平台与测试工具,如QTP、LoadRunner、JMeter、xUnit,BugClose、Visual Studio等,使学生在实践过程中掌握目前主流的软件测试技术与工具,不但做到通过对于测试软件的使用更好地理解课程内容,而且能够提高自身技术水平,增强就业竞争力。
(四)改革课程考核方式,建立“平时+理论+实验+课程大作业”的新考核体系。
取消笔试,采取平时成绩与课程大作业各占总评成绩50%的成绩评价体系。平时成绩中,实验成绩占90%。课程大作业的要求是:学生将被分为若干个3-4人的测试小组,模拟真实的软件测试团队工作流程,针对教师指定的一个真实的具有一定规模的软件系统进行综合性测试,并要求每组在上交一系列规范化的软件测试过程文档及测试报告,并提交到缺陷管理系统中。每个组员的成绩根据测试报告的整体情况,以及自身完成工作的情况酌情给分。这样的考核方式,要求学生充分灵活应用课程所学知识,学生也有较高的动力完成。
三、新的教学模式实施效果
经过三轮教学模式的迭代,《软件测试技术》课程的及格率和平均成绩有了大幅度的提高,学评教打分多班次获得优秀,并被评为宁波市智慧产业人才基地核心引导课程,部分参与实际软件项目进行测试工作的学生也受到了项目负责人的广泛好评。有多名学生通过本课程的学习,进入著名IT公司担任软件测试工作。
四、结束语
通过几年的探索和实践,以工程实践能力为导向的《软件测试技术》教学模式,对于提高教学质量,起到了良好的效果。虽然该课程的教学目标是使学生拥有从事软件测试工作的能力,但即使大部分学生今后并不进入软件测试岗位工作,也通过这门课程的学习,提高对于软件质量的重视程度,提高了软件开发规范性,能够设计与编写更为完善的软件。在今后,本课程的教学模式还会进一步改进,如引入翻转课堂,增加与移动及云计算相关内容等。
参考文献:
[1]李亚.“软件测试”教学探索与实践[J].计算机教育,2008(6):31-32.
[2]刘强,陈越,骆斌,古天龙,吴洁明,裴小兵,朱少民,白晓颖.“软件工程”课程教学实施方案[J].中国大学教育,2011(2):41-44.
[3]叶德仕.“软件质量保证与测试”课程建设.计算机教育,2008(10):65-66.
[4]周元哲.“软件测试”教学改革的探索和实践.计算机教育,2008(22):14-15.
作者简介:
刘慰(1981—),男,浙江舟山人,硕士,讲师,研究方向:软件测试与软件开发相关课程教学研究。