欢迎来到天天文库
浏览记录
ID:31434315
大小:105.50 KB
页数:6页
时间:2019-01-09
《核心概念与案例驱动的软件测试课程教学研究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、核心概念与案例驱动的软件测试课程教学研究 摘要:提高计算机相关专业学生的软件测试水平,将有利于保证学生毕业后开展高水平的软件测试工作,从而进一步提高我国的软件质量。文章分析软件测试教学过程中存在的问题,提出以核心概念与案例驱动的软件测试课程教学改革,阐述其具体方法和实施途径,最后总结课程评价和效果。 关键词:软件测试;核心概念;案例驱动 0.引言 随着软件日益渗透到人们生活的方方面面,人们对软件高质量的要求也日渐迫切。然而,通过与软件企业中的项目经理和测试人员沟通交流,大多企业表示,虽然软件测试工作是一项重要
2、工作,但与系统开发人员和软件设计师相比,软件测试员的工作未能得到应有的重视,这与软件测试人员的技术水平以及业界的重产出轻质量相关。因此,提高软件测试水平,将有利于开展高水平的软件测试工作,保证软件的高质量,同时,也会为软件测试职业带来正面效应。 1.存在的问题 1.1基本概念混淆6 目前,大多数高校均开设软件测试课程,通常以讲解理论知识为主,实践教学环节只占很小的部分,即教师重理论、轻实践;另一方面,学生普遍对理论不感兴趣,重视软件测试工具的使用。最后结果是学生对测试理论一知半解,对测试工具的掌握粗枝大叶。
3、通过调研可以看出,学生对软件测试中的基本概念含糊不清,经常混淆。比如,软件测试与调试,软件错误(error)与故障(fault),软件故障(fault)与失效(failure)等混为一谈。对软件测试的基本原理不清,表现为对诸如覆盖(coverage)、故障传播模型(RIP模型)、测试充分性等不甚了解。众所周知,对一门学科的核心概念的精准把握,有利于掌握该学科的基本原理。反之,核心概念的混淆,反映学生对软件测试原理的理解不够深入。 1.2案例及测试教学工具缺乏 软件测试是一门实践性很强的课程。学生们如果不能亲手完成
4、测试活动的各个过程,就很难真正地掌握软件测试的相关知识,更难胜任软件公司的软件测试工程师岗位。目前,大多高校都对软件测试课程的实践教学环节高度重视,也采取了案例驱动的教育教学改革。然而,适用于高校教学的实际案例不多见,软件测试教材中所给出的诸如判断属于哪种三角形的案例很难适应软件测试对象不断发展的要求。高校在案例及可应用于教学的测试工具选择上存在困境。如何在给定课时的情况下,既教授学生专门的软件测试理论知识,又让学生掌握市场上常见的软件测试工具,对高校的教师的确是一个很大的挑战。 1.3师资缺少工程背景 软件测试
5、是一门艺术,Boris6Beizer等将软件测试划分为五级,leve10到level4。在最高级(1evel4)中,测试看作是一种智力训练,能够帮助所有的IT专业人员开发出更高质量的软件产品。由此可见,软件测试虽然感觉起点要求比较低,但是到第三级以后,软件测试工程师不但要有软件测试的相关理论知识,还要有大量的与软件产品质量相关的知识。大多高校都缺少专门从事软件测试领域研究并具有丰富工程背景的教师。近年来,不少本科高校引进了大量的计算机相关的博士,软件相关的博士依然较少,而博士偏重于某一狭小领域的研究方向,对整个软件相
6、关的本科专业教学帮助并不大。因此,解决软件测试的师资及其工程化背景,是提高软件测试教学质量的关键之一。 2.方法 2.1以学生反馈为抓手,重点灌输核心概念和测试思想 核心概念的清楚把握是理解某一门技术的关键。例如,在整个软件测试过程中,软件规格说明书起着至关重要的作用,是衡量软件是否失效的关键。表1是软件测试中所涉及的核心概念。基于这些核心概念,我们通过随机测验的方式及时了解学生的掌握情况。 通常的测试结果显示,学生对有些概念的理解令人惊讶。我们需要对这些概念进行重点标注,并调整部分教学内容的讲授。 软件测
7、试本质是一种抽样技术。正如Beizer所说,测试很简单,测试人员只需要找到一个图然后覆盖它。然而,覆盖的原则是什么?关注点在哪里?我们需要结合故障传播的过程,并进行多次强化。故障传播模型有利于学生理解软件失效产生的过程,而能理解软件工作即为发现软件失效的过程,而软件调试即为已知软件失效去找到bug并进行修复的过程。通过学生的多次反馈,积极灌输测试基本概念与测试思想,有利于学生理解软件测试的本质思想,更有利于后期的测试实践。6 2.2以案例驱动打通软件测试工作流程 软件测试是一门艺术,更是一项工程实践活动。学生在教
8、学活动中工程实践能力的提高是判断教学质量的关键。因此,很多高校都试图探索出符合本校学生实际的项目驱动教学方案。自2012年,我们也进行了案例驱动教学改革的尝试。我们认为,单元测试是集成测试、系统测试等方法的基础,通过案例驱动,打通软件测试的整个工作流程比讲授更多的测试技术更重要。因此,在整个案例驱动过程中,我们侧重于精讲单元测试过程中各个测试准
此文档下载收益归作者所有