当前位置: 首页 > 玩乐 > 正文

软件测试课程总结 进行基本的测试训练

作者:admin 发布时间:2023-12-03 09:48:34 分类:玩乐 浏览:136


  软件测试课程总结篇1

  关键词 软件测试 实践教学 测试工具

  中图分类号:TP311.53 文献标识码:A

  1 软件测试课程教学现状及分析

  1.1 软件测试课程教学现状介绍

  软件测试是软件工程专业本科生的一门重要的必修课程。在本校的课程设置中为56学时,其中理论教学为32学时,上机实践为24学时,由于软件测试的各个环节分别对应于软件工程的相应环节,使得软件测试课程的内容庞杂,而其实践环节也相应地具有内容杂,任务重的特点。

  软件测试的教学目标是通过理论及实践教学,让本科生熟悉软件测试的工作流程、常用软件测试方法及常用工具的使用及软件测试过程管理。

  教学过程中的主要参考书目为机械工业出版社出版,原著为Paul C.Jorgensen,韩柯等译的《软件测试(原书第2版)》,原书的英文名为《Software Testing A Craftsman''s Approach(Second Edition》。授课基本流程基本也是依据以上教材的流程,首先介绍软件测试的概论,介绍什么是软件测试,软件测试的意义、软件测试的基本流程和基本概念等内容。接着介绍贯穿全书的软件测试需要的示例以及软件测试所需要的基本理论知识,包括测试人员使用的离散数学及图论相关知识。介绍完以上知识以后,按照软件测试流程依次介绍单元测试、集成测试和系统测试的测试用例开发方法和技术。其中在单元测试部分分别介绍单元测试部分的黑盒测试和白盒测试内容,黑盒测试部分包括边界值测试、等价类测试和基于决策表的测试,在白盒测试部分介绍路径测试、数据流测试等结构性测试方法的测试用例开发技术。介绍完以上内容以后,又介绍了面向对象的软件测试方法。

  课程的上机实践基本上也是配合上课的流程进行安排,在相应的知识点介绍以后,安排学生按照指定的技术开发测试用例以进行测试活动,附带掌握相应的软件测试的各种管理和自动化工具。

  1.2 软件测试课程教学现状分析

  通过以上教学流程的描述结合以往毕业生工作以后反馈,可以总结其教学过程的特点为:通过系统的学习,同学们基本上能掌握软件测试用例开发的各种技术要点,对所有的知识点都有所触及,通过学习同学们基本上能够掌握各种实用的软件测试用例的开发方法,也能将各种方法应用于实际软件测试中。

  而在实际软件测试实践中,软件测试工作具有以下特点:

  首先,依据测试工作越早开展越有利的原则,软件测试一般从开发的初期就开始介入。例如在开发初期,需要编制测试计划进行时间人员和物力上的计划;在需求分析阶段需要进行软件测试的系统测试用例的开发;在设计阶段需要进行集成测试用例的开发,随着设计粒度越来越细,相应的路径及数据流集成测试用例也向下扩展;到达软件编码阶段,主要依据相应白盒技术进行单元测试用例的开发。其次,现代化的测试管理技术需要利用软件全面管理软件测试过程中的环节,包括测试计划的建立及管理、测试用例的管理、测试过程评价管理等。最后,因为人力资源成本的提高及各种技术限制,各种自动化的软件用例的运行软件的使用越来越多等。

  通过比较教学过程及实际软件测试的开发过程很容易发现以往教学过程具有以下限制:

  首先,没有将软件测试作为软件开发的有机部分进行介绍,而是将软件测试过程从软件开发过程中割裂开来。知识点没有按照实际应用过程展开,容易造成同学们掌握各个知识点,却无法形成知识实际应用能力。其次,缺少相应的测试管理软件的介绍和实践,影响了同学们对软件测试管理的重要性的认识。最后,教学课程缺乏同学们比较感兴趣的各种软件测试自动化工具的介绍。降低了同学们的学习兴趣。

  2 软件测试课程教学改革方法探讨

  通过上文的现状介绍和分析,针对以上教学方法进行改造,同时本着扬长避短的原则,在中国石油大学(华东)软件工程专业2009级软件测试课程教学过程中进行了教学改革。

  教学改革的契机为本校软件工程专业和IBM公司开展教材合作编写项目,软件测试作为软件开发的重要部分获得了空前的发展良机。

  具体的有利因素可以概括为:首先,学校向IBM公司购买JAZZ开发平台及相应的专业软件测试管理软件。通过和业界领先的最新的软件测试管理软件接触,了解了最新的软件测试管理理念;其次,通过IBM公司对教工的业务培训,了解了IBM公司的各种软件测试工具的使用情况;最后,通过本文作者共同努力,将平时用于开发的实际应用软件例如体育公共课管理软件等进行整合,用于软件测试用例的案例教学。

  有了以上基础前提以后,结合以上有利条件,教改的主要做法如下:首先进行案例化教学,通过自己开发的软件这样生动的实例向同学们介绍软件开发过程中的软件测试的重要性和各种原则,避免了介绍知识的空洞和乏味,提高了同学们的学习兴趣;其次,在案例化教学的指导思想下,重新安排各个教学点的教学顺序,主要脉络为依照软件开发的实际流程,首先介绍系统用例开发技术,然后介绍继承测试用例开发,到最后介绍单元测试用例开发方法。在运行测试用例的过程中,充分结合IBM公司提供的各种软件测试用例运行工具,使得学生能够活学活用。最后,充分利用IBM的软件平台,介绍业界领先的软件管理工具的使用,使得学生学习兴趣得到极大提高。

  通过以上的教学改革,理顺了教学和实践的关系,使得教学过程紧密联系实际软件的开发过程,同学们对软件测试课程的理解得到了加深。

  3 结论及下一步工作

  通过上文对教学现状的总结,以及针对教学现状的利弊进行分析,本文充分利用外部优势大胆进行了软件测试的教学改革,取得了预期的改革目标。同时也注意到改革工作才刚刚开始,还有很多需要完善的地方。接下来的工作主要包括:进一步丰富用于软件测试教学的案例及密切关注业界测试技术的最新发展以用于教学。总之,本文的教改工作达到了预期的目标,使得同学们对于软件测试的理解较之以前更加条理化、系统化和实用化。

  参考文献

  [1] 匡青.高职院校软件测试课程教学改革探索[J].现代商贸工业,2010.3.

  [2] 施瑶.软件测试课程开设初探[J].福建电脑,2010.2.

  软件测试课程总结篇2

  我院从2004年即开设了软件测试方向,在培养方案、课程体系、实践环节等方面作了大量的探索、研究和实践工作,取得了一些成效,也遇到了许多问题。本文对我院的软件测试技术人才的培养模式进行分析和总结,希望能抛砖引玉,与同行交流。

  1两年制软件测试方向课程体系的特点

  两年制软件测试人才培养的特点主要有:

  (1) 学制短,只有两年;

  (2) 目标是培养实用型软件测试技术人才;

  (3) 要具备一定的编程能力。

  上述特点决定了软件测试人才的课程体系的特点:

  (1) 方向即专业由于学制短(两年),除了第四学期的毕业实训,实际上真正上课时间只有三个学期。所以软件职业技术人才不能像本科生培养一样,到大三才分方向,而必须从入校就开始分,所以软件测试方向实际上是按软件测试专业来培养。

  (2) 开发与测试兼备一个合格的软件测试人员必须具备基本的编程能力和软件开发人才的基本素养。所以软件测试方向的课程除了测试课程外,还要掌握软件技术的基本课程,包括数据结构、数据库、计算机网络、软件工程,以及至少一门主流程序设计语言等。

  (3) 课程紧凑、课时多由于相对于其他专业来讲,软件测试方向的学生要学习更多的课程,所以课时就多,课程安排紧凑。

  (4) 实用性和实时性作为实用型软件测试人才,学生必须掌握当前主流的测试工具、实用测试技术和方法等。所以课程体系必须要具备实用性和实时性。

  2课程的设置

  在设置课程时,我们进行了大量的调研,经过2004级和2005级两届学生的培养实践,针对培养效果,进行了一些分析和课程改革。目前2006级的课程设置是在掌握基本的软件技术基础知识和一门主流程序设计语言的基础上,开设了“软件测试技术”、“功能测试与性能测试”、“测试管理”等软件测试专业课程。

  主要专业课程设置见表1。

  从功能上讲,课程的设置可以分成5个部分,对应学生不同层次能力的培养。

  第一部分程序设计能力、工程化开发思想的培养。该部分的课程主要包括VB、Java、数据结构、计算机网络、数据库、软件工程等,主要是软件技术基础知识的学习,培养学生基本的程序设计能力,使之具备软件技术人才的基本素养,同时软件工程等培养学生工程化和规范化的软件开发思想。采用Java作为主要编程语言,将另一主流语言C#作为选修课,体现课程设置的灵活性。

  在编程的课时和基础训练上和软件技术专业编码方向的学生一样,设置的原则:首先是一个软件测试人员必须具有基本的编程能力和经验,才能更好地搞好软件测试工作。第二是根据当前软件企业的人才需求考虑学生的就业,因为河南省绝大多数软件企业规模都较小,设置专职的软件测试岗位的较少,程序员通常又是测试员,所以使学生既能编程又能测试,拓宽就业渠道。

  第二部分软件测试基础知识。主要是“软件测试技术”课程,侧重于测试理论和技术的掌握、搭建测试环境、测试工程师的基本职业素养培养。使学生在学习编程的同时,掌握对应的测试技术概念和基本知识。为进一步的实际项目测试打下基础。该部分对应有2周的一级集中实践课题,进行基本的测试训练。

  第三部分主流测试技术和工具的掌握和使用、实际测试能力的强化和提高。对应的课程是“性能测试与功能测试”,该课程主要是结合实际的软件项目,介绍主流的测试技术和测试工具的使用,但并不只是性能测试与功能测试。该部分对应有3周的二级集中实践课题,分组进行实际的测试训练。

  第四部分测试项目管理能力培养。主要课程为“软件测试管理”,培养学生工程化的测试思想,学习主流测试管理方法和工具的应用。该部分对应有3周的三级集中实践课题,训练项目的测试过程管理和测试管理工具的使用。

  第五部分综合测试能力培养,即毕业实训。该实训为最后一个学期,学生到软件企业或实训基地参加实际的软件项目开发和测试,进行实境实习,综合地运用所学的测试和编程技术。

  3实践环节

  培养过程的实施可以归结为“夯实基础,强化训练”,夯实基础即培养基本的编程能力和掌握基本的测试技术。强化训练即强调实际能力的培养,通过对实际的软件项目进行测试训练,使学生熟练掌握主流的测试技术和测试工具的使用。

  为了加强实际能力的培养,在正常教学的实践外,我们还在第1~3学期分别设置了一级、二级、三级集中实践课题,并要求软件测试方向的学生要与软件编码方向的学生组合协作进行,专门负责相应的软件测试工作。使学生感受到测试工作的重要性,同时培养其协作能力。一级和二级实践课题主要为验证型,三级实践课题则为设计型。

  第4学期为毕业实训,采用实地场景教学,对实际的应用项目进行测试,角色模拟,项目驱动。该阶段从测试需求分析开始,一直到测试总结报告的撰写,贯穿一个完整项目的开发和测试整个过程。是对学生所学知识的一个总结和综合利用的强化。

  各实践环节环环相扣,循序渐进,由易到难,由单一到综合,形成一个完整的实践体系。

  集中实践环节安排见表2。

  4测试工具的选择

  由于软件测试工具较多,而两年制课时太紧张,所以只能学习常用测试工具的使用。我们选用的主要自动化测试工具见表3。

  通过测试工具的使用,可以加深对测试原理和理论的理解,掌握主流的测试技术和方法。

  5遇到的问题及采取的措施

  软件测试人才作为刚兴起的职业技术人才,在培养过程中必然会遇到许多问题,相信这些问题也是其他院校在培养软件测试人才时遇到的共性问题,我们针对这些问题采取了许多有效的措施,不断改进。

  (1) 对口就业较难

  主要原因是我国“重开发,轻测试”的现象过于严重,很多软件公司没有专门的测试部门,测试工程师太少,开发人员兼作测试工作的现象十分普遍。但并不是说我们的培养方向不对,这正说明软件测试工程师职业还没形成规模,正在兴起时期。据2006年12月国家信产部“2006中国软件质量年会”公布,软件测试人才为2006年最紧缺的人才之一,在上海、北京等地,软件测试工程师已成为“地位高,待遇高”的“双高”人才。企业规范化需要规模和过程,软件质量问题将成为软件企业能否继续发展壮大的关键所在,越来越多的企业管理者意识到产品测试的重要性,所以软件测试工程师属于朝阳职业。

  当然我们也采取了有效措施,如在前期强化基本的编程训练,使学生既能搞开发,也能搞测试,提高就业的灵活性。

  (2) 教材少

  软件测试作为一个新的专业(方向),目前还没有成体系的软件测试系列教材,所以在选教材时只能选与教学大纲内容相近的教材或技术书,或自己编写讲义。但给讲师授课带来许多困难。当然要很好地解决该问题需要教育管理部门和众多同行的共同努力。

  (3) 测试项目实例缺乏

  由于测试项目都属于公司内部资料,一般很难获得,不像通用应用程序模块一样在网上可随意找到。对此我们组织设计了一些测试案例,同时从合作的软件公司获取了一些实际项目案例,使学生能在实境中实践。毕业实训时大部分学生则直接到软件公司进行实地实习。

  (4) 师资力量薄弱

  师资是保证教学质量的关键,开始时师资力量较薄弱,我们采取的措施有:挑选有实际项目开发经验的老师来授课、从IT公司引进专业测试工程师、将有一定测试工作经验的老师送出去加强培训等。另外还不定期聘请IT公司的测试专家来做专业讲座,拓展学生的知识面。

  6结束语

  软件测试课程总结篇3

  【关键词】软件测试 教学方法 实践 探索

  【中图分类号】G623.58 【文献标识码】A 【文章编号】2095-3089(2012)11-0220-02

  1.软件测试课程开设的背景

  随着软件的规模和复杂性与日俱增,软件缺陷导致的各类损失不断增加,甚至带来灾难性的后果,软件质量问题已经成为所有软件使用者和开发者关注的焦点。作为软件质量保证和质量控制的有效手段,软件测试愈发体现出其自身的重要性,受到了越来越多的关注[1-2]。

  国外的软件厂商极为重视软件测试,在欧美等软件产业发达国家的软件企业中,测试人员与开发人员的配置比例一般已达到或超过1:1,而在国内被调查软件企业中,能够基本达到该比例的企业仅占22%[3]。由于我国企业对于软件测试在软件质量保障中的重要作用认识较晚,导致软件测试人才的供需之间存在着巨大缺口。据国家权威部门统计,我国软件人才缺口超过100 万人,其中很大一部分为软件测试人才,缺口达到30~40万[4]。为缓解高端技能人才紧缺问题,原信息产业部将软件测试工程师列为国家紧缺型人才,并于2004年联合五部委颁布的124号文件中强调要“加快培养软件测试人才,开展软件评测技术的研究”,为软件测试人才的培养提供了政策支持。

  2.软件测试课程的教学目的

  我们是对计算机专业的学生进行软件测试课程的教学,而不是进行软件测试专业人才的培养,计算机专业的学生至少能熟练掌握一至两门软件开发语言,熟悉计算机网络、操作系统、数据库、中间件等的基本知识,能从事对应的程序开发工作。所以本课程教学的目标主要有三点:其一,帮助学生掌握规范化的软件开发流程,熟练掌握软件测试的基本理论;其二,能进行一般的软件测试,能设计测试方案,编写测试用例,至少能掌握一种软件测试自动化工具;其三,让学生了解软件测试行业的特点,了解软件测试职业和职位,培养学生的兴趣爱好,开拓就业方向,为有志于进入软件测试行业的学生提供一定基础。总的来说就是让学生成为初级软件测试人才,为学生进一步成为中、高级软件测试人才提供坚实基础。

  该课程需掌握的知识主要包括:

  1)掌握软件测试技术的基本理论、基本方法。包括熟悉黑盒测试技术、白盒测试技术、基于缺陷模式的测试技术等等,熟悉单元测试、集成测试、系统测试、回归测试、性能测试、功能测试等测试方法。

  2)能进行测试方案的设计,测试计划、测试用例的编写。

  3)至少掌握一种软件自动化测试工具的使用,能进行测试环境的配置,并能了解其它自动化测试工具。

  4)能进行测试结果分析以及编写测试总结报告。

  3.软件测试课程教学中目前存在的问题

  (一)课程定位不明确

  随着软件测试行业的兴起,许多高等院校认识到软件测试人才培养的重要性,纷纷开设软件测试专业或者软件测试课程,但是如何专业的培养软件测试人才还没有一个完整的体系。在我校,因为没有开设软件测试专业,软件测试课程应该作为专业必修课、限选课还是选修课一直存在争议。目前作为一门专业限选课程,授课内容和授课的形式也存在一些争议。在授课内容方面,目前的软件测试教材大都是近几年出版的,内容安排上基本是按照测试理论、测试技术、测试工具、测试实践、测试管理的顺序依次展开。内容上“面面俱到”,如何在教学过程中“面”与“面”之间取舍、平衡,使之达到软件测试课程设置的目的还不是特别明确。

  (二)课程教学方法单一,缺乏教学互动

  虽然目前市面上已经有大量的软件测试教材,但是基本上以理论居多,教材中案例的例子也不多,导致教师在课堂教学过程中,通常只是凭自己以往的教学经验,利用传统方法简单地讲解,不能通过师生和谐的双边活动完成课堂教学任务或者达不到理想的教学效果。另外,由于是一门新兴的课程,既有深厚的理论功底又有丰富实践经验的教师非常缺乏,因此教学方法和手段难免因循守旧,教学过程开展得不够深入、彻底,存在大量的不规范性和随意性。高校中虽有讲授软件工程的主讲教师能很好的讲解软件测试理论和介绍软件测试方法,但缺乏较好的软件测试案例和一定的工作经验,因此很难出现生动活泼的教学场景,与学生的互动鲜有显现。

  (三)课程实践环节薄弱

  《软件测试技术》课程作为一门新兴课程,具有理论性抽象。为了更好地实现教学目标,这不仅要求讲授的教师具有深厚的理论功底,更要求教师具有丰富的实际软件项目测试经验,同时也需要学生具备一定的程序编写能力和严谨的逻辑思维能力。但现实中高等院校严重缺乏这类具有实践经验的教师,也缺乏对教师进行相关的培训工作,另外大多数学生的动手实践能力和编程能力也比较薄弱,这些都是实践教学中遇到的现实问题。除此之外,软件测试这门课需要适当的软硬件投入,尤其是软件,目前市面上比较好的测试软件都不是免费的,建一个专用实验室动辄就要几十万甚至几百万,普通高等院校很难有充足的经费专门为一门课程建立一个专用的实验室,这也是实践环节的现实问题,因此我们只能选择一些开源的免费测试软件进行教学工作。

  4.教学方法探索与实践

  (一)激发学生对本课程的兴趣

  培养学生对软件测试课程的兴趣,是成功教学的第一步。课程的开始可以通过列举历史上许多经典案例,如“千年虫问题”、“美国火星登陆事故”、迪斯尼公司的“生病的狮子王”等等来说明软件测试的现实问题和重要性;然后介绍软件测试行业的发展,人才需求等情况,鼓励学生对软件测试行业的就业倾向。

  (二)运用案例进行教学

  在讲解理论知识的同时,使用案例来进行分析及表现理论知识的运用,可以很好地帮助学生获得感性认识。例如在讲解黑盒测试的等价类划分方法时,引用经典的三角形问题案例;在讲解边界值分析方法时,引用加法器案例;在讲解决策表方法时,引用NextDate函数案例等等。运用案例进行教学,学生一方面能够理解理论知识,另一方面能学习理论方法的具体运用,进一步加深对理论知识的掌握,同时也为学生进行测试用例的设计打下坚实的基础。进行案例教学时需要掌握一定的技巧,比如在课堂开始不要急于讲解理论知识,而是先引出案例需要解决的问题,引领学生去思考,带着问题去学习,这样可以取得事半功倍的效果。

  (三)加强理论讲授与实践环节的互动

  由于软件测试课程实践性强,在课程设置上采用理论授课与上机实践相结合的授课方式。在我校,采用2+2的教学模式,即每周2节理论课与2节实践课同时进行且必须是同一个教师授课。这样在讲解理论知识时,可以将学生在实践中使用的方法、步骤及遇到的问题拿到理论课中进行讲解,让学生知道为什么这样做,这样做的依据来源于哪些理论知识,如此可以使学生深刻理解理论知识的重点。另外在上实践课时,教师用约三分之一的实践时间先行讲解实验目的、内容、方法及步骤,讲解的过程中,教师不能只为做实验而实践,必须讲清楚这个实验来源于哪些理论知识,哪些已经学过,哪些还没有学,学过的知识需要再简单口述一遍,没有学过的也要简单的介绍一下知识要点,让学生有初步的了解。这样一来,理论课与实践课就可以形成良好的互动,知识要点有一定的重复率,学生也勤于思考,积极动手,学得明白,有很强的收获感,越学越有劲。

  (四)开放自主互评式教学

  为了让学生积极参与到本课程的教学与实践中,可以让教师与学生的角色在一定程度上进行互换,进行开放式学习实践,学生可以从探索知识的奥妙中获得成就感,同时还能培养学生的集体协作精神。

  (五)适当进行阶段性考核

  在一个学期的教学过程中,一般有18周,时间跨度比较长,而实时掌握每个学生的学习情况非常重要,一个重要的方式就是进行阶段性考核。约每隔6周进行一次阶段性考核,了解学生对前一阶段所学知识的掌握情况,同时还能了解学生前一阶段的知识难点、学习态度等问题,可以进行重点、个别指导。阶段性考核的次数不宜太多,一个学期大约进行两次。每次时间也不宜太长,一个课时的时间就可以了。主要考核学生对基础知识、基本理论的掌握情况,不宜考核一些偏、难、怪的内容。按照经验,进行阶段性考核,对学生的考核结果进行公开评价,可以发现学生之间的差距,让学生了解自己的学习状态,有效端正学生的学习态度,有力促进学生主动学习。

  5.总结

  软件测试在国内软件行业正越来越受到重视,社会需要大量的软件测试人才,许多高校因此开设了软件测试课程。但软件测试人才的培养才刚起步,需要学校、教师、学生和公司共同努力,才能培养出社会真正需要的软件测试人才。本文就我校开设的软件测试课程作为专业限选课,以拓展学生知识面为目的,对进行的教学活动做了一些有益的探索。从近三年的教学结果来看,经过不停的改进教学方式方法,在试卷难度相当的情况下,学生的平均成绩从最初的65.3分提高到83.4分,取得了一定成效。今后将进一步探索有效的教学方式方法,增强实践教学,不断提高教学水平,以期达到更好的效果。

  参考文献:

  [1]柳纯录,黄子河,陈渌萍.软件评测师教程[M].北京:清华大学出版社,2006.

  [2]赵翀,孙宁.软件测试技术:基于案例的测试[M].北京:机械工业出版社,2011.

  [3]武剑洁,石桂玲.软件质量与测试教学内容改革的探索[J].计算机教育,2010(20):30-37.

  [4]宋建伟,刘小平.软件测试培训课程体系浅析[J].信息安全与技术,2010(10):94-96.

  作者简介:

  软件测试课程总结篇4

  关键词 软件测试 教学改革 能力培养 教学过程 课程置换

  中图分类号:G424 文献标识码:A

  Exploring about the Reform of Software Testing Course

  in the Application-oriented Institutions

  PANG Haibo, LI Zhanbo

  (Software Technology School of Zhengzhou University, Zhengzhou, He'nan 450002)

  Abstract This paper analyzes the software testing industry, and a number of issues that exist in teaching, summed up the software companies for software testing requirements and industry demand conditions talent for talent, summed up the software testing professionals should have the basic knowledge and quality requirements, focusing on the improve student software testing theory, technical capacity, a new model of software testing from the curriculum reform, teaching, engineering practice, school-enterprise cooperation and replacement programs, etc., to stimulate students' enthusiasm and motivation to learn and improve training quality of software testers.

  Key words software testing; teaching reform; ability training; teaching process; course change

  近年来,中国软件产业保持了飞速发展的趋势,软件产品的质量备受所有用户特别是IT行业用户的关注。软件测试作为软件开发过程中重要的一环,对保证软件质量具有至关重要的意义,同时也是控制软件质量的重要手段之一。目前,国内许多软件开发企业对软件开发仍然存在“重开发、轻测试”的思想,因此,尽快建立完善软件测试人才的系统培养环境、提高软件测试人才的培养质量,为软件产业的健康发展提供智力支持已成为软件测试专业课程和教学改革的主要目标之一。

  本文首先分析了我国软件测试行业和教学存在的若干问题以及IT企业对软件测试人才的素质要求,接着讨论了软件测试专业课程的设置和定位问题,结合笔者的工作实际以及校企联合开展大学生软件测试技能竞赛的效果,对软件测试教学过程提出了一些建议。

  1 软件测试行业和教学现状

  软件生产方式已经越来越趋向于大规模集成化生产,这一生产方式确立了软件产品的质量控制与质量管理在软件生产中至关重要的地位。调查显示,我国软件开发企业普遍缺少测试人员,而专职软件测试人员与开发人员的比率更是偏低,远远达不到国外1:1甚至2:1的比例,整个软件行业从业人员比例结构很不合理。主要由于企业认知和软件测试人员的培养过程存在以下一些问题和不足而导致:

  1.1 重开发,轻测试

  很多企业和学生认为,软件开发比软件测试重要,软件测试相关工作职位待遇不如软件开发。他们认为软件测试从业人员不需要深入的专业知识,只要会写程序就能够胜任软件测试工作,从事软件测试类的工作没有前途,所以大部分倾向于做开发人员,而不喜欢做测试。同样,绝大多数学生认为软件测试比软件开发容易,没有较高的技术含量,只是能够找出软件中的错误就可以了。甚至有相当一部分软件测试人员认为软件的质量的好坏是开发人员的事情,与软件测试人员没有关系。

  1.2 底子薄、基础差

  大部分开设计算机课程的学校,学生都是到大学二年级后半学期才开始接触软件测试课程,缺少对软件测试课程的系统学习,甚至很多学生只学习软件工程课程,根本接触不到软件测试课程。

  对离散数学、程序设计、软件工程等软件测试基础课程的学习效果差。例如,软件测试中黑盒测试用例的设计方法大都以数学知识为依据的,决策表驱动分析法与因果图法对应命题逻辑知识。尽管学生之前已经学习这些课程了,但是由于受行业认知的限制,学生经常忽略一些重要的知识,导致在后续测试课程学习中感到力不从心,最终还是不能够稳固掌握软件测试的相关知识和技能。

  软件测试贯穿软件开发的全部过程,软件测试的大部分阶段都要求测试人员能够编写代码并且进行调试,比如,在单元测试阶段和进行白盒测试的时候都需要检查和测试代码,这就对软件测试学院提出了更高的要求,要求学生不但要了解软件测试技术,还要能够熟练对代码进行分析和调试,甚至更多的时候要求测试人员能够自己编写代码进行专项测试。但是,由于先导课程的课程设计、实践和考查的脱节,导致学生写代码能力较弱,不能灵活运用软件测试中的技术和方法。

  1.3 重技术、轻理论

  现代社会快节奏的影响和急功近利心情的驱使,学生通常希望学习一些能够马上使用的技术,而不愿意去学习复杂和理论性较强的工程管理内容。软件测试计划、软件测试管理等工程管理课程抽象和教条,并且理论性较强,教师如果单纯通过课堂教学,学生很难真正掌握这些内容,他们不能将所学知识马上转换为应用,或者不能立刻看到成效,会慢慢地失去对这些课程的兴趣和热情。同时,考虑到软件测试需要与具体的开发模式和行业背景相结合,在学习阶段容易受授课模式和知识结构的限制,学生觉得学无所用,将来也很难结合具体场合恰当使用测试手段。

  1.4 重个人,轻团队

  软件的大规模集成化生产意味着个人独立劳动已经不能胜任大型软件的开发,并且对团体软件开发中的协作和沟通提出了更高的要求。软件测试作为软件开发过程中一个不可或缺的环节,也需要测试团队分工合作。目前教学更多地采用教师讲、学生听这一学习模式,没有实现双向互动学习,老师总是面面俱到地传授测试专业知识和技术,希望学生能够学得更全面。然而,当代学生普遍以自我为中心,缺少基本的沟通和团队协作能力,单独的个体又不能独当一面,最终导致软件测试工作不能顺利进行。

  2 软件测试人员素质要求及课程设置定位

  软件测试人员的工作职责是理解软件产品的功能和性能需求,在软件开发中担任“质量管理”角色,这种职责对软件测试人员在技术、管理能力和个人综合素质等方面提出了更高的要求。主要包括以下方面:(1)全面技术能力。测试人员必须站在工程技术的角度对需要开发的产品进行理解,以工程技术产品应用为目的构造合适的测试用例进行测试。这就要求测试人员必须掌握软件生命周期、开发流程、软件质量管理知识,熟悉离散数学、工程经济等基础知识,熟悉各种系统平台、数据库、常用软件和网络等软硬件,掌握主流测试工具与测试管理工具,还有具备编程能力和相关行业的法规和外语等知识。(2)责任心。做测试工作,需要思维严密,具有怀疑与破坏的精神,测试人员要打破常规思路进行软件测试,能够设计一些非常规测试用例对软件进行破坏性测试。(3)细心与耐心。软件测试工作中发现缺陷的环节除了依仗测试人员的专业技术知识之外,还与测试人员的细心及耐心程度有很大关系。软件测试工作相比较软件开发工作而言,更加繁琐和枯燥,如果没有足够的细心和耐心,就会留下很多潜伏的缺陷。(4)良好的沟通与组织协调能力。软件测试不仅仅是测试人员和测试团队内部的事情,软件测试人员要能够与项目经理、开发人员、客户、市场人员等不同角色人员进行良好沟通,保持密切配合。这就要求测试人员具备良好的沟通技巧,当发现问题的时候,能够积极有效组织协调开发人员、客户等各方面来解决问题,并且能够精准表达自己的观点。

  软件测试人员的素质培养,需要从构建合理的软件课程着手。课程体系构建根据测试内涵来分析相应的知识、技能、素质要求,以软件测试这一职业所需的知识和技能为先导,强调当前及未来就业岗位所需基础知识和基本技能的掌握运用,体现知识、能力、素质培养的统一。精选教学内容进行整合与优化,使课程模块化,明确每个模块化课程对知识和技能的培养要求,构建以掌握技术理论和技术应用为培养目的的课程体系,实现知识和技能同步培养和提高。

  3 软件测试教学过程的改进

  教学过程是对软件测试人员技能和素质培养的关键环节,教学方法起着至关重要的作用。教师在教学过程中应注意几方面:

  3.1 正确认识开发和测试的关系,激发学生学习动力

  针对学生认为软件测试不如软件开发重要,或者认为软件测试类岗位不如软件开发类岗位有前途等片面认识,教师应注意正确引导。通常在第一节课上教师应该结合功能测试、性能测试等具体案例介绍软件测试的重要性,让学生了解该课程的重要性、必要性和当前的行业动态。另外,要让学生认识到测试工作的丰富层次和内涵,了解测试人员应该具备的知识和技能更加多样,做测试工作比做开发更有挑战性。最后,要给学生介绍行业对测试人员的需求,让学生更清楚了解软件测试工作的待遇和发展前景,树立从事软件测试工作的决心和信心,激发他们学习软件测试的主观能动性。

  3.2 案例法教学贯穿全过程

  针对软件测试课程中测试计划、管理等理论性较强的工程化管理知识部分,需要结合实际案例进行教学,因为单纯课堂教条式的教学很难让学生深刻掌握这些知识的精髓并应用于实际工作,更甚至会让学生失去学习软件测试的兴趣。因此,应在教学过程中引领学生由易入难自己动手实践,激发学生的学习主动性与热情。通过课堂讨论或分组讨论的方式活跃课堂气氛,在讨论的过程中,让学生担任不同角色,模拟实际管理过程,切身感受管理知识的应用价值,同时,不同角色的轮换担任还可以锻炼学生的沟通能力,树立团队意识。教师要适时进行引导与总结,指导学生按照工程化的文档模板规范将思考分析的结果进行记录,在锻炼学生分析、解决问题能力的同时养成良好的学习工作习惯。

  对于技术性较强的知识,也要注意实际案例的引入。加大实际案例实验学时的的分配,引入规模适中的工程实例,让学生利用所学的测试技术对实例设计测试计划,测试用例,执行测试,分析和讨论测试结果,发现测试存在的问题,通过这样的实践教学活动,更容易让学生产生成就感,激发学生兴趣。

  3.3 注重工程实践课程和参与竞赛

  根据软件测试行业对人才素质需求定位测试专业方向人才培养目标。由于软件测试课程与软件开发课程的不同,软件测试实验教学应该设立实验、实训和实习等多层次的工程实践课程,通过让学生参与实际工程项目,提高学生专业技术应用、分析问题和解决问题的能力。同样,教师需要设计和引入规模适中的工程实践项目,要求学生现学现卖,完成制定测试计划、设计测试用例、执行测试和评估测试的全过程。通过项目的锻炼,学生分析问题和解决问题的能力会逐渐得到提高。

  鼓励学生多参加软件测试技能竞赛等实战性的实践活动,提高学生的观察、思考、交流、实践和协作能力。本团队组织学生参加河南省计算机学会主办的首届大学生软件测试技能大赛,成绩斐然:三个代表队分别获得了特等奖、一等奖和二等奖。事实证明,竞赛类的实践活动,能够极大激发学生自己动手进行软件测试的兴趣,同时在动手操作的过程中培养了学生的创新能力,促进了学生思维的纵深发展;学生对软件测试课程的学习热情和积极性空前高涨,学习的自觉性极大提高。

  3.4 开展校企合作和课程置换

  校企合作的目的就是通过学校与软件企业进行多方面的合作,建立企业实习基地,让学生能够亲身参与企业软件的开发和测试过程,校企合作是软件测试人才培养最有效的办法。在计算机行业,校企合作有着至关重要的作用,学生通过参与企业实际产品的开发和测试,可以更好更快地融入到软件开发过程中。学生不但能够将所学的综合知识进行实际应用,还能对软件开发有一个更加深刻的认识。与企业交流不只是学生的事情,教师参与其中也是十分必要,教师到企业实习,参与软件项目的测试,紧跟技术发展步伐,才能把握授课方向,才能以自身参与的项目为实例进行授课。

  课程置换是将企业成熟的软件测试培训课程和教学体系替换掉学校的部分软件测试课程,将企业以应用为目的的教学方式、科学、系统和实用的课程内容引入学校教学。“他山之石,可以攻玉”,课程置换就是要结合学校教学和企业培训的优势方法和资源,弥补传统学校教学方式存在的不足,紧紧结合市场需求,提高学生各个方面的能力。 同时,课程置换将学历教育和职业教育相结合,学生在获得学历证书的同时,还能获得相关企业行业证书和一线实践经验,从而为学生毕业后服务于企业奠定良好的基础。

  4 结束语

  软件测试的重要性得到越来越广泛的认可,创造一种课程内容改革的引导机制,探索一套切实有效的大学生学习和实践相结合的学习模式,转变教师对传统软件测试课程的教育教学观念,推动软件测试教学改革,才是提高软件测试学生的专业技能和创新能力,最终提高学生的核心竞争力的根本途径。

  参考文献

  [1] 钟素芬,叶明芷.软件测试应用性人才培养模式的探索与实践[J].北京联合大学学报,2007(9):90-91.

  [2] 孙金华.软件测试人才培养与课程构建的探索[J].计算机时代,2009(6):68-71.

  [3] 柳永坡.软件测试大学教程:软件测试课程专业教材[J].计算机教育,2010(12):158.

  [4] 钟华,韩伯棠.创新型、研究型人才培养实践教学范式及应用[J].中国大学教学,2012(3):39-42.

  软件测试课程总结篇5

  关键词:市场需求;软件测试;课程体系

  中图分类号:G64文献标识码:A文章编号:1009-3044(2012)14-3353-02

  Course System Research of Software Testing Technology Based on Demand of Talent Market

  ZHENG Hao, LIU Jian-fang

  (Pingdingshan University, Pingdingshan 467000, China)

  Abstract: This paper analyze the actual needs of talent market at first, and then set up the Curriculum system based on the software testing theory and technology. Paying more attention on the application, we want to construct course system to meet the market, which has deep foundation and strong skills. All of these promote the quality of the professional course.

  Key words: Market requirement; software testing; Curriculum system

  最近的年度软件测试行业专项调查报告显示,社会对软件测试人才的需求越来越大,可人才市场提供的人力资源、实际能力却不能满足这种需求。目前国内对测试人才职业化培养体系还不够充分,现行的传统教育体制重学历教育,轻职业技能培训,导致了软件测试人才告急。如何结合人才市场的实际需求,构建适合的课程培养体系,成为软件测试课程改革迫在眉睫的问题。

  1中国软件测试行业的市场需求分析

  在我国,软件产业的兴起和发展也就是这短短十几年。在前面的兴起和发展壮大阶段,一般的软件公司都是重开发轻测试,甚至存在把测试工作都放在用户那里去做的错误思想;追求眼前功能的实现,开发软件追求“短”、“平”、“快”。不太考虑性能和功能的优化。软件测试以往一直被中小IT企业所忽视,只有一些知名企业才有专门的软件测试人员。

  现在,更多的国内企业认识到测试的重要性,但是由于国内测试人才的储备相对较少,据国家权威部门统计,中国软件人才缺口超过100万人,其中很大一部分为软件测试人才,缺口达到30~40万。但由于软件测试的重要性是近几年才被充分认识到的,高校教育和企业培养都还没有跟上,致使软件测试需求严重供不应求。

  分析年度软件测试行业专项调查报告,目前对测试人员的素质和要求逐步提高,测试人员不仅应掌握相关计算机知识背景、软件工程基本知识、熟悉项目编程语言、熟悉项目技术架构及需求内容,而且要求工作有责任感、独立分析能力及团队精神等方面。其中“动手能力”和“实际经验”是软件企业在招聘软件测试人员时最为看重的,而这也恰恰是很多求职者的“软肋”。

  2现有软件测试课程体系存在的问题

  2007年,我校软件学院认证管理中心被授予计算机软件测试人才培养基地。软件学院软件工程专业以及软件技术专业均开设有软件测试相关课程。由于软件测试是一门实践性很强的课程,应采用精讲多练的原则开展教学,即学生通过大量的上机实践,循序渐进地提高自身的软件测试用例设计、开发、执行能力以及软件测试的管理能力。但在具体实践教学组织中,教师普遍感觉有许多不如意的地方,具体存在的问题有:

  1)对实践课程的认识程度和重视程度不够,软件测试开展的不够彻底,测试过程中存在大量的不规范性;

  2)缺乏合适的教材,同时教师缺乏相应的实战经验,导致教学上知识结构不合理,教学内容与具体应用脱节,尽管教师都能很好的讲解软件测试理论知识,但却由于缺乏合适的测试案例,没有将理论教学内容和最新相关技术结合,使得学生思维局限性大,并没有真正提高学生自主思考的能力和创造性思维。

  3)教学方法和手段因循守旧,学生对软件测试职业存在一些片面的,甚至是错误的理解。

  3基于人才市场需求的《软件测试技术》课程体系研究

  基于人才市场需求的软件测试技术课程体系研究主要是分析目前人才市场对软件测试行业人才的岗位需求,掌握软件测试人才需要具备的职业素质,同时调查研究在学生对前续课程的掌握情况,以及目前所具备的相关职业素养的程度,计划从技术、沟通协调能力、经验和技能、综合素质能力等方面分别对岗位需求和学生水平展开调研。

  3.1课程体系目标定位

  我校软件工程专业的培养目标是培养适应社会发展需求,具有扎实的计算机知识基础,掌握软件工程领域的前沿技术和软件开发方法,具有较强的软件实践能力和创新精神,具备较强的软件项目的分析、设计、开发和维护能力,能够按照工程化的原则和方法从事软件开发和管理的应用型人才。

  作为该专业的一门专业必修课,为构建厚基础、强技能、注重技术应用的适合应用性人才培养的课程体系。将以软件技术为基础,测试理论与技术为核心,进行课程体系设置。理论教学目的是让学生深刻理解软件测试思想和基本理论;熟悉多种软件的测试方法、相关技术和系统地软件测试过程;会熟练编写测试计划,测试用例,测试报告,并熟悉几种自动化测试工具,从而从工程化角度提高和培养学生从事大型软件的测试技术和能力。

  同时在实践环节,要求学生通过实验学习,培养与提高项目测试过程中采用的主要技术、设计测试用例、编写测试总结报告等能力,激发学生创新精神和创新能力,具体应达到下列基本要求。1)使学生掌握分析问题和解决问题的技巧,通过具体实验使学生掌握常用的黑盒测试技术、白盒测试技术、自动化测试工具。2)让学生了解测试流程,掌握测试总结报告的编写。通过实验使学生理解软件缺陷的描述,并能结合项目设计出较完善的测试用例。

  3)了解Web系统的测试范围,使学生能在应用场景下联系实际和所学知识分析和解决问题,缩短理论和实践的距离。

  3.2课程教学内容选取

  结合课程体系目标定位,该课程在教学内容选取上主要是基于人才市场需求,厚基础、强技能、注重技术应用。总学时共72学时,其中理论和实践各36学时。结合课堂教学和实践教学,软件测试技术课程包括以下几部分:

  1)软件测试基本理论及方法:包括软件测试的概念、测试的原则、用例的设计、各种测试方法及技巧,测试策略。同时通过实验掌握软件测试的步骤、方法及常见问题的处理。

  2)测试流程及文档写作:软件测试流程、各阶段的文档编写;书写测试计、测试用例、测试报告、产品安装手册、产品使用手册。在实践环节,通过SATM系统让学生掌握软件测试流程各个阶段的相关技术、测试相关文档的写作技巧。

  3)系统学习软件测试的各种工具,包括:自动测试工具WinRunner;压力测试工具LoadRunner;测试管理工具Testdirector;流程管理工具CVS;JAVA单元测试工具Junit。要求学生掌握自动化测试理论与方法,熟练使用常见测试工具。

  4)软件过程控制与质量保证:软件质量的概念及软件质量管理的基本方法;测试项目的范围管理、人员组织结构、理解测试的配置管理、风险管理、成本管理等。

  5)项目实训:引入具有真实企业背景的软件测试案例,充分考虑人才市场的需求,突出强调工学结合的重要性。通过实际项目掌握实际工作中开发和测试的流程,使用相关工具,完成各种测试目标,实现软件测试实践环节单项专业知识与整体技能综合运用的目标,提高测试能力和积累相关经验。

  3.3课程教学方法设计

  为构建厚基础、强技能、注重技术应用的适合应用性人才培养的课程体系,在教学过程中,需要把技能训练和职业素质培养有机结合起来,注重学生综合能力的培养与提高,突出强调职业岗位针对性。提高学生综合运用所学知识发现问题、分析问题、解决问题的能力,进而培养学生的技术应用和技术创新能力。在教学方法设计上做了一下改进:

  1)突出工学结合:在讲解基本理论知识的基础上,引入具有真实背景的软件测试案例,并结合理论知识讲解将案例进行改造,使案例的分析应用与理论知识相呼应。目前市场上IT公司在招聘测试人员时按照所需技能的不同,将测试人员分为三个等级,分别为初级测试工程师、中级测试工程师和高级测试工程师。分析不同等级的要求,在教学过程中,主要针对初级和中级的技能要求循序渐近的展开教学。使通过此教学改进,既弥补了教师缺乏实战经验带来的不足,也使学生能较真实的接触到实际应用,从一定程度上实现了人才培养与市场需求的接轨。

  2)强调团队合作:在教学过程中实施“1-7”模式,即在实验课教学中,采用团队合作的方式,分组完成各项任务。在实验初期由教师合理分配各团队成员间的任务,培养学生的基本岗位技能。经过两个实验任务的完成,每个团队挑出一名同学为项目组长,模拟公司招聘的形式,招聘4~6个组员组建自己的团队。后期实验任务的分工由团队组长负责项目进展、分工协作、制定测试计划等工作,其他小组成员则按要求完成自己的工作,如编写测试策略、设计测试用例、撰写测试报告等,教师主要起引导作用,充分发挥以学生为主体。为了全面培养学生,在不同的任务中,组员通过角色互换,充分发挥其沟通能力及综合技术能力。在学期末,通过团队评比,以提高平时成绩的形式对表现优秀的团队进行奖励。通过此教学手段,可以培养加强学生面试技巧、沟通能力、团队意识、竞争意识等职业素质的培养。

  4结束语

  基于人才市场需求的《软件测试技术》课程体系研究定位在对人才市场的实际需求分析之上,针对软件测试人才的特点要求,把行业、企业对人才的要求转化为教学中的具体目标。构建厚基础、强技能、注重技术应用的适合应用性人才培养的课程体系。

  参考文献:

  [1]朱少民.软件测试方法和技术[M].北京:清华大学出版社,2010.

  [2]古乐.软件测试案例与实践教程[M].北京:清华大学出版社,2007.

  [3]马民生,马友忠,任刚.以就业为导向的软件测试实践课课程改革[J].电脑知识与技术,2010(4):241-242.

  [4]刘伟.独立学院软件测试课程的教学探索与实践[J].广西教育.2009(24):31-33.

  [5]贺平.软件测试课程开发[J].计算机教育.2006 (12):55-58.

  软件测试课程总结篇6

  关键词:高等职业教育;课程设计;校企合作;软件测试

  DOIDOI:10.11907/rjdk.162329

  中图分类号:G434

  文献标识码:A文章编号:1672-7800(2016)012-0197-03

  0 引言

  随着软件技术在社会各领域的广泛应用,人们开始越来越关注软件产品质量,软件测试作为软件质量保证的重要途径也因此受到行业领域的关注与重视,软件测试岗位的就业前景也变得越来越好。在《国务院关于加快发展现代职业教育的决定》中,提出“深化产教融合、校企合作”[1]。随着技术的发展、产业结构调整的不断加快,持久深入的校企合作已经逐渐成为高职院校课程开发质量的关键要素之一。

  《软件测试基础》课程大多在高职院校的计算机类专业中开设,但是普遍存在着课程内容更新慢,教学方法、手段陈旧,课程评价考核单一的问题,导致学生学习兴趣不大,学习效果不佳。该课程在苏州健雄职业技术学院是软件技术专业的一门专业基础课,该院与上海博为峰软件技术股份有限公司、上海泽众软件科技有限公司等从事软件测试的IT企业紧密合作,对课程进行了一系列建设和改革,培养了一大批软件测试人才,受到企业的一致认可。

  1 以工作过程为导向的课程设计

  课程组成员结合计算机等级考试、计算机软件专业技术资格考试和国际软件测试资质认证(ISTQB)的考试大纲,以及行业、企业对软件测试员的人才需求,与企业专家共同确定本课程的目标为:使学生了解软件测试的发展前景,掌握测试的基础知识,了解测试用例的概念、意义;能够搭建测试环境,掌握常用的黑盒、白盒用例设计方法,能够进行简单的手动功能测试并撰写测试报告与缺陷报告;了解常用的自动化测试工具、性能测试工具,理解测试工具的原理,了解测试管理的概念与流程等。

  本课程以软件测试工程师的工作过程为导向,按照软件技术专业培养目标与高职学生的特点,将测试基础知识、相关技术方法、测试管理贯穿在整个测试流程中,从而构建测试各阶段所需的知识与技能。在课程中以“虚拟公司”作为组织形式,在运作过程中充分体现职业教育行为导向和职业性原则。行为导向,即创造师生互动的仿真情境,使学生通过自主协作式学习方式,反复操练,从而形成符合企业要求的行为方式和职业能力。职业性原则,即要求实训目标和就业目标高度一致[2]。学院与企业共建实训平台,通过具体工程项目及案例素材,使用测试管理工具从测试需求建起,测试模块划分、测试用例设计、测试用例执行、缺陷管理,加强学生对测试管理工具的使用。

  2 以工作项目为载体的学习情境创设

  《软件测试基础》课程最好在第三学期开设,因为这时学生对软件行业已有一定了解,并已具备初步的编程经验,课程共计64学时。依据软件测试的工作过程可以将课程划分为6个学习情境,共15个工作任务,具体如表 1所示。

  学习情境1中主要让学生认识缺陷并知道缺陷产生的原因,掌握软件测试的定义、目的、分类和原则,熟悉V模型、W模型、H模型等软件测试的常见模型;熟练掌握软件质量模型的分类和各个评价指标,并明确软件质量与软件测试之间的关系;会查询互联网中的招聘信息,分析软件测试工程师的岗位职责及发展路径,并尽早做好职业生涯规划。

  学习情境2中让学生能够明确软件测试的依据,并阅读需求规格说明书,理解测试需求的概念,会对测试需求进行挖掘;能够理解测试计划的重要性,知道测试计划的一般组成要素。

  学习情境3中让学生能够理解黑盒测试、白盒测试、灰盒测试的基本概念及它们之间的区别与联系;能够灵活地运用黑盒测试的常用方法,如等价类划分、边界值、决策表、因果图、场景法、正交表等来设计测试用例;能够灵活地运用白盒测试的常用方法,如逻辑覆盖法、基本路径法等设计测试用例。

  学习情境4中让学生学会测试环境的搭建,如在虚拟机中部署PHP、JSP、.NET等应用程序;理解单元测试、集成测试、系统测试、验收测试的概念及基本流程,熟悉集成测试的策略,能够使用JUnit 等工具来开展单元测试;能够掌握缺陷的概念,会正确记录缺陷,掌握缺陷报告的基本格式与内容。

  学习情境5中要让学生理解测试总结的意义和重要性,并了解测试总结报告的格式与内容。

  学习情境6中能让学生掌握手动测试与自动化测试的区别,了解自动化测试、性能测试等工具的原理,初步掌握脚本的录制和参数的设定,为后续课程的学习奠定基础。

  3 “互联网+教育”方式的课程改革深化

  3.1 利用雨课堂平台实施线上线下混合教学

  合理运用互联网新技术,由传统教学向线上线下混合式教学方式转变,打破以往学生学习时空的限制,按需学习,让教育教学资源得到最大化共享。由于本课程概念较多,课程学习后还需通过工信部的考证,线上教学教师通过清华大学研制的雨课堂平台将PPT课件、微课、测试等资料上传至云空间,并推送到学生的移动终端上,督促学生做好预习、复习工作,学生所有的学习行为数据均被自动完整采集,有助于量化了解学生学习效果并把握学生学习轨迹[3];传统的线下面授,则重点解决学生的疑难困惑问题,提高教学效率。

  3.2 改进教学方法提高学生学习兴趣

  3.2.1 案例教学法

  软件测试课程总结篇7

  关键词:案例教学;教学模式;软件测试

  近几年来,软件测试人员的培育要求和计划已纳入高职教育范畴,具有软件测试的知识体系和工作技能已成为软件人才新的职业构成标准,《软件测试》这门课程成了各高职院校计算机软件专业的一门必修专业课。开设该课程的主要目的是使教学对象掌握软件测试的基本概念和基本理论,掌握基本测试技术和方法,并应用到实践;使教学对象具备软件测试的必备专业知识和实际工作能力,能基本承担起软件测试的工作任务,并为未来成长为软件测试工程师奠定必备的理论知识与实践基础。而目前的情况是,大部分院校软件测试课程的教学并没有较好地达到预期的要求和目的。

  一、软件测试课程的传统教学

  软件测试课程涉及的专业知识面较广,而且要求有良好的基础知识,如英语、数学等方面的知识。课堂教学内容繁杂,没有规律可循,更难以用一条主线相连、跳跃性大,从而导致学生对教材的理解不深,容易出现前面学、后面忘的情况。本课程具有很强的实践性、综合性和社会性,与工程实践联系紧密,知识更新的速度很快,涉及到有关学科的综合运用和团队合作精神等。因此,如何将所学的内容与实际工程联系起来,学会用所学的理论知识分析和解决实际工程问题,成为该课程教学成败的关键问题。

  “粉笔+黑板”仍是目前许多课堂教学的主要方法,这种传统的方法,相对来说,教学环境一成不变,教学手段呆板枯燥,课时效率低。在教学活动中主要采用的是“教师讲,学生听;教师写,学生抄的满堂灌”的教学方法。在学习过程中,学生要不断巩固测试理论知识,加深对其理解和认识,完成所承担的测试项目中的各项工作任务,提交测试分析报告,通过项目培养和训练协同工作、沟通交流、角色转换等,形成实际工作能力。按照传统的教学方法教学,很难解决以上问题,也无法满足现代教学要求。

  二、软件测试课程案例教学的重要性

  软件测试课程在高职院校是一门本着“理论够用,实践为主”原则的重要专业基础课,但在实际操作中,如何把握这个理论够用的度,实践为主又如何展开,这都需要从实际的教学过程中不断地总结和调整。在软件测试这门课程中,针对高职高专学生基础差、学习积极性和主动性不强的特点,在教学过程中采用“案例驱动”、“从实践中领悟理论”,即案例教学是比较理想的模式。这种模式能够让学生在教学中动手动脑、直观体会实际的测试过程,寻找理论的根据和支点,从而达到预期的教学效果。

  案例教学法源自医学教育的问题导向学习(Problem-based learning),强调以学习者为中心的合作学习,是一种跨学科领域的学习架构。此种方式较口述或文字叙述更能传达真实问题情境的复杂,给学生提供更接近真实的问题学习情境。案例教学法除强调问题的真实性外,也着重解决问题过程中学习者搜集、分析、整理资料,乃至提出解决方案的学习历程。

  案例教学法的特点是突出实践性、较强的综合性、深刻的启发性、过程的动态性。案例教学法注重学生的智力开发及培养学生解决实际问题的能力。在本课程的教学活动中,采用案例教学能改变传统的灌输式的教学方法,充分调动学生的学习积极性,使学生的思维空间得到拓展,提高其学习兴趣;使学生学会用所学的理论知识分析和解决实际工程问题的方法,从而也改变其对理论学习的枯燥感和“读书无用”的观念。

  三、软件测试课程案例教学的思路

  1.案例的引入和设计

  首先,要根据教学计划安排和教学进度的要求设计教学案例,为课堂的教学内容埋下伏笔。案例教学以案例为基本教学材料,将学习者引入工程实践的情境中。因此,教学案例应具有很强的实践性;要蕴涵工程实践的理论、原则与原理和方法;要具有新颖性、讲究时效性、背景要清晰等特征。其次,在完成理论课的讲解后,再将相关案例发给学生,给学生较充足的课外时间准备相关的材料。一般情况下可通过多媒体教学软件或服务器的形式发放给学生,要求他们在规定的时间内认真完成。一个好的测试案例应包含测试目的、特殊的硬件要求、特殊的软件要求、特定的配置、执行测试的描述、测试的预期结果或成功条件。另外,还要考虑如何将本堂课的新知识点贯穿其中。

  2.案例分析讨论

  案例分析讨论是案例教学中的重要环节。学生通过分析案例,可以知道本节课要掌握的理论知识、操作内容、注意事项、所要达到的教学要求和目的、在课后应完成哪些报告或查找哪些资料等。案例分析的过程是学生与学生或教师与学生之间讨论交流的过程,教师要善于在讨论过程中启发引导学生,培养他们思考问题的敏捷性和洞察力,让他们学会用理论知识来指导实践,遇到关键节点时能够急中生智,稳中求胜。

  在案例教学中,学生的学习在讨论与争辩中进行,学生充当主角,是主动的学习者,教师的角色是指导者和推动者,其作用是领导案例教学的全过程。课堂上教师要组织案例讨论,不仅要引导学生去思考、去争辩、做出决策和选择,解决案例中的特定问题,进而从案例中获得某种感悟,而且要引导学生探寻特定案例情景复杂性的过程及其背后隐含的各种因素和发展变化的多种可能性。

  3.案例实验操作

  教学案例的主要内容是与教学内容为依据相匹配的,要有较强的可操作性。下面是一个教学内容与案例的匹配图示:

  从图1可以看出,在设计实验案例时,既要有简单的基础性实验案例,又要有综合实验甚至是课程设计。简单的基础性实验案例主要是让学生熟悉基本的软件测试方法,综合性的实验案例主要是让学生增强实际操作能力,增加软件项目测试的综合经验。通过一个个综合性的案例,特别是较大型的软件项目测试实验,让学生在实验的每一个步骤中理解软件测试技术和各种具体的测试方法。同时,学生可以通过对案例的操作和理解,进一步了解熟悉软件测试工作的完整流程,包括文档的编写与收集,都是一个很好的锻炼。这样的教学在不知不觉中就迈出了“工学结合”的第一步,与高职教育需求完全吻合。

  4.案例归纳总结

  案例讨论后要做简短的归纳和总结,从案例讨论中得出一定的结论,为后续的课堂理论教学提供准备。教师在总结过程中,要讲明案例中的关键节点,以及在实验操作时存在的长处或不足,但不宜对错误的观点简单地否定,以免挫伤学生的积极性。实验结果可以多元化。在总结中,要揭示出案例中包含的理论,强化以前讨论的内容,提示后续案例,达到突出教学重点,回归教学的目的。

  四、其他丰富的教学方法和手段

  经过实践中的不断摸索和总结,发现《软件测试》课程在教学过程中要增强师生互动,提高教学效果,达到预期的教学要求,在教学方法和手段上还可以采取以下几种形式的结合。

  (1)课堂进机房,避免纯理论的“PPT滚动”,注重课堂里的师生互动。(2)FLASH动画分解操作内容,教师录相演示操作流程。(3)分组合作讨论,责任到人,各尽其能。(4)优秀组员示范,荣誉物质兼并鼓励。(5)定时地带学生了解软件测试企业“完整的工作过程”,让他们从实践中得到熏陶。(6)“一带一”订单式的互助。让基础好的学生帮助基础不好的学生,督促完成相应的教学内容。(7)开设课外兴趣小组,为基础兴趣较好的学生提供更多更好的实践环境。

  五、结语

  在高职院校,对软件测试这门课程,我们结合自己的学生不断地进行探索和实践,进行了一系列的教改与创新,受到学生及领导的好评。该教法以企业的要求为导向,注重学生动手能力的提高,注重培养学生主动思考问题、解决问题的能力,同时又运用现代教育学理论,在教学过程中采取案例教学与项目教学等多种教学方法和手段来实现“工学结合”。通过学生座谈会了解到,大多数学生认为这种多样化的教学,使他们对课本知识的理解更加深入,主动思考问题的能力有了一定的提高,动手能力得到进一步加强,“软件测试”的教学质量和教学效果有了较明显的好转。

  参考文献:

  [1] 张尚仁.古希腊哲学家的故事[M].北京:中国青年出版社,1984.

  [2] 李亚.“软件测试”教学探索与实践[J].Computer Education,2008,(6).

  [3] 贺平.软件测试课程开发[J].计算机教育,2006,(12).

  [4] Ron Patton.Software Testing Second Edition(第2版)[M].北京:机械工业出版社,2006.

  [5] 钟元生.软件测试实践教学特色的构建实践[J].电化教育研究,2006,162(10):62-65.

  [6] Gerald Gall,The Canadian Legal System,Carswell,1990.

  软件测试课程总结篇8

  关键词:软件测试;分阶段教学;案例驱动教学;双证教育;校企合作

  中图分类号:G420 文献标识码:A 文章编号:1009-3044(2012)30-7258-02

  近几年来,计算机信息技术发展迅速,我国的IT行业开始向国际化、规范化迈进。以往只重视软件开发而忽视软件测试的情况正在改变,软件测试行业开始迅速发展。

  国外小一些的软件企业,软件开发与测试人员之比基本上是1:1,微软公司更是达到了1:2,软测试人员规模远超过开发人员的规模[1]。尽管一些国内大型软件企业开始重视软件人才的合理配置,但有的企业其比例也就只有10:1。软件测试工程师闹人才荒[2],中高级测试员紧缺的现象已十分明显。

  据统计,国内软件测试工程师的缺口为20万人左右,这一点从51JOB的招聘信息中可见一斑。近两年,软件测试工程师的需求和待遇都达到了历史新高。

  然而与当前软件测试行业如火如荼的现状极不协调的是当前软件测试培训领域的现状[3],从事软件测试工程师培训的专业机构寥寥无几,而且价格昂贵。大学里几乎没有软件测试专业,部分院校开设《软件测试》这门课程面临三方面的问题,一是软件测试教材知识片面。二是内容枯燥,学生不感兴趣。三是教师教学经验严重不足。面对软件测试人才的社会需求紧迫性,人才培养单位应该扩大软件测试人才培养规模,总结软件测试知识点,改革教学方法,培养学生兴趣,提高培养质量。

  1 软件测试课程教学方法探讨

  针对以上问题,在教学中应采取以下解决方法:

  1.1 融合软件测试知识点,分阶段教学

  目前,国内的软件测试教材只涉及了部分基本理论知识,不够全面,介绍的软件测试工具也相对落后一些。针对这种情况,任课教师首先要融合多本软件测试书籍内容,总结出软件测试所涵盖的知识点,更新软件测试发展情况。

  其次,根据学生学习过程分阶段教学[4]。第一阶段是基础阶段,让学生掌握软件测试基础理论知识和软件测试核心技术,以及常用测试工具的操作。第二阶段是项目综合实训提高阶段,在掌握基础理论的前提下,加强综合测试技术在项目实训中的运用,针对不同的开发阶段,撰写各开发阶段相应的文档,并制定相应的测试计划,设计典型测试用例,使用不同的软件测试技术和测试工具,完成不同的测试目标。最后是培养学生自主学习阶段,介绍软件测试最新的技术与发展方向,引导学生对基本技术向纵深方向思考。同时向学生提供软件测试方面重要的会议、杂志、论坛、网站,引导学生课下查阅学习资料,鼓励学生自我学习。

  1.2 改革教学方法,采用案例驱动教学

  大部分高职院校学生基础差、学习积极性主动性不强、自制力不高。在课堂教学活动中,如果继续采用传统教学方法,很难激发学生学习兴趣。应该采用案例教学方法[5],将《手机信息管理系统》、《学生图书借阅系统》、《学生信息管理系统》等案例资料发给学生,学生拿到案例后,在教师的引导下,课下先要进行消化,然后查阅各种他认为必要的理论知识,理解知识并思考提出解决问题的方法。课上教师答复学生的问题,并引导学生更深层次的思考。通过这种方法充分调动学生的学习积极性,提高其学习兴趣,使学生既学会理论知识分析又学会用理论知识解决实际工程的问题。

  1.3 采用软件测试项目综合实训的实验教学模式

  开设综合性的软件测试课程实验,按软件企业项目管理和开发模式,进行软件测试项目实训[6],培养学生的创新意识与实践能力。将班内学生分成若干个测试小组,每小组成员不超过7人,每组分配不同的软件项目,如工资管理系统、图书管理系统、学生信息管理系统、酒店预订系统等。小组成员模拟与体验软件测试工程全过程工作职位和角色,使学生全过程适应工作职位的要求。

  各项目小组在测试项目过程中,针对不同的开发阶段,撰写各开发阶段相应的文档,并制定相应的测试计划,设计典型测试用例,使用不同的软件测试技术和测试工具,完成不同的测试目标,并进行回归测试,以实现软件测试各单项专业知识与技能整合运用的目标。在整个测试过程可以体现“学以致用”的思想,实现理论与实践相结合。

  各项目小组通过演练项目开发,不仅让同学们切身体会到软件开发的整个过程,还让同学们对软件开发中各个角色有充分的了解,同时也更深刻的体会到团队合作的重要性。

  1.4 加强校企合作

  坚持“走出去,引进来”的思想,经常邀请企事业、软件公司里一线软件测试人员或软件测试组长和项目经理,来学校为学生做定期讲座,或定期对教师进行培训。也可以利用假期或其他时间,安排教师学生进软件公司,一起跟进项目开发测试。目前本校已经连续两年安排教师学生去齐鲁软件园,进公司一起进行项目开发测试工作。效果不错,参加实训的软件项目综合实训的教师软件开发测试能力有较大提高,并且学到一些最新最实用的软件开发测试技术。

  1.5 改革课程考核方法

  软件测试这门课程兼具理论与操作,目前大部分院校考核方式与理论考试为主,这种考核方式会促使部分学生考前抱佛脚,考前死记硬背,降低学生学习的积极性。除了理论考核之外,还应注重学生综合知识和应用能力方面的考核。建议课程考核应该包含平时作业、课堂表现(发言与讨论)、实验、综合实训、理论考试这几部分。采用这种考核方式,促使学生加强对知识的理解和运用,课堂踊跃发言,提高学习的主动性和创造性,以及动手操作能力。

  1.6 适当加入一些最新的游戏测试

  高职院校学生大部分的课余时间都是泡在网吧里玩游戏,有很多同学一有时间就玩手机游戏。学生对最新的游戏内容比较感兴趣,游戏测试也是软件测试的一方面,教师可以在课堂教学中加入一些游戏测试内容,提高学生的学习兴趣。

  1.7 采取双证教育

  实行“双证教育”模式[7],将学历教育与技能学习无缝对接,学生毕业后不仅能获得国家劳动部高级职业技能认证证书、拥有扎实的操作技能,同时还将获得国家承认大学学历证书。双证教育使学生专业能力更强、职业素养更高、综合素质更好、更符合企业用人标准。

  测试工程师有高级测试工程师、中级测试工程师、初级测试工程师。根据高职学生的能力特点,应该把高职学生定位在初级和准中级测试工程师,具有一定的设计方案的编写能力,能利用测试工具完成一定的测试任务,并能够执行功能测试。

  2 总结

  通过在本校近五六年的软件测试教学实践,发现软件测试教学方法需要不断改进,融合软件测试知识点分阶段教学,采用案例驱动和双证教育模式,加强校企合作和教学实践这些措施能较好地提高学生学习兴趣和动手操作能力,教学质量也有较大提高。软件测试人才培养刚刚起步,很多工作处于摸索阶段,需要学校、教师和学生的共同努力,为社会培养出大批合格的软件测试人才。

  参考文献:

  [1]程茂,温静,吴玉洁.《软件测试》课程的教学研究[J].河北师范大学学报/教育科学版,2010(4):117-120.

  [2] .

  [3]赵斌.软件测试技术经典教程[M].北京:科学出版社,2011(3).

  [4]葛汉强.高职《软件测试》课程分层教学之实践[J].职业教育研究,2011(8):105-107.

  [5]邵谨荣.高职院校《软件测试》课程的案例教学探讨[J].职教论坛,2011(4):53-54.

  [6]印梅.高职“软件测试”课程改革的研究[J].中国电力教育,2011(11):111-112.


标签:测试软件学生教学


相关推荐

最新推荐

关灯