案例教学法在《软件测试》课程中应用初探|交际教学法初探

发布时间:2020-02-16 来源: 短文摘抄 点击:

  摘要:针对《软件测试》课程教学中缺乏系统实例、重技术实现轻文档工作、测试工具使用流于产品说明等问题,对《软件测试》课程的教学进行了探索。在教学过程中采用案例教学法,提供给学生完整的案例系统及充分的设计文档,让学生学会根据设计文档书写测试文档、掌握测试工具的使用、培养学生自行开发测试工具的创新能力。
  关键词:案例教学法;软件测试过程;测试文档
  中图分类号:G642.4文献标识码:A
  
  目前我国软件测试人才严重匮乏,人才缺口达到30万,造成这一结果的主要原因是国内软件测试人才教育相对滞后。但实际上,很多学习了软件测试课程的学生却找不到工作,业内专家称之为人才的“结构性过剩”[1],因此,滞后的原因不仅仅是教育机构开设软件测试课程时间的滞后,主要是教学内容和教学效果与实际需要的差距产生的滞后。随着外包开发行业的快速发展,对人才在代码和文档方面的规范性、技能和工具的熟练程度要求越来越高,而这些要求正是软件测试人才教育的薄弱环节。如何顺应市场需求,培养出企业所需的软件测试人员,成为《软件测试》课程改革的目标。
  
  一、《软件测试》课程存在的问题
  
  随着软件测试人员市场需求的不断增加,各大高校、职业技术学校及IT培训机构纷纷开设了《软件测试》课程,各种软件测试的教材也相继出版发行,但教材中技术实现的内容较多,对常用的软件测试文档书写介绍很少,对自动化测试工具基本也是简略介绍其功能。在实验教材方面,目前还没有配套的软件测试实验教材问世,在教学过程中基本是任课教师自行设计实验教学内容。对于实践性较强的课程,如果没有大量的项目开发经验和完整的系统案例作为支撑,就难于用恰当的实例来解释相关理论,更难设计出实用有效的实验内容,导致在校学习的知识与实际工作脱节的现象。
  
  二、《软件测试》课程采用案例教学法的必要性
  
  案例教学法最早起源于美国哈佛大学商学院,自20世纪20年代以来一直被广泛地应用于商业、法律、医学领域培训中,随着案例教学法的推广、成熟,案例教学法受到其他专业领域的重视。案例教学法是根据教学目的和培养目标的要求,教师在教学过程中,以案例为基本素材,把学生带入到特定的事件情景中进行分析问题和解决问题,培养学生运用理论知识并形成技能技巧的一种教学方法。与知识为导向的讲授式课堂教学模式相比,案例教学法更注重学生知识的运用能力,以学生实际能力的提高为最终教学目的。
   “软件测试”课程的教学目的是让学生深刻理解软件测试思想和基本理论,熟悉多种软件的测试方法、相关技术和系统的软件测试过程,学会编写测试规格说明书,测试报告,并学会使用几种流行的自动化测试工具,从工程化角度提高和培养学生从事大型软件的测试技术和能力。因此在教学过程中,必须引用系统的工程化的案例作为理论课教学载体和实验课教学的实施对象,这样才能帮助学生深刻理解基本理论,并通过实验掌握测试的技能和技巧。
  
  三、案例教学法在《软件测试》课程中的实施
  
  本课程的培养目标是根据市场需求,结合实际工作中企业对“新人”的培养模式及实际工作的方式方法,通过若干系统案例对学生进行测试技能的训练,让学生以“经验者”的身份进入人才市场参与竞争。
  (一)根据学生特点规划教学内容
  由于学生缺乏整体项目开发经验,我们主要针对初、中级测试工程师设计教学内容。而针对高级测试工程师和测试管理者担当的工作,比如测试计划的制作、各种设计的验证、测试评估和总结,需要经历初中级测试工程师的实战,积累大量经验才能承担。这一部分内容,我们只在理论教学中简单讲述,不在实验教学中安排实验内容。
  (二)根据教学阶段选择案例素材
  根据教学进度和学生对知识的掌握程度,采用由简到繁、循序渐进的方式选择如下三个案例进行教学:
  (1)选择经典案例设计的“被测软件系统”作为软件测试基本技术的案例进行理论和实践教学。
  (2)选择以C/S模式实现的“小区物业管理系统”作为软件测试过程、测试用例设计、测试文档书写相关内容的案例。
  (3)选择以B/S模式实现的“图书馆管理系统”作为面向对象测试、网站测试的案例。
  在理论课教学中主要以“被测软件系统”、“小区物业管理系统”作为案例进行理论知识的讲解,与网站测试和面向对象测试相关的内容以“图书馆管理系统”作为案例进行讲解。这样,进行完理论教学,学生对案例系统的功能基本了解。在实验教学中,我们提供给学生在测试中需要的代码、开发规范、需求分析、系统设计书、概要设计书、详细设计书,具备了以上资料,便可模拟实际工作模式,将理论教学中讲述的测试技术和测试文档的书写方法运用到案例的测试实验中。
  (三)模拟实际项目完善案例系统
  现有的软件测试教材,通常会在最后章节给出一个案例,对该案例利用教材上介绍的各种测试方法针对性地进行测试用例设计。但是,教材对案例的描述基本只限于项目背景介绍、子系统介绍、子系统性能及可用性要求方面的内容,基本没有提供可运行案例系统的代码,同时也缺乏必要的供测试使用的文档。大量的案例参考书中,有可运行的系统代码却没有测试必须的较完备的文档。实际工作中,软件测试过程与软件设计周期有相互对应的关系,软件测试过程中的单元测试、集成测试、系统测试、验收测试分别对应软件设计中的详细设计、概要设计、系统设计和需求分析。因此,要完成一个系统的较完整的测试过程,不仅要提供被测系统的完整代码及数据,还必须提供全套的设计文档。
  针对以上三个案例系统,我们首先补充完成需求分析、系统设计书、部分模块(单元)的概要设计和详细设计书,力争陆续完成整个系统的完整设计资料,以供学生测试使用。
  (四)针对测试技能训练设计缺陷案例
  为了检验学生的测试技能,在不同的实验中,人为地在案例中设计针对性的缺陷,锻炼学生检测故障的能力、故障描述能力以及跟踪定位缺陷的能力。在测试技术实验中我们人为制造各种缺陷,让学生通过白盒及黑盒测试技术去发现缺陷,并学会根据不同的软件设计选择最佳的测试技术进行有效、高效的测试。在软件测试过程实验中,人为拆散系统,让学生自行设计桩模块及驱动模块,搭建单元测试环境;提供给学生零散的单元模块及概要设计书,让学生利用集成测试策略实施集成测试。
  (五)选择适当测试工具进行案例测试
  教材上简略介绍了十几种测试工具的功能,但实际使用方法缺乏资料。在教学中,我们选择代表性的CodeReview、Nunit、QTP三种工具进行代码检查、面向对象测试、录制测试过程及编写测试脚本,帮助学生掌握常用工具使用方法。
  在教学过程中,引导学生分析测试工具的实现原理,启发学生从不同的侧重点去思考测试自动化工具的设计及实现方法。
  
  四、后续教学改革构想
  
  (一)教学进度的调整
  计算机课程的实验教学,通常和理论课同步或迟后几周进行。对于“软件测试”这门课程的实验教学,如果与理论课同步进行,前期的实验内容安排就缺乏理论支持,如果比理论课迟后几次,即在讲述白盒测试和黑盒测试后开始实验教学,就可以将各种测试方法融入实验中进行。但由于软件测试过程及技术、测试文档书写相关内容还未讲述,实验内容的安排显得孤立,没有整体感。为了让学生体验软件测试在实际工作环境中的实施过程,将理论课讲述的知识有机地融入到完整的案例中进行实验,就需要系统地学习完理论知识后,再结合实际案例系统地进行实验。
  以后的教学中,拟打破传统的周4学时,即理论2+实验2的排课模式,将一个学期分为理论上半学期,实验下半学期,上半学期周4学时用于结合案例进行理论教学,下半学期周4学时针对理论课讲述的案例进行实验教学,以便学生能够模拟实际工作环境进行系统的软件测试实验。
  (二)相关课程连贯教学
  软件测试课程是伴随软件行业的迅猛发展而诞生的,在此之前,软件测试隶属于软件工程课程进行教学。由于软件测试伴随软件的整个生命周期,因此,软件测试课程的理论教学和实验教学,必须贯穿于软件开发的全过程。在以后的教学中,对软件工程专业的学生,拟采用课程连贯教学法,通过编程语言课程、软件工程、编程实训课程、软件测试课程相结合的方式,采用同案例、跨学期的方法进行连贯教学,即在某一编程语言教学中引入案例,进行案例片段程序的讲解,在软件工程课程中进行系统设计,在实训课程中实现案例,在软件测试课程中进行测试的一系列训练。这样,便于学生将所学知识关联起来,了解课程之间的联系和软件项目开发的流程,让学生通过两至三学期的时间去消化几门课程的同时,体会一个项目开发的全过程。
  
  五、结束语
  
  各高校、职业技术学校和职业培训机构都相继开设了软件测试课程,在这门课的教学过程中,教师们不断摸索新的教学方法和教学手段,取得了一定的成果。但由于计算机行业日新月异的发展,也给软件的测试带来了挑战。因此,在教学过程中,教师必须关注行业发展的前沿,提出软件测试过程中亟待解决的问题,启发学生去思考并寻求解决的方法。同时,教师应尽可能参与实际项目开发,为理论及实验教学积累实用真实的案例资源。
  
  参考文献
  [1]刘德宝.软件测试工程师培训教材[M] .北京:科学出版社,2009.
  [2]北京阿博泰克北大青鸟信息技术有限公司.行业规则和行业经验手册[M] .北京:科学出版社,2008.
  [3]胡宏银.软件测试课程教学方法探讨与实践[J] .计算机教育,2007(6).
  [4]吴建平.高职“软件测试技术”课程存在问题和应对措施[J] .计算机教育,2007(9).

相关热词搜索:教学法 初探 案例 案例教学法在《软件测试》课程中应用初探 案例教学法在 软件测试需要学什么

版权所有 蒲公英文摘 www.zhaoqt.net