软件测试培训总结范文

时间:2023-02-27 11:10:31

引言:寻求写作上的突破?我们特意为您精选了12篇软件测试培训总结范文,希望这些范文能够成为您写作时的参考,帮助您的文章更加丰富和深入。

软件测试培训总结

篇1

[作者简介]李静(1969- ),女,陕西兴平人,河北北方学院信息工程学院,副教授,硕士,研究方向为教学设计、操作系统与软件测试;赵志升(1965- ),女,河北张北人,河北北方学院信息工程学院,教授,硕士,研究方向为教学设计、软件工程、数据挖掘。(河北 张家口 075000)

[中图分类号]G642.3 [文献标识码]A [文章编号]1004-3985(2014)02-0135-02

软件测试技术近年来发展迅速,已经成为与软件开发齐头并进的专业技术。软件测试工程师承担产品功能、性能、可靠性、易用性等全方位测试,保证产品质量,满足用户需求,保证企业信誉,是当前IT业界需求量骤升的热门人才。目前我国软件产业在产品功能和性能测试领域仍然存在着严重不足,软件测试的广度和深度已成为影响企业生存与发展的核心问题。培养大量的具备专业素养和高层次技能的测试人才,更好地推进我国测试行业和测试技术的长足发展,是高等院校必须担负的职责。

一、国内软件测试专业教育现状

自2000年软件测试技术在我国兴起至今十余年,软件测试人才随着软件行业的迅猛发展呈现出供不应求的态势。专业的软件测试机构、测试网站及测试技术培训机构等迅速发展起来。目前,国内许多高校已经逐步设有本科阶段软件测试方向的专业。2011年11月,由教育部主办的“2011年高等学校软件测试课程教学论坛”在上海同济大学召开,对国内软件测试人才的培养及测试领域的全面发展起到积极推动的作用。

1.社会培训模式与现状。当前国内业界一些知名网站主要承担起测试人才的培养职责,如51testing、达内科技、北大青鸟等,为测试行业输送了大批动手能力较强的测试人才。针对性很强的短期教育模式是社会培训的特色。培训机构通常按照助理级、初级、中级和高级测试人员安排培训内容。诸如北大青鸟等规模较大的培训机构引进欧美的混合教学模式,采用“理论知识+分模块项目实践+全真项目实训+职业素质训练”的模式,形成一个科学并且实用的培训体系。培训机构通常设立自己专用的教学平台,通过网络远程授课与集中化分期分班授课方式,在半年到一年的较短时期,培训出上岗快、操作熟练、针对性强的应用人才,而且很多学员直接通过测试工程师面试,并在后期工作中累积了较深厚的测试经验,成为测试领域的支撑力量。培训课程主要内容涵盖操作系统管理、网络应用与Web编程、数据库管理等专业课程,实训环节应用主流的测试工具,如Winrunner,Loadrunner,Rational Robot等。着重于实用性的项目实践和开发是培训机构与高校教育的最大区别。参加这些培训班已成为目前大学生岗前培训的主要途径。

2.高校专业教育现状。软件测试技术要得到广泛应用和深入发展,不能仅依靠社会办学,高校系统化的专业教学体系能够为学生奠定一个更加扎实和科学的专业基础,并对测试技术本身的学科化发展起到不可替代的作用。近三年来,软件测试技术作为专业课程逐渐在多所高校开设。目前,多数高校将“软件测试技术”作为一门独立课程设置,交叉课程主要为“软件工程”。当前一些高校开始申报软件测试专业,但是软件测试技术的学科化发展目前仍受到诸多因素的影响。主要是:(1)缺乏丰富的理论支撑。软件测试目前仍是发展中的计算机技术,专业论著少,适合于高校的教学材料非常有限,并且普遍存在知识结构不合理,教学内容不规范统一,论点少并缺乏依据,实验指导教材匮乏等问题。另外作为一门独立学科,与其他学科的交叉与相辅是理论体系的必要部分,测试技术与计算机领域诸多技术关联,相互结合教学是当前教改面临的问题。(2)目前通用性测试平台仍未完善发展与普及,在高校中缺乏结合教学实验内容的通用的实践平台,实验环境单薄。多数高校停留在泛泛讲授几个热门的测试工具的阶段,缺乏成熟、实用的测试环境来实践完整的测试项目。(3)教学模式上存在严重缺陷,专业培养过程中存在大量的不规范性和随意性。主要表现在:实践课程比例小,测试项目实例缺乏;理论课程知识结构不合理;教学理念和手段陈旧,脱离测试技术发展的实际与市场应用;不重视对学生从事软件测试职业素养的培养。尖端技术的学科化发展是高等院校的职责,建立一个科学、完整的专业教学体系是高等教育最为核心的问题。

3.当前推进测试技术应用的其他途径。除了专业公司培训和高校培养外,当前软件测试行业的发展还依赖于多种良好途径:校企合作、技术沙龙、测试专业微群、社会信息辐射等。新兴技术发展需要社会传播产生的广泛影响力来推动。以MPD(亚太软件研发团队管理)峰会、51testing等领衔的线下技术沙龙活动和巡回演讲,聚集了很多高端的测试人才,相互学习交流,积极推进软件测试行业的发展。一些较有影响的网络微群提供测试技术的交流和分享,如软件测试、敏捷测试、落地微群等,大量的测试人员和测试工程师提供测试过程管理、测试工作总结等资料,有很强的借鉴性。

软件测试行业的人才匮乏仍然是当今的重要问题。依照行业需求,软件测试人员配备应是软件开发人员的2倍,而目前我国软测人员与开发人员比例却仅在15至18之间。以高等院校专业教育为主,实现多种途径的人才培养是当前软件测试行业的当务之急。

二、高校软件测试专业课程体系建设

构建专业课程体系,需要设置好基础课与专业课、理论课与实践课、必修课与选修课的比例关系,并合理安排与协调课程相互间的分工与配合。建设科学完整的软件测试专业的课程体系是一个需要多方考证借鉴和不断探索完善的工作。

1.课程设置。软件测试是一门技术性很强的专业,对专业素养要求很高。在测试模式、测试方法上与软件开发的模式、开发平台直接相关。学生必须对操作系统、软件的逻辑结构以及物理存储过程、操作实现方法达到一定深度的了解和掌握,对于硬件的拓扑结构、物理结构要也需要尽可能多地熟知。在软件测试行业,对优秀人才的要求是拥有高敏感能力、高发散能力、高分析能力,而这些都是以扎实的理论基础为前提的。建设软件测试专业课程体系,应契合技术发展、学科发展与从业需求。经过多方考证,下表所述课程囊括的专业知识对于高层次的自动化软件测试技术的掌握必不可少。

由于计算机专业课程的关联性很强,一些专业课程可以相互结合教学。比如语言类,Shell等可以结合到UNIX/Linux操作系统课程中,HTML/XML可结合到.NET以及网络技术等课程中,PHP融入Web服务器配置等专业选修课程教学中等,避免专业内容交叉而造成的重复教学现象。在教学过程中,要将软件测试的思想广泛地渗透到所有的专业课程中。如在各类程序设计语言基础课程中引入单元测试的思想,在软件工程课程中强调软件测试的重要性,增强软件质量管理意识。当前微软、苹果、惠普等软件公司都推出完整的计算机应用与开发平台,从硬件、操作系统、集成开发环境到用户应用软件,基本上提供一条龙服务。以微软为首的测试框架开发也日趋成熟。高校需要从专业建设角度考虑,把握学科发展方向,汲取众家之长,将尖端技术和主流应用平台作为专业教学内容,在有限的学时之内统筹安排,让学生形成一个专业学习的整体思想,做到知识累积层次清晰、得到一个完整的专业知识体系。随着测试技术的快速发展,课程设置需要不断更新调整,既要考虑专业建设、学科建设,又要考虑市场需求和研发需求。合理选择、科学地纳入新知识到专业课程中,是需要不断探索和改革的无止境的工程。

2.教材选择。教材选择应当宽口径,除了主要教材之外,要为学生提供更多的辅助教材和资料,给学生自主学习的空间和时间。这方面要学习西方高等教育的模式,按照教学计划和教学内容,指导学生分期、分阶段大量阅读与课程相关联的专业资料,并汇总论点和典型实例展开讨论,开阔学生的眼界,培养学生独立思考、逻辑分析能力和探索精神。另外,教材选择应把握专业技术的最新发展,与专业领域的最新研究成果、社会培训资料等结合,及时更新教学内容。例如有经验的测试工程师撰写的技术开发、测试报告与测试总结等书籍资料,是完善和填充教材的重要知识源。

3.实验教学规划。(1)实验教学内容,应包括两部分:测试框架应用和测试项目实践。前者是指基于实验室配置的测试框架,选择针对操作系统或者客户端软件、网站等的服务性能测试案例,编写一些通用的测试脚本,在测试框架上实现完整的测试流程。后者是指选择实际的软件测试项目来组织实验教学内容。在测试项目实践中,需要提供给学生被测试的软件系统代码以及软件开发综述,包括需求分析、概要设计书、详细设计书等文档,便于学生真实地模拟实际工作中的测试流程。项目实践中,可将学生分成若干个项目组,分别设置测试经理、测试负责人、测试人员等角色,依照测试用例设计、测试任务管理、测试计划实施、测试过程监控、测试日志与测试报告管理环节,安排角色各司其职,协同完整测试项目,并对被测软件系统做出质量评审,撰写格式规范的质检报告。通过实验教学,使学生深入理解和掌握常用测试工具,如单元测试工具NUnit等应用,提升学生的项目管理经验和软件测试技能。(2)实验教材选择:实验教材选择应参考社会培训机构的项目实训资料,选择基于主流测试平台的项目实例教程,并结合测试技术的应用发展现状和高校测试环境,广泛筛选辅助资料,设置测试项目,丰富实验教材的内容。(3)实验环境配置:搭建面向高校教研的通用测试环境。当前各类测试平台及测试工具不断推出,种类繁多,但针对性较强,应用性能受到限制,缺乏可被广泛普及的通用型测试平台,导致测试过程缺乏通用性和稳定性、测试标准设定和测试价值评估无法明确等问题。建立一个通用测试环境对高校的实验教学和专业研究十分必要。通用测试环境应囊括软件测试管理平台、回归测试平台和性能测试平台功能。提供软件的文档审查、安装测试、功能性测试、易用性测试等测试项目,并能提交形式内容规范的测试报告。通用测试环境搭建需要高校结合专业研究项目实施二次开发。

三、面向从业需求的教学改革

1.注重面向市场应用的课程体系改革。为了更好地为社会培养应用型人才,高校应以企业岗位能力需求为标准,不断进行课程体系改革,构建“知识+应用+研究”的混合型课程体系结构,为学生从业后尽快适应工作岗位,担负起科技职能,并进一步从事测试技术开发与研究奠定基础。软件测试课程体系改革应基于不断发展的测试技术以及社会测试岗位的能力需求,从培养学生专业素养、测试技能、项目分析能力、探索开发能力等全面素质的高度进行必要的整合和重组,把学生应具有的知识、能力、素质结构作为课程体系改革的依据,组建模块化的课程结构。

2.注重面向从业需求的教学实践改革。面向从业需求,加强教学实践环节是高校实验教学改革的重要内容。目前很多高校与自己的合作企业签订培训合约,建立人才基地,共同开发软件和培训人才、交流人才,是教学结合实际应用的最佳模式。围绕着以企业需求为目标进行实验教学,使学生在真实的项目流程中对软件测试的完整过程与实施细节、管理机制与管理措施进行全面的了解,提高测试能力和积累测试经验,便于学生日后尽快适应实际工作,在专业技术岗位发挥人才作用。

3.注重培养学生的职业素养。高等教育为社会输送专业技术人才,不能忽视对人才职业素养的培养。在教学过程中要把专业素养、技能训练和职业素质培养有机结合起来。在学生实践与实习过程中,注重培养学生综合运用所学知识发现问题、分析问题、解决问题的能力,进而培养学生的技术应用和技术创新能力,并培养学生的团队合作精神和相互协作能力,提高将来从事测试行业的职业素养。应结合社会对软件工程师的岗位需求,设立面向毕业生的专项系列讲座,为学生提供面试技巧培训、竞争意识培训、沟通与协作技巧培训和就业指南等,是极具实效且必要的教育内容。依照国外标准,软件测试工程师应与架构师处于同一等级。从事测试行业必须具备扎实的专业基础、综合的个人能力和较高的职业素养,才能真正实现高端的自动化测试。

[参考文献]

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

[2]钱丽.以就业为导向的软件测试课程体系改革探析[J].科技信息,2012(1).

篇2

帮客户告别软件缺陷

在快速开发软件产品的同时,组织要依靠提高开发质量和测试来缩短开发周期,降低缺陷率。随着成本的螺旋式上升,软件开发周期的缩短,以及应用程序复杂度的增加,选择合适的外包合作伙伴有助于组织大大提高项目的成功概率。测试空间能够针对组织的业务需求,为组织提供定制的综合的手动和自动测试服务。测试空间凭借在高科技、金融服务、制造、零售与分销和电信等行业所积累的丰富的多领域经验,按照GB/T25000和ISO9001标准为组织提供高效的针对特定环境的改进型解决方案。

应用程序缺陷轻者会令人陷于困窘,重者会导致软件质量下降,无法按时交付。测试空间能帮助客户杜绝这种情况的发生。测试空间采用优秀的测试技术,注重投资回报率,以及基于风险的优化测试策略,可为用户带来很多价值。

具体来说,测试空间能够提供专业化、规范化的软件测试技术服务,科学公正的CNAS第三方软件测评实验室,值得信赖的软件测试专业技术人才派遣服务,以及能与客户共享的软件测试技术培训平台。

篇3

中图分类号: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 结论及下一步工作

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

参考文献

篇4

随着经济社会的不断进步和信息技术产业的持续发展,我国的软件业逐步成为了信息技术产业的灵魂与核心。然而与同属于亚洲的印度相比,我国在全球软件业的整体地位还远远落后,印度目前位列全世界的前五个软件方面供应大国之一,在计算机的软件出口方面地位仅在美国之后、位列世界第二。在促使印度的软件业得以快速成长和发展的原因当中,注重软件的质量是印度软件业能够攻取成功的一个关键性因素,印度的软件企业在世界上所获得的质量认证也是全球最多的。所以,提升软件的质量能够大大地推动我国的软件业的快速发展。而软件的测试是把好软件的质量关口的一个重要的环节,属于软件的开发周期当中占据较大比重的一项内容。然而在开发时间延续中,对软件的缺陷修复的代价会十倍速地增长。所以,加强软件的测试工作研究,对于提升软件产品项目的质量,推动我国软件行业和企业持续健康发展具有十分重要的意义和作用。本文简要介绍了软件测试的目的和分类,深入阐述了促进软件测试技术自动化的措施,研究提出了加强软件测试管理的对策和建议,希望对于推进软件测试的研究和实践工作能够起到一定的帮助和借鉴作用。

1 软件测试概述

软件测试指的是软件产品在投放市场前,对于软件产品所进行的需求的分析,设计的规格和编码等内容的复审,是确保软件产品质量的关键性步骤。

1.1 软件测试的具体目的

软件测试的具体目的决定着如何来组织进行测试工作。通常情况下软件测试工作的目的主要有:一是为发现程序的错误从而进行测试,二是测试用以证明软件的程序存在错误,并非证明该程序不存在错误;三是好测试其功能在于可以发现以前没有发现的一些错误等等。因此,必须关注测试的具体目的,进行测试用例的选择时要遵循经济性原则。

1.2 软件测试分类

软件测试通常可以分为黑盒式测试与白盒式测试两种类型。黑盒式测试就是将软件系统当作黑盒子而不去考虑相关程序内在的逻辑,按照需求规格的说明书要求对程序功能进行检查,看能否达到功能说明的要求。白盒式测试就是允许实施测试的人员根据程序内部的逻辑结构和相关信息进行测试用例的设计与选择,测试程序逻辑的路径。按照前后的过程分类,测试步骤可分成:单元测试,组装(集成)测试,确认测试及系统测试等。

2 促进软件测试技术自动化的措施

2.1 软件传统测试方法的主要问题

一是重复性较强。在功能增加及缺陷修复时均可能修改程序的代码,对改变过的代码进行测试就要反复地执行测试用例,用手工进行重复操作会增加出错率;二是测试的周期过长,手工重复测试将会使软件的测试周期延长;三是测试内容不够全面,修改代码之后,手工进行测试会忽略对关联内容的相应测试;四是不能测试不可视的组件,服务器端重要的程序代码均处于逻辑层,而采取手工进行测试的方法无法判断逻辑层相应内容。

2.2 软件测试自动化技术措施

一是生成测试个案,采用相应的编程语言编制短小程序用以形成测试的输入,以使自动化的测试和结果的核对程序更易于控制与操作。二是对测试进行写控制,对单元的测试及集成的测试会采取单机运行的方式,然而对系统的测试及回归式测试,则可会用到多台设备在网络环境下运行,以节省时间。 三是对测试的结果和标准化输出进行对比,输出的数据量情况和数据的格式对于对比速度有着直接的影响,应当编制特殊软件将测试的结果和标准化输出进行对比。四是利用对比软件,分类、分析记录及通报不符合的测试工作结果。五是产生测试总体统计报表,以增强过程管理工作的质量,节省数据统计时间。

3 加强软件测试管理的对策和建议

3.1 强化软件测试的过程管理

测试需求阶段中,就明确软件测试的对象与范围,测试负责与项目组成员应充分沟通,对各种资料进行收集整理,对各阶段测试工作需求进行分析,把测试内容细分成测试的需求,并保证其测试的可行性。测试计划阶段中,主要的任务就是按照测试需求来制定测试的计划,计划内容应包括:测试的环境、进度、用例及风险的分析等等。测试执行的阶段中,应完成测试的实施与过程的监控。在缺陷跟踪的阶段中,主要是及时报告软件的缺陷,跟踪修改的进展情况。

3.2 强化对软件测试突出问题的管理

一是防范思维定势的问题。克服测试人员由于太过熟悉测试的软件,从而建立起惯性的思维,造成测试的次数越是多,其发现缺陷机会反而越少的情况;防范方法是:测试人员不断编制测试新程序及测试的用例,从而发现更多缺陷;还可用新人进行软件的测试。二是防范定位效应的问题。测试人员的定位效应就是对于已测试功能不能进行认真的测试,由于疏于防范,可能会使缺陷一起存在;解决此问题方法为完整地实施测试用例,或者组织测试的人员进行交叉式的测试。

3.3 强化测试团队的管理

严格员工考核,测试负责人定期组织项目组成员谈话,定期评定做过什么和怎样去做,做好测试人员的绩效考核。加大培训力度,系统学习相关领域的基础和业务知识,强化日常培训,深入学习特定的项目及技术,全面提升测试团队的整体素质和能力。针对测试人员流动带来的影响,建立相应的健全培训工作机制,促进新任员工可以尽快地适应测试工作。

4 结语

综上所述,软件测试工作是软件在投放市场使用前,对于软件产品编码的实现,设计的规格及需求的分析等内容所进行的最后一次审查,是软件项目开发的一个重要的环节,对于软件质量发挥着基础保障的作用。因此,必须高度重视和加强软件测试工作,不断总结技术经验,持续完善管理措施和办法,以提升软件产品的质量、推动软件研发企业持续健康发展。

参考文献

[1]杨亚南,孙忠林,李艳.软件自动化测试浅谈[J].科技信息,2007(24).

[2]肖新凤.Web应用程序性能测试技术的研究及应用[J].科技信息,2010(27).

篇5

【中图分类号】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.

篇6

前言

近年来,国内外软件市场越来越大,软件企业也逐步朝着规范化、专业化的方向发展,这就对软件工程人才提出了更高的要求。从当前软件企业的发展情况看,软件测试人才是软件企业发展急需的人才之一,因此,加强软件测试人才的培养是当前高职院校计算机软件工程专业的重要任务。由于当前高职软件工程专业软件测试课程教学还存在一定的不足,对此,必须立足于实际,全面推进高职软件工程专业软件测试课程教学改革。

1.软件测试课程概述

随着计算机信息技术的快速发展,计算机软件在社会各行业的应用越来越广泛,同时人们对软件产品的质量要求也越来越高。但是从当前的软件产品质量看,还存在很多问题,即便是非常成熟,已经得到广泛使用的软件产品,还会出现一些问题,这时就需要通过软件测试来对这些问题进行寻找。所谓的软件测试就是在软件开发过程中,将软件中隐藏的缺陷、错误寻找出来,确保软件的质量符合相关规定。近年来,随着软件产品的复杂化程度加强,软件测试也越来越受欢迎,同时各个高校相继开设了软件测试课程,以期为社会培养更多的软件测试人才。对于高职院校的软件测试课程教材,其内容大多是简单的介绍关于软件测试的理论方法,并没有详细的介绍软件测试的方法、实现过程,也没有通过具体的案例详细的讲解软件测试过程,从而导致学生无法灵活的应用学到的软件测试知识,因此,注重高职软件工程专业软件测试课程教学改革十分重要。

2.高职软件工程专业软件测试课程教学现状

对于当前的高职软件工程专业软件测试课程教学,还存在一定的问题,首先是在教学过程中,理论教学和实践教学的结合比较少,从而导致学生的动手能力比较差。在软件测试课程中,有很多知识是关于测试理论,这部分知识如果让学生单纯的进行理解,学生会感觉很苦难,但是通过实践练习,则可以让学生很轻松的理解这些知识,但是当前的高职软件测试课程教学中,缺乏充足的实践训练项目,使得学生实践练习不足,从而造成理论与实践相互脱节。其次,在高职软件测试课程教学中,还存在学生错误理解软件测试的现象,在学生看来,软件测试是比软件开发低一个层次的,学生错误的认为自己是没有能力做软件开发,所以才会做软件测试,所以,学生对软件测试课程的兴趣很低,认为学习软件测试没有什么前途,最终对软件测试课程教学带来极大的负面影响。

3.高职软件工程专业软件测试课程教学改革方法

(1)合理组织教学内容。在新环境下,高职院校必须积极的推进软件测试课程教学改革,这样才能为软件测试课程教学质量的提高打下良好基础。通过对高职软件工程专业软件测试课程教学现状进行分析,可以看出,教学内容设置不合理是影响高职软件测试课程教学质量的重要因素,因此,在新时期,高职院校需要结合实际情况,合理的改革软件测试课程教学内容。对于软件测试课程,其涉及到的知识点比较多,并且这些知识点需要经过多次实践练习,才能让学生全面掌握,对此,高职院校可以将软件测试课程的内容分层设置,如分成基础知识、专业知识、自动化测试技术知识、系统测试、设计测试、可靠性测试等多个层次,对学生进行分层教学,确保学生能全面掌握软件测试课程中的知识。另外,在软件测试课程教学中,高职院校可以根据实际情况,设置一些软件测试的其他课程,如《软件测试理论、方法》、《软件测试系统训练》等,让学生更加全面的了解软件测试在软件开发中的重要性,全方位培养学生的软件测试职业技能和职业素养。

(2)加强实践训练。对于软件测试课程,其实践性非常强,有很多知识学生只能在实践中掌握,因此,在进行高职软件工程专业软件测试课程教学改革中,要特别注重软件测试实践训练的加强。在高职院校教育教学中,实习是一个十分重要的实践环节,实习环节的合理组织对于激发学生对软件测试的兴趣,提高学生的软件测试技能有极大的帮助,此外,通过生产实习,还能让学生学会如何将学到的知识应用在实际中,因此,在高职软件测试教学中,要特别注重实习环节的合理安排,实现理论教学和实践教学的有效结合,保证学生能在实践中理解知识、掌握知识,并在实践中发现自身的不足,加以弥补,从而为学生的全面发展打下良好基础。

(3)加大师资力量的建设。对于高职软件测试课程的教师,不仅需要具备丰富的理论知识,还需要具有良好的实践经验,因此,在推进高职软件工程专业软件测试课程教学改革时,高职院校还要注重教师队伍的建设,这样才能为软件测试课程教学活动的开展提供丰富的师资资源。高职院校可以根据在校教师的实际情况,制定合理的培训内容,对于理论知识丰富,实践经验不足的教师,引导其多进行实践学习;对于理论知识不足,实践经验丰富的教师,引导其进行理论知识学习,确保软件测试课程的教师能满足课程教学活动的开展需求。

4.总结

在新时期,软件测试课程已经成为高职软件工程专业一门十分重要的课程,为全面促进软件测试人才的培养,高职院校要结合实际情况,推进软件测试课程教学改革,不断优化教学资源配置,全面提高软件测试课程教学质量。

参考文献:

[1]宋亮.高职软件工程专业软件测试课程教学改革探讨[J].中小企业管理与科技旬刊,2013(31):231.

篇7

【项目基金】北京师范大学珠海分校教学改革项目(项目编号:201245)。

【中图分类号】G642 【文献标识码】A 【文章编号】2095-3089(2013)12-0247-02

软件质量是一个直接影响软件产业应用发展的关键因素,软件测试作为一个提高软件质量的重要手段和衡量软件质量的唯一标准,得到了越来越多的重视。然而,目前我国软件测试人才匮乏,其中主要的原因是这个行业对从业人员,尤其是对软件测试工程师的要求很高。目前我国软件测试人才主要依靠企业、IT培训机构和高校培养三方面,靠企业和IT培训机构突击培养出来的人才往往基础理论知识不够扎实,在向高层次人才发展的过程中会碰到难以突破的瓶颈。

鉴于这种情况,许多高校都开设了软件测试的课程,有的学校还开设了软件测试方向或软件测试专业。以我们信息学院为例,2008年开设了独立的软件测试的课程,2010年将软件测试作为软件工程专业的一个专业方向,其专业课程包括“软件测试方法与技术”、“软件测试自动化”、“软件测试管理”和“软件质量保证”。这些软件测试专业课程的实践性和综合性都很强,尤其是“软件测试自动化”这门课程,除了要熟悉相关的测试理论,了解数据库、网页设计、程序设计等软件开发方面的基础知识,还要求掌握先进的开发及测试的方法和技术,并能熟练运用常用的自动化测试工具。这些特点使得常规的教学方法和手段难以取得良好的教学效果,因此高等学校培养出来的软件测试人员存在着理论和实践脱节、独立解决问题能力和综合应用能力不足等问题。

1.软件测试专业课程教学存在的问题

目前,高校的软件测试专业课程的教学大都采用课堂教学辅助以上机练习的方法,培养出的学生虽然有着较强的理论根底,但对于如何将这些理论运用到千变万化的实际工作中去却知之甚少,理论和实践严重脱节,学生的独立解决问题能力和综合应用能力不足。

许多教学研究人员和专业教师也注意到了测试专业课程教学中存在的问题,并针对这些问题提出了一系列教学改革的方法。其中项目驱动的方法是[1]在教学的过程中师生共同实施一个完整的项目,使学生的综合应用能力得到了提高,因而在软件测试专业课程教学中得到了广泛的应用[2],也取得了不错的效果。但是,这种课堂授课+上机实验+课程项目的教学方法对软件测试专业课程来讲,还存在着一定的局限性,主要表现在以下几个方面:

1.1缺乏真实的被测对象

在教学中使用的项目和案例中,被测对象通常是一些简单模拟的应用软件,测试场景,测试用例和bug也往往是模拟的。使用这类模拟的软件、测试用例和bug对学生进一步理解概念和方法有一定的帮助,但往往不利于学生体会真实测试工作的复杂性和测试工作的价值,学生综合应用能力的提高受到了很大的限制,学习兴趣也难以调动。

1.2缺乏对新知识的掌握

软件开发和测试技术日新月异,在就业压力日益增加的今天,学生不仅需要学习基础知识,还要掌握行业的最新发展趋势。对于软件测试这种高应用性的学科来说,最新的、最实用的技术和方法是在不断的实践中总结出来的,课堂授课+上机实验+课程项目这种局限于校园的教学方法很难满足学生和老师对新知识的掌握,也难以激发学生的学习热情,更不利于开拓学生的视野,培养他们独立解决问题的能力。

1.3缺乏对测试工作的热情

目前,软件行业里流传着软件测试工作的门槛低、收入低,经过简单的培训就可胜任的错误言论。其实,在软件测试行业刚刚兴起,软件测试还是手工进行的时候,这种情况是存在的。但随着软件开发技术的发展,软件变得越来越复杂,测试的方法和技术也有了进一步提高,低技术含量的单纯手工测试已经不能满足需求了,测试工作的回报也有了大幅度地提高。然而,这种低门槛低收入的说法却一直流传了下来,加上前面提到的过于简单的被测对象和没能及时更新的测试技术,都使得学生对软件测试工作认识不足,进而缺乏足够的热情。

2.改革措施

根据上一节提出的当前软件测试专业课程教学方法的局限性,我们提出了将激励教学法应用到软件测试专业课程教学工作中的解决方案。具体的说,就是在课程中引入企业发起的校园竞赛。

2.1激励教学法

激励教学法,就是教师根据学生的不同情况,运用各种有效手段,激发、鼓励学生的进取精神、竞争精神和创造精神,提高学生的学习积极性、主动性,使其思想行为朝着教学计划所期望的方向发展的方法[3]。然而,对大学高年级的同学来讲,一般的方法和手段并不能对他们起到真正的激励作用,为此,我们采用“校园竞赛”这种与所学课程和未来职业规划联系密切的方式来激发同学们学习的积极性,同时也能提高他们独立解决问题和综合应用的能力。

2.2校园竞赛

在软件测试专业课程的教学中,校园竞赛是激励教学法中的激励机制,因此校园竞赛设计的好坏,直接影响到激励教学法实施的效果。

和大多数校园竞赛不同,激励教学法中的校园竞赛是和某一软件测试课程紧密联系的,但竞赛内容却不失实用性,参赛者也不仅仅局限于学习课程的学生。这样,不但对课程的学习有很大的帮助,也能更多地吸引其他同学。最重要的是,竞赛的优胜者可以获得进入企业实习和工作的机会,这种激励方式可以有效地激发同学们学习的兴趣。

为了使激励教学法在软件测试专业课程的教学中取得良好的效果,在竞赛的设计方面,应着重注意以下几点:

2.2.1真实的被测对象

竞赛中使用的被测对象应该是企业中正在开发或运营的真实产品,在竞赛的过程中,企业一线的软件测试工程师应亲自指导,使学生犹如置身于一个实际的工作环境中。这从根本上解决了高校培养的软件测试人员理论和实践脱节、缺乏实战经验的问题,极大地提高了学生的综合应用能力。

2.2.2及时更新技术知识

在竞赛的过程中应定期地举办一系列技术讲座,邀请企业的专家学者来学校和同学们面对面地交流。这些业内专家不仅会带来国内外最先进的测试技术,还可对如何将这些技术应用到实际工作中去做详细的讲解。这不仅让学生加深对理论学习重要性的认识,激发他们的学习兴趣,更从另一个侧面强化他们把理论应用到实践中去的能力,并且使同学们对企业的管理和工作方式有更深入、更具体的了解,为今后走向社会打下坚实的基础。

2.2.3竞赛题目的难度要适中

对学生专业兴趣的培养和鼓励不能仅仅靠真实被测对象和新技术的更新,还要注意竞赛题目的难易程度,要根据学生的整体知识水平和能力做相应调整。太简单了会失去挑战性,太困难了会使他们产生畏惧心理,两者都不利于激发他们对测试工作和测试课程学习的热情。

3.方案实施

激励教学法首先在“软件测试自动化”课程上进行了实施。“软件测试自动化”是软件测试方向的必修课、其他方向的选修课,参加课程学习的同学主要为大三软件工程专业的学生,他们一般至少学过一门软件测试课程,具备一定的软件测试的基本知识,同时对数据库、网页设计、程序设计等软件开发方面的基础知识有一定的了解。

根据“软件测试自动化”课程的特点,结合脚本程序在测试工作中应用越来越广泛的趋势,校园竞赛的主题定为“自动化测试脚本编程”,被测试的对象为公司正在开发运行的一个性能监控工具。

竞赛分三个阶段进行:

第一阶段为热身运动。企业提供详细的操作步骤与说明,帮助参赛者了解比赛进行的方式与完成的步骤,也了解被测试对象的功能。

第二阶段为实际演练。在这个阶段,参赛者需要运用所学到的技能,结合自动化测试的理论及工具,来完成精细的自动化代码设计任务。

第三阶段为实战考验。参赛者需要完成实际的软件测试自动化编码工作,编写真正的自动化测试脚本,搭建自动化测试框架,并让其跑在真正的被测产品上。

为了扩大校园竞赛的影响,专家讲座以课外科技讲座的形式进行,竞赛结果的评定由企业和教师共同进行。

4.结语

激励教学法针对高等学校培养的软件测试人员存在的理论和实践脱节、独立解决问题能力和综合应用能力不足等问题,克服了当前软件测试专业课程教学经常出现的缺乏真实测试对象、知识更新不及时和对测试工作热情不高带来了弊端,对培养应用型、外向型、复合型的专门测试人才起到了积极的作用。经过对“软件测试自动化”课程教学的实施,证明了该方法是切实可行、效果显著的,不但可以在软件测试专业课程中进行应用,经过改进,完全有可能在其他类似的课程(如软件工程)中加以推广。

参考文献:

[1]焦瑞.项目导向法初探[J].中国科技创新导刊,2010(13):36 - 36.

篇8

关键词:

软件测试;应用型人才;案例式教学;教学产业化

随着我国IT行业的发展,越来越多的企业意识到软件测试的重要性,因此软件测试人员成为当前IT业界亟需的热门人才。面对软件测试人员紧迫的需求形势,应用型人才培养单位应该扩大软件测试人员的人才培养规模,提高培养质量。

一、《软件测试》课程教育现状

我国软件测试技术发展已有十余年,但IT市场对于测试人员仍然呈现出供不应求的势态。目前国内高校对软件工程专业几乎都会开设软件测试课程,甚至有些高校已经设置有软件测试专业。2011年11月,教育部主办了“2011年高等学校软件测试课程教学论坛”,对测试人才的培养及测试领域的全面发展起到了积极地推动作用[1]。高校系统化的专业教育体系为学生奠定了扎实而科学的学科基础,并对软件测试技术的理论化和系统化发展起到了不可替代的作用。利弊相依,传统的人才培养模式对软件测试课程设置和培养方案上还是会存在以下不足。

1.重理论轻实践在传统的软件测试课程设置中,大多采用教师在课堂上讲授理论知识,学生上机时完成实验操作的教学方式。实验的目的只是为了检查学生知识点的理解和掌握,实验题目大多比较陈旧,不能与时俱进地与当前的最新技术或最热门的应用相结合,使得学生的测试知识体系过于单薄。

2.重学生个体知识积累,轻团队协作能力培养团队协作在软件工程中的重要性无须多述。软件测试作为软件工程中重要一个环节,贯穿于整个软件生命周期,测试人员与系统分析员、软件设计师、程序员、维护人员之间的沟通必不可少,良好的团队协作才能有助于项目的进行,有助于高效、正确地开发出高质量的软件产品。传统的教学模式中,很少引入分组协作的环节去锻炼学生的沟通和交流能力,更不能设计出测试人员和开发人员的沟通场景,不能满足学生在项目中去加深理解、巩固提高的需求。

3.重即有知识,轻科学创新一直以来,软件测试课程在高校的课程体系中受到重视并不多,课程结束后并没有延续测试知识的后续课程。因此,学生不能在后面的学习和实践中进行总结提升。知识在母体中是要经过消化、适应、转化、演进、创新、融合、活化,而后才称为组织的“行动知识”,现有的教学模式不能很好的产生知识发酵效果。

二、《软件测试》课程特点和培养目标

软件测试是一门应用型较强的学科,应注重理论联系实践。一个合格的软件评测师除了要掌握即有的测试理论和软件知识外,还必须具备对软件测试行业的深刻理解,必须具备对计算机专业知识,包括编程技能、数据库、网络、中间件等知识的系统掌握,必须具备沟通能力、团队协作精神。软件测试是为了尽可能多地发现并排除软件中潜藏的错误,最终把一个高质量的软件交给用户,这并不是一项简单的工作。要做好软件测试,测试人员不仅需要站在客户的角度思考问题,真正理解客户的需求,具备良好的分析能力和创造性思维能力,完成功能测试和界面测试,而且要能理解软件系统的实现原理和各种使用场景,具备扎实的技术功底,能使用测试工具完成相应的性能测试、安全性测试、兼容性测试和可靠性测试等更具挑战性的任务[2]。从这个角度看,一个优秀的测试工程师需要掌握更多的知识和技能。

三、《软件测试》课程教学改革方案

以上可以看出,当前高校对于测试课程的不重视,以及当前的软硬件设施及教学方法都不能满足对应用型测试技术人才的培养要求。为了适应软件产业发展对测试人才的迫切需要,实现软件人才培养的持续性发展,针对软件测试课程调整培养方案,展开深入的教学改革和实践活动十分迫切和必要。

1.加大师资力量,构建完善的软硬件测试平台教师素养的提高是软件测试教学改革得以顺利开展的前提。此前,国内对软件测试并不重视,致使国内软件测试人才短缺,大部分高校内虽然有计算机系,但多以重开发轻测试,测试教师的专业素质和数量都远远不够。因此,不仅要重视对教师测试专业技术的培训,提供更多的学习机会,也应该认真开展软件测试教学研究,构造专业的软件测试教学团队。作为一门实践性较高的课程,软件测试必须建议专门的、完备的实验教学体系和环境。目前,高校普遍缺乏软件测试的软、硬件环境,致使学生无法通过项目实践来深入理解和提高测试相关知识和技能。

2.运用案例教学,丰富软件测试项目实战案例在教学活动中,学生总是对最新、最流行的项目和案例感兴趣,陈旧的案例既不能满足当前市场上对测试人才的技术需求,又不能很好的激起学生的兴趣。运用案例教学最重要的环节就是丰富案例素材,保持案例的“鲜活性”与“生命力”。高校可以采用历年本科毕业设计中运用了流行的技术、难度适中、功能较为完整的应用作为软件测试课程的测试案例,不但可以保证素材的延续性,也使得学生毕业设计完成的质量有所提高。

3.加强校企合作,走教学产业化发展之路[3]企业需要人才,高校为企业输送人才,校园中学习的技能最终要接收用人单位的考验。所以与软件企业合作,建立对口的学生实训基地,是应用型人才培养的重要途径。软件测试技术的掌握与提高离不开项目实战,让学生在真正的软件工程过程中从事测试工作,不仅能使学生深刻体会到软件测试在整个项目中的作用,掌握测试方法和技巧,对于学生的沟通交流能力、团队协作能力都有积极的促进作用。

四、小结

软件测试是保障软件质量,验证软件可靠性的重要环节,其重要性不言而喻。重视软件测试应从企业用人的实际需求出发,高校应加强面向企业需求的软件测试改革,切实培养学生的动手操作能力,使学生掌握最新的测试方法和技巧,让企业需求促进和推动高校教学发展。

参考文献:

[1]李静赵志升.软件测试专业课程体系建设和教学改革[J].教育与职业,2014(1):136-137.

篇9

目前我国软件测试人才严重匮乏,人才缺口达到30万,造成这一结果的主要原因是国内软件测试人才教育相对滞后[1]。但实际上,很多学习了软件测试课程的学生却找不到工作,业内专家称之为人才的“结构性过剩”[2],而滞后的原因不仅仅是教育机构开设软件测试课程时间的滞后,主要是教学内容和教学效果与实际需要的差距产生的滞后。外包开发行业快速发展,对人才在代码和文档方面的规范性、技能和工具的熟练程度要求越来越高[2],而这些要求正是软件测试人才教育的薄弱环节。因此,如何顺应市场需求,培养出企业所需的软件测试人员,成为软件测试课程改革创新的目标。

1教学现状

随着软件测试人员市场需求的不断增加,各大高校、职业技术学校及IT培训机构纷纷开设了“软件测试”课程。然而,在师资方面,讲授软件测试课程的教师多数是由软件工程的教师承担,这些主讲教师能很好地讲解软件测试理论和介绍软件测试方法,但缺乏软件测试的系统案例和软件测试经验[3]。在理论教材方面,虽然各种软件测试的教材相继出版发行,但教材中技术实现的内容较多,对常用的软件测试文档书写介绍很少,且缺乏文档模板;对自动化测试工具,基本也是简略介绍其功能。在实验教材方面,目前还没有配套的软件测试实验教材问世,在教学过程中基本是任课教师自行设计实验教学内容。对于实践性较强的课程,主讲教师如果没有大量的实际项目开发经验作为支撑,就难于用恰当的实例来解释相关理论,更难设计出实用有效的实验内容,导致在校学习的知识与实际工作脱节的现象。要顺应软件测试人才市场的需求,软件测试课程的教学必须面向企业的实际需要,使学生能学到实际工作中常用的技能,以“经验者”的身份进入人才市场参与竞争。

2改革和创新

笔者以日企工程经验为依据,针对软件测试课程教学中缺乏系统案例、重技术实现轻文档工作、测试工具流于产品说明等问题[4],设计了一套软件测试实验,帮助学生利用软件测试技术搭建测试环境;根据测试规格说明书进行测试;练习测试用例的设计、执行与跟踪并高效地进行回归测试;熟悉常用测试文档的书写方法;掌握如何保存测试用例和有效的测试结果;准确地书写缺陷报告;通过思考题的方式启发学生利用计算机技术开发自动化测试工具。

2.1教学进度的调整

计算机课程的实验教学,通常和理论课同步或延迟几周进行。对于软件测试这门课程的实验教学,如果与理论课同步进行,前期的实验内容安排就缺乏理论支持,如果比理论课迟后几次,即在讲述白盒测试和黑盒测试后开始实验教学,就可以将各种测试方法融入实验中进行,但由于软件测试过程及技术、测试文档书写相关内容还未讲述,实验内容的安排显得孤立,没有整体感。为了让学生体验软件测试在实际工作环境中的实施过程,将理论课讲述的知识有机地融入到完整的案例中进行实验,就需要系统地学习完理论知识后,再结合实际案例系统地进行实验。

我们打破传统的周四学时,即“理论2+实验2”的排课模式,将一个学期分为理论上半学期,实验下半学期,上半学期周四学时用于结合案例进行理论教学,下半学期周四学时针对理论课讲述的案例进行实验教学,以便学生能够模拟实际工作环境进行系统的软件测试实验。

2.2实验教学的创新

2.2.1实验素材的创新

现有的软件测试教材,通常会在最后章节给出一个案例,针对该案例利用教材上介绍的各种测试方法有针对性地进行测试用例设计。但是教材对案例的描述基本只限于项目背景介绍、子系统介绍、子系统功能分析、子系统性能及可用性要求方面的资料,基本没有提供可运行案例系统的代码,同时也缺乏必要的供测试使用的文档。实际工作中,软件测试过程与软件设计周期有相互对应的关系,软件测试过程中的单元测试、集成测试、系统测试、验收测试分别对应软件设计中的详细设计、概要设计、系统设计和需求分析[5]。因此,要完成一个系统的较完整测试过程,不仅要提供被测系统的完整代码及数据,还必须提供全套的设计文档。

我们以一个开发完整的以C/S模式实现的“小区物业管理系统”和B/S模式实现的“图书馆管理系统”作为测试案例,在理论课教学中主要以“小区物业管理系统”作为案例进行理论知识的讲解,与网站测试和面向对象测试相关的内容以“图书馆管理系统”作为案例进行讲解。这样,进行完理论教学,学生对案例系统的功能基本了解。在实验教学中,我们提供给学生在测试中需要的代码、开发规范、需求分析、系统设计书、概要设计书、详细设计书,具备了以上资料,便可模拟实际工作模式,将理论教学中讲述的测试策略和方法、测试文档的书写方法运用到该案例的测试实验中。

2.2.2实验内容的创新

由于实验教学学时和学生能力的限制,在本实验的设计中,我们主要针对初、中级测试工程师级别设计实验内容,这些实验内容就是同学们踏上测试岗位要动手干的实际工作。而针对高级测试工程师和测试管理者担当的工作,比如测试计划的制作、各种设计的验证、测试评估和总结,需要经历初中级测试工程师的实战,积累大量经验才能承担,这一部分内容,我们只在理论教学中简单讲述,不在实验教学中安排实验内容。

我们设计了表1所示的实验内容,本设计旨在让学生经过实验的训练,以“经验者”的角色参与求职应聘,因此,我们以项目管理者培养“新人”的方式来安排实验内容和进度。虽然软件测试贯穿于软件生命周期的全过程,但对于刚毕业的大学生来说,从人才培养角度出发,项目管理者通常是按照以下流程在工作过程中培养人才:单纯性测试的实施、测试设计(书写测试规格说明书)、测试环境搭建等,按照单元测试、集成测试、系统测试的顺序循序渐进地深入测试工作,因此我们按如下进度设计了以下实验内容,并在提供的素材中人为地制造缺陷,以便学生发现缺陷、分析缺陷、修改缺陷。

篇10

一、前言

吉林省电子信息产品监督检验研究院/中国赛宝(吉林)实验室()始建于1973年,隶属于吉林省工业和信息化厅,是非盈利性事业单位,业务领域涉及电子元器件及液晶、家电、视听、安防、计算机、通讯、医用电器设备、电池等电子应用产品及计算软件产品、网络系统、信息安全的质量监督、检验、鉴定和仲裁,其中,软件产品测试业务是我院重要的一项核心业务。我院软件产品测试业务于2004年通过了中国合格评定国家认可委员会(CNAS)的评审,是省内唯一授权的第三方软件评测机构,同时,也是我省双软认定工作中唯一指定进行软件产品登记测试的单位,现开展软件测试服务已经10余年,主要开展的项目有:软件产品的登记测试、鉴定测试、确认测试、性能测试、验收测试、定制性测试、白盒测试等。经过多年的持续发展,目前拥有一批高素质、高水平的专业测试人才队伍和先进的测试设备,优质、高效地完成了各种类型的软件产品测试项目,得到了广大客户的高度认可和好评。

二、背景和立意

软件测试风险管理在软件测试项目中的地位是不容忽视的,本文主要通过对软件测试项目在测试风险管理方面的相关内容的讨论,使读者从中会体会到软件测试风险管理对测试项目的重要性和给项目带来的帮助。

三、以“锅炉优化燃烧专家诊断系统”软件的测试风险管理为例,论述软件测试的风险管理。

1、系统描述:

“锅炉优化燃烧专家诊断系统”软件(以下简称本软件)应用于锅炉设备燃烧情况的监测领域,通过温度场范围、烟气场范围、计算诊断结果范围等初始参数设置,模拟量量程、一次风差量程等串口设置,及开始设置、保存数据等模块,实现了锅炉内部温度场及烟气场的情况推算及结果显示等功能。对本软件测试的要求是在20个工作日内完成本项测试任务,在最后回归测试时的结果需达到预期要求。

2、测试类型:功能测试

功能测试是黑盒测试,是对软件产品的各项功能进行验证的测试,注重于测试软件的功能性需求。

3、编制测试风险管理计划

在测试的初期,我们会编制测试风险管理计划,主要描述如何在对本软件的测试中处理和执行风险管理活动在责任、资源、时间等方面的安排。我们全面考虑了风险对测试的影响,制定了充分的测试风险管理计划。其中,我们详细编制了单个测试风险管理计划和综合测试风险管理计划,为后续实施的测试风险管理做好了准备,并形成了依据。

4、测试风险识别及测试风险分析

本软件测试之前,我们以会议讨论的形式,根据以往的经验,列出检查项目列表,并进行分解,通过假定分析,最后研究、识别、确定了影响测试计划实施的因素。

我们还对预测的测试风险进行了分析,确定测试风险对测试的影响程度及发生几率,并对风险进行量化、选择、排序,确定哪些风险是可以接受的,哪些风险是必须要应对的,哪些风险是可以忽略的。进行测试风险管理应该把主要精力集中在那些概率高、影响力大的风险上。

经过测试风险识别及风险分析,确定测试过程中我们主要关注的可能存在的对测试影响程度大的主要风险,如下:

(1)由于本软件是针对锅炉设备燃烧情况的监测领域的软件,需要测试人员对锅炉设备燃烧情况的监测领域相关知识有所了解,故测试人员对锅炉设备燃烧情况的监测领域了解不足或不了解,导致测试人员对被测系统的业务流程不熟悉,对需求的理解上把握不准、理解不透彻、理解错误等,对测试形成风险。

(2)测试人员出具软件测试问题报告单后,与企业开发人员交流时,开发人员对发现的问题理解程度不佳,导致对测试问题的修改不满足要求,或由于企业原因,企业再次报送相关修改结果速度过慢。

(3)测试人员实施测试时的测试方法有错误或缺失,导致对功能点没有采用正确的测试方法,或某些测试方法被忽视,如边界测试等,导致测试不充分。

(4)测试环境出现故障,给测试带来的影响。

5、测试风险应对计划措施

对已识别的主要风险制定的对应应对计划措施,如下:

(1)请企业相关人员培训测试人员学习锅炉设备燃烧情况的监测领域的相关知识,测试人员也要通过网络和书籍多查找锅炉设备燃烧情况的监测领域相关资料,做好测试前了解行业知识的准备。

(2)加强对测试人员的沟通能力和服务意思的培训,保证测试人员能详细、认真、准确的讲解测试问题报告单中体现的bug,使得企业软件开发人员能明白测试人员的讲解,并确认软件中存在的bug,及时快速的修复bug,且在与企业人员沟通中,强调测试进度及修改速度的重要性,督促企业人员尽快再次报送相关修改结果,保证测试按测试计划完成。

(3)加强对测试人员测试方法相关知识的培训,要求测试人员主动翻阅历史测试经验的积累记录,充实经验方面的不足,并向有经验的人员请教。

(4)严格按照软件文档的要求搭建测试环境,尽量避免测试环境出现故障,安排1名维护人员(兼职),当测试环境出现故障时,尽快安排维护人员整修、排除故障,尽量减小对测试进度的影响。

6、测试风险控制及实际测试情况

在进行测试的过程中,我们会对已识别出的测试风险的状态进行跟踪,监控测试风险的发生,做好对测试风险的监督控制,及时应对已发生的测试风险,并深入分析,继续识别新出现的测试风险,复审测试风险应对计划措施的执行情况和效果,根据实际情况修改测试风险应对计划措施,对新识别的测试风险,制定新的测试风险应对计划措施。

在实际测试时,我们对已出现的测试风险按照测试风险应对计划措施做好了相应的应对措施,效果十分明显,有效的避免了测试风险对测试的影响或把测试风险的影响降到了最低,但还是由于企业原因,企业再次报送相关修改结果过慢,影响了测试进度,我们对晚报送的修改结果进行了加班测试、并添加测试人员的应对措施,虽然根据测试计划规定,实施测试的时间延期了1天,但我们缩短了出具测试报告的时间,使得测试任务按时圆满的完成了,测试结果得到了客户的认可,而且,我们在测试的过程中给企业提出了许多规范、改善、优化企业软件开发或维护方面的建议,企业人员对我们的建议予以接受,同时,企业对我们的服务态度及服务质量给予了高度的评价和赞扬,肯定了我们各方面的服务。

四、总结

通过对“锅炉优化燃烧专家诊断系统”软件的测试风险管理案例的讨论,论述了怎样进行软件测试的风险管理,总结了本人对软件测试风险管理的认识和积累的经验,希望能通过本文使读者有所收获。

对软件测试管理方面的研究,我们还要继续努力,不断加强测试管理方面的知识积累及探索,提高测试管理方面的能力和水平,使自己成为优秀的软件评测员及测试管理员。

参考文献:

[1]《软件测试方法和技术》作者:朱少民;出版日期:2005年7月;出版社:清华大学出版社

执行标准:

[1]《GB/T 17544-1998 信息技术 软件包 质量要求和测试》

[2]《GB/T 16260.1-2006 软件工程 产品质量 第1部分:质量模型》

篇11

据前程无忧网数据显示,去年国内软件测试人才缺口高达20万,今年有望突破30万人。目前国内软件测试和开发人员比例大约在1:4-1:5,而国外测试和开发人员比例为1:1,微软测试人员和开发人员的比例已达到2:1。软件测试人才正在成为我国软件行业目前最紧缺的人才之一。随着我国软件产业的迅速发展,软件测试人才的地位正在逐年提升,这种供需矛盾将变得越发突出。

目前,国内软件测试人才的培训[1]主要有三种机构:企业、高等院校和IT培训机构。企业培养的人才大多是通过参与项目自己摸索的软件开发人员,由于缺乏对软件测试全面的认识,在测试思想、技能、思维方式、沟通能力等方面都需要进一步提高。高校培养出来的人才具备一定理论知识,但动手能力较差,进入企业后需要再培养,不能立即到岗。培训机构则能弥补前两种方式的不足,但价格昂贵。

一、软件测试课程教学现状

(一)学生学习枯燥,兴趣低

软件测试是计算机专业课,课程内容理论性和操作性都很强,并且需要学习了解的自动化测试工具种类繁多。目前各个高校在开设这门课程时,大多数还停留在理论教学阶段。教师准备好课件,学生拿着课本,首先给出书上官方的定义和自己的解释,然后结合一些课本上或自己参与的项目,给出实例证明这些理论。学生容易感到内容空洞、枯燥乏味,学习时就缺少主动性,难对这门课程产生兴趣。

(二)软件测试实验开展不充分,学生实践能力弱

软件测试知识点众多,理论内容的授课量占绝大部分[2],实验课时数仅占到四分之一左右。由于实验时间、实践环境有限,日常实验教学都是验证性的小实验。由于没有一个实际的面向企业的项目支撑,很多测试过程难以进行,比如集成测试、性能测试、验收测试等等。通过对从事软件测试方向工作的毕业生就业情况调查发现,软件企业认为软件测试课程理论丰富,但还存在学生实践能力不足、测试工程师职业素质有待进一步提高等诸多问题。

(三)教师缺乏实际软件测试经验

软件测试行业发展迅速,软件测试工具种类多,更新快。软件测试这门课程实践性较强,高校计算机教师大多数软件项目开发测试经验不足[3],对软件公司软件项目研发测试过程没有切身的体会。教师在讲授这门课程时没有实际的软件项目案例可以操作,实践教学显得吃力,很难给学生软件测试方面的经验知识。

面对软件测试人才的社会需求紧迫性和软件测试教学现状,人才培养单位应该扩大软件测试人才培养规模,总结软件测试知识点,改革教学方法,培养学生兴趣,提高教学质量。

二、软件测试工程师职业能力需求

为更好地培养学生的软件测试工程师职业素质[4][5] [6],提高学生的就业率和用人单位的满意度,充分分析软件测试工程师的职业能力要求。

(一)素质要求[4][5]

1、具有团队合作精神。

2、有较强的责任感及进取精神。

3、细心、耐心,具备逆向思维。

4、技术方面的基本素质,熟悉系统的应用,熟悉办公软件的应用,熟悉基本的测试流程;熟悉测试管理工具的应用。

5、具有测试人员的学习能力、领悟能力。

6、对行业具有信心,对测试的信心,相信软件一直存在BUG。

7、良好的英语阅读和写作。

8、良好的语言及文字表达。

9、较好的沟通技巧。

10、怀疑精神具有测试人员必须保持的怀疑态度。

11、捕获用户观点的能力,强烈的质量追求,对细节的关注。

(二)专业能力要求[6]

1、对Windows、Linux、Unix等大型主流操作系统的熟练掌握能力。

2、具备快速进行应用系统部署和测试环境搭建的能力。

3、测试人员必须掌握目前主流的程序设计语言,比如C、C++、JAVA、C#、VB等多种平台下的一种或者多种语言,具备进行简单应用开发的能力。

4、熟练掌握SQL Server、Oracle、DB2等一种或多种数据库系统的使用,熟悉使用SQL语言。

5、对信息安全知识的基本掌握。

6、必须深刻理解和熟练掌握软件测试基础理论与技术。

7、精通各种测试技术,能够手工或利用相关工具进行单元测试。

8、能够进行测试用例设计、测试执行、编写缺陷报告。

9、熟悉软件测试流程和测试过程管理,能够编写测试计划,具备组织测试工作的能力。

10、掌握测试管理相关知识和软件。

11、掌握和熟练使用当前主流的功能、性能自动化测试工具以及测试管理工具,具备编写测试脚本、进行功能和性能测试自动化测试的能力。

(三)知识结构要求

1、软件知识:数据结构、操作系统、面向对象程序设计、数据库原理、C程序设计语言、WEB技术、数据仓库与数据挖掘、软件工程。

2、硬件知识:数字逻辑、微机原理与接口、计算机组成原理、计算机系统结构。

3、网络知识:计算机网络技术、计算机网络安全。

4、人文、社会学基础:原理、道德与法律、中华民族历史、大学语文、大学英语。

5、数学基础:高等数学、线性代数、概率统计。

三、软件测试课程设计理念和思路

根据软件测试工程的职业能力要求,对软件测试课程我们重新把握课程的设计理念和思路。

(一)课程设计理念

1、与企业共建基于工作过程的课程体系

根据专业办学的定位及特色,《软件测试》课程的设计理念是以软件测试员/测试工程师岗位需求为依据,以培养学生使用自动化测试技术进行软件测试的职业能力为主要目标,以测试工作的典型工作任务为导向,坚持以能力为本位的设计原则,制定突出企业应用能力和素养的课程标准,构建基于工作过程的系统化课程体系。课程组通过开展课程标准研讨会和技术培训会等形式,听取企业专家的建议,修订软件测试课程的内容,保证课程内容与企业用人需求同步;在课程功能上注重学生应用能力的培养,构建以掌握软件测试应用能力为特征的理实一体化的教学内容,做到强化技能、提升业务素质,提高学生的就业竞争力和实际工作能力。

2、和相关课程构成课程群,实现企业应用项目开发过程的案例教学环境

立足于培养满足企业应用的软件项目开发需要的应用型人才,本课程以真实的软件实例项目测试任务和过程为依据,以现代教学理念为指导,精心进行教学设计。

在构建课程体系[7]时,由专业建设及教学指导委员会,充分调查分析不断变化的市场,以企业应用软件项目开发为切入点,构建基于软件项目开发过程平台。将《Java面向对象程序设计》、《数据库原理及应用》、《软件工程》、《软件测试》、《软件项目综合实训》这5门课程,按照专业培养目标,掌握计算机软件技术所必需的理论知识和专业技能,具有较强实践能力,能在软件项目研发测试一线从事软件项目需求分析、设计、编程、测试和软件产品等工作的高素质应用型专业人才的要求,对应“软件工程师”、“软件测试师”“数据库工程师”等行业职业特征,以项目为载体,形成一个有机整体,整合成“基于企业应用软件项目开发过程”,组建了课程群。其中《Java面向对象程序设计》、《数据库原理及应用》是专业核心基础课程,《软件工程》、《软件测试》、《软件项目综合实训》是专业核心必修课。通过“软件项目的需求分析、设计、编程和测试技术”这个链将这五门课程紧紧联系在一起,并能带动软件技术、网络工程、计算机信息管理、计算机应用技术等几个专业的协调发展。

(二)设计思路

1、以软件测试工程师对软件测试的能力要求为主线,设计课程体系,强化“工程属性”,突出“项目色彩”。

在课程体系设计中,课程组以软件测试工程师对软件测试的能力要求为主线,整合“JAVA面向对象程序设计”、“数据库原理及应用”、“软件工程”并融合到以多种实际企业项目作为案例的“软件项目综合实训”实践课程中,经过优化,强化课程的“工程属性”和“企业项目开发色彩”,将原来在传统课堂教学中仅仅通过简单实验无法实现的“集成测试”、“性能测试”、“系统测试”、“验收测试”等环节在实际工程项目实训中得到实现,并努力培养学生岗位职业能力。在课程教学中,坚持以实际项目案例中的工作任务为目标,融理论教学与实践教学为一体,以案例教学为导向,结合学生考取软件测试工程师资格证书的实际需要,加强学生职业能力和综合素质的培养,提高学生就业竞争力。

2、以企业工程能力培养为重点,实行分阶段培养模式

根据企业工程能力的形成过程,课程组将教学内容划分为基础理论阶段、技术应用阶段、职业发展阶段三个阶段。其中,基础理论阶段包括测试基础理论模块,主要介绍软件测试的基本理论与技术,测试用例设计和软件测试流程,侧重培养学生的测试思维,了解并掌握软件产品质量保证的基本思想和基本测试流程,以及软件测试的方法、技术,使学生能够设计出测试案例并通过手动测试实现测试案例,为全面掌握软件测试技术,后续实施测试和测试项目管理打下坚实的基础。技术应用阶段包括测试技术应用模块,主要介绍主流的自动化测试工具,包括IBM系列测试工具、HP QTP、HP LoadRunner,企业级项目的测试实施,培养学生将测试知识和技术应用于自动化测试实施的能力。职业发展阶段包括测试项目管理和职业素质教育两个模块,主要介绍软件测试项目管理的相关技术和方法、运用工程项目方式管理软件测试过程、测试企业工作模式和软件测试人员必备素质,培养学生的项目管理能力、团队协作能力和求职应聘能力。

适当加入游戏测试、手机测试、笔记本测试等学生感兴趣的内容。我们了解到学生对游戏测试这部分内容很感兴趣,那些平时听课不太认真的学生在这个问题上都举手要说上几句,跃跃欲试,也都能说出一二。所以,课程组在软件测试这门课程中经常讨论一些游戏测试这部分内容,以引起学生的学习兴趣。

四、改革教学模式和教学方法

(一)教学模式

本着“教师为主导,学生为主体”的思想,采用双证培养、分阶段培养和教学做评一体化教学模式[8]。

1、双证培养教学模式

实行“双证培养”教学模式,将学历教育与技能学习无缝对接,学生毕业后不仅能获得国家承认大学学历证书,同时还将获得国家劳动部高级职业技能认证证书。根据学生的能力特点,推荐学生考取软件测试助理工程师、软件测试工程师、软件质量管理工程师、注册软件质量保证师(国际认证)等资格证书。双证教育使学生专业能力更强、职业素养更高、综合素质更好、更符合企业用人标准。

2、教学做评一体化教学模式

将教学场所直接设在实训实验室,师生双方边教边学边做,理论和实践交替进行,把课堂教学转向工作情境,课堂由教师为主转向以学生为中心,突出学生动手能力和专业技能的培养,充分调动和激发学生学习兴趣。学生真正变成了学习的主人,而老师只是一个引导者或答疑解惑者,可以培养学生的终生学习能力,对加强学生的计算机动手操作能力和解决实际问题的能力也有很大好处。

最后教师跟大家一起对实验结果进行讲评,并对表现优秀的学生给予鼓励,同学们情绪高涨,学习积极性高。

(二)教学方法

根据学生的实际情况,综合采用多种教学方法[9][10]。

1、项目导向教学法

以从企业精选的项目为载体,在授课过程中对项目进行分解,根据学生的个性和他们的意愿分配不同的角色,并引导学生练习操作,体验项目流程,从而形成规范的开发意识和良好的IT职业素质。学生在校内所学习到的软件开发中的各类案例,在实际工作中能够及早地进行规划。

本课程以物流信息网这个项目为主线,把整个课程的教学演变成一系列的教学情境。按照实际工作中项目开发流程的顺序,依次展开,将“显性”的知识灌输,变为“隐性”的能力培养。通过具体项目的实施,引导学生在完成项目的过程中,掌握知识,培养能力。

2、任务驱动教学法

在课堂教学活动中,如果采用传统教学方法,很难激发学生学习兴趣。应该采用任务驱动教学方法,把一个项目分解为若干个大任务,每一个大任务,又分解为若干个小任务,将任务资料发给学生。学生在教师的引导下,课下先要进行消化,然后查阅各种必要的资料,理解知识并思考提出解决问题的方法。课上教师答复学生的问题,并引导学生更深层次的思考。通过这种方法充分调动学生的学习积极性,提高学习兴趣,使学生既学会理论知识又学会用理论知识解决实际工程中的问题。

3、启发式教学法

教师根据课程教学目的、内容、学生的知识水平和认知规律,采用启发诱导方法传授知识。该方法能够充分调动学生学习的积极性、主动性,促使学生独立思考、判断、归纳解答。能较好的培养学生学习能力,达到触类旁通的教学效果。

4、小组教学法

将班内学生分成若干个测试小组,每小组成员不超过7人,每组分配不同的软件项目任务。小组成员模拟与体验软件测试全过程工作职位和角色,使学生全过程适应工作职位的要求。

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

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

五、教师队伍建设

加强双师队伍[11]建设,坚持“引进来,走出去”原则,积极引进具有企业开发经验的高素质人才进行课程教学和实验指导,同时注重本课题组青年教师队伍的培养。采用分批次选派青年教师参加山东大学齐鲁软件学院暑期实训和定期组织青年教师去软件公司实习等方式,将企业的软件测试经验直接带到教学中,提高教师的教学水平。

我们定期引进一些软件公司的软件测试人员或者聘请这方面的专业人士为教师、学生做定期讲座,以弥补我们在教学实践方面的缺陷。

六、实验实训条件建设

为培养应用型人才,本课程注重从不同侧面提高学生的实践能力。一方面,强化课内实验教学,在校内建有多个实训实验室,另一方面,与校外多家企业建立合作关系,为学生提供实训实习平台,开展产学研合作,构建校企合作培养人才的新模式。

本课程组注重密切与行业和企业的联系,与多家软件公司进行长期合作,建立了校外实习实训基地[12],为学生提供了生产性实训和顶岗实习的场所,在真实的职业环境中完成真实软件产品的开发,体验企业文化,培养职业态度和习惯。学生毕业后可成为这些公司的正式员工,真正实现了学校、企业、学生三方受益。

七、改革考核方式

大胆改革课程考核方式[13],采用30%平时成绩+30%实验成绩+10%项目考核成绩+30%期末考试成绩方式。平时成绩主要考核学生的课堂讨论情况、课后作业完成情况及课后自学情况。实验成绩根据学生在实验中的测试用例设计和操作情况,以及测试小组的分工合作情况给以评分。项目考核主要采用项目答辩的形式考核学生对基础知识的理解和掌握情况,由教师、行业专家、学生代表组成专家组给予评分。这种考核方式更注重的是对学生学习过程和实践操作水平的考核,避免学生为考试而学习,死记硬背现象。

八、小结

通过对基于工作过程的软件测试应用型人才培养模式的探索研究,学院已取得了实质性进展,建立了软件测试课程教学团队和软件测试实验实训基地。学生的软件测试综合应用能力有明显的提升,得到用人单位的好评,提高了学生的就业率。

参考文献:

[1]龚宇辉.软件测试课程教学改革研究[J].教育与职业,2010(24):130-131.

[2]温艳冬,石冬凌.软件测试课程三级项目教学实践[J].计算机教育,2010(22):77-79.

[3]胡宏银.软件测试课程教学方法探讨与实践[J].计算机教育,2007(03):11-13.

[4]http:///link?url=5xO-IodKMsEhsyUjQhIeqybDGR-8AypYffsnAnZdMWpLRpgEhLehfzGEROxq9fIC.

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

[6]钟素芬,叶明芷.软件测试应用性人才培养模式的探索与实践[J].北京联合大学学报(自然科学版),2007(03) :89-92.

[7]田小霞.软件测试人才培养的探索[J].福建电脑,2013(02):181-182.

[8]刘育熙,耿雪春.面向应用的软件测试人才综合能力培养模式研究[J].教育与职业,2009(11):111-112.

[9]范洪辉,朱洪锦,朱广萍.“软件测试技术与软件质量”课程教学改革探索[J].江苏技术师范学院学报,2012(12):151-153.

[10]周改云,马丽.行动导向教学在软件测试技术课程中的应用[J].电子测试,2013(04):192-194.

[11]兰景英.构建应用型软件测试人才培养实践教学体系[J].黑龙江教育学院学报,2011,(05):78-80.

[12]兰景英.应用型软件测试人才培养模式探索与实践[J].潍坊教育学院学报, 2011,(04):78-80.

[13]叶振,杜斌.开放式软件测试教学实践探索[J].现代企业教育,2011(01):140-141.

基金项目:

山东协和学院教改项目(2012xh01)。

作者简介:

篇12

关键词:高职院校;软件测试;案例库

Key words: higher vocational colleges;software testing;case base

中图分类号:G423.07 文献标识码:A 文章编号:1006-4311(2017)03-0217-02

0 引言

随着科技的迅猛发展,人们在日常工作和生活中,已经离不开电子产品,作为它们灵魂的软件,其智能度和复杂度也越来越高,更由于网络和智能手持设备的普及,人们对于软件的质量也提出了更高的要求,而软件测试就是为了保证其质量的有力法宝。目前,软件测试已被越来越多的公司和学校重视,很多高职院校也都开设了相关的课程。但是,作为一个高职的新兴专业,此专业教学内容新、课程案例少,教学资源不足,在这种情况下,研究和制作适合高职院校教学的课程案例是非常有必要的。

1 高职院校软件测试技术课程教学现状

1.1 软件测试技术课程及从业人员特点

软件测试是一门综合性的学科,测试不只是测试的执行,它包括从测试计划的制定到测试结束后测试报告的撰写等一系列活动,有着较强的理论性、设计性和实践性。要学好软件测试课程,满足从事软件测试岗位的要求,业务能力方面,从业人员需要较强的阅读分析能力,文档编写能力,测试用例设计能力,还需要了解软件项目开发基本过程和特征,具有基本的编程能力。个人素质方面,从业人员需要有较强的责任心,要有团队合作的沟通意识和时刻保持怀疑的态度且具有缺陷预防意识,同时还要细心、耐心。

1.2 软件测试技术教材现状

目前,面向高职院校的软件测试技术的教材,其教学目标和教学内容仍然偏重理论知识掌握,很多教学内容严重滞后,大部分教材案例旧,与时代脱节,激发不起学生的学习兴趣,学生的参与度不高。教材中关于实践的设计相对少,与市场上的软件测试岗位要求掌握的基本技能差距较大,而且教学案例简单,学生没有完整的测试思路。

1.3 高职院校学生现状

高职学生录取分数低,加之近几年北京生源减少,高职的录取分数更低,学生的文化基础较差,大部分学生的学习动力不足,自我控制力差,对于学习缺少有效的学习方法。针对北京青年政治学院计算机系2014级计算机应用技术1、2班开设软件测试前的调查显示,学生对于之前学习过的程序开发基础掌握差强人意,文档编写能力弱,理论知识掌握较差。由此,引导学生自主学习,激发学生的学习兴趣,提高学生的实践能力,就需要把握高职学生特点,掌握学生的兴趣点,与课堂教学有机的融合在一起。

2 案例库建设

职业院校的教学应该立足于应用,而应用是为了尽快走向工作岗位,借鉴招聘网站中招聘软件测试岗位的需求,找准目前企业需求的方向,调研测试公司的实际操作流程,再参考测试培训公司的讲课模式,讲课案例,结合高职院校学生的特点,才能开发适合高职学生的课程案例。

2.1 案例库建设原则

软件测试技术课程的理论性和实践性都比较强,而高职学生的特点之一就是对理论的学习效果差。如何选择合适的案例让学生在积极参与实践的过程中把理论知识掌握是案例库建设的指导性原则,由此,案例库建设应满足以下几个基本原则:①规范性:案例的建设要符合国家信息资源建设技术规范。②新颖性:案例库的建设要在充分调研学生的兴趣和爱好的基础上选取,才能调动学生的参与性。③学科性:能与软件测试的理论知识结合起来,让学生在实践中掌握知识点。④连续性:时代在发展,新生事物不断出现,学生的兴趣点也不断改变,案例库的建设应该与时代同步发展。

2.2 案例库建设模型

以案例库建设原则为指导,结合课程知识点,调研学生的兴趣爱好,调查企业需求,找到合适的结合点,开发出适合当前高职院校的软件测试案例,建设模型如图1所示。

2.3 案例库建设举例

由于网络及电商的发展,网上购物已成为常态,现在的学生几乎都参与网购,尤其是双11、618、各大节日时各电商的促销,更是把网购推向高峰。针对这一现象,在讲到黑盒测试中状态迁移方法的时候,打开某购物网站,与学生一起回顾网购经历,从选择产品,加入购物车,清空购物车,提交订单,撤销订单,结算,退换货等流程,引导学生把这些步骤作为一种状态,再按照实际操作过程,与学生一起分析各种状态之间的到达情况,做出状态迁移表。

作为购物买家,只是处理自己的相关信息,流程相对简单。而作为卖家,需要处理的信息量很多,面对的是所有购买本商店商品的买家,所以卖家对订单及相关信息的处理才是业务的关键。由此,在学生自己购物流程的基础上引导学生作为卖家身份来处理信息,并指导学生分小组讨论,模拟买家与卖家,统计出买家与卖家之间的活动有多少种,怎样才更全面,更人性化,更合理。例如,取消订单在何时买家能操作,何时后不能取消,退款、退换货的申请与处理,都让同学们在模拟中体会。以小组为单位,共同找出所有的状态点,再分析各种状态之间的关系,在如表1购物网站订单信息状态基础迁移表所示(X表示不可达,?处需要学生讨论完成)的基础上补充并完成状态迁移表(表中可添加新状态),并进一步按照状态迁移图设计方法,做出状态迁移图,设计出完整测试用例,最后教师点评、总结。案例讲解完成。

3 课堂教学效果

教学效果以北京青年政治学院计算机系2014级计算机应用技术1、2班为调查和测试对象,以讲解状态迁移图为例,在课堂教学中发现,学生对课本的例子注意力整体上比较散,不是特别的感兴趣,学生的参与度不高,而与学生一起打开购物网站,一起回顾购物流程时,发现学生明显比较感兴趣,参与度很高,尤其是分模拟角色在处理退款与退换货时在热烈的讨论中完成了各个状态的设定,并顺利完成了状态迁移图和测试用例的设计。在随堂抽查中,发现学生很好的掌握了状态迁移图方法的精髓,达到预期教学目标。

4 结语

时代在发展,科技在进步,随着新兴事物的出现,学生的兴趣点也会有所变化,所以,案例库的建设不是一劳永逸的,而是一个不断发展和改革的过程,我们要不断淘汰不适合的案例,增加新的适合的教学案例。

参考文献:

[1]田明君,张月,吕俊燕.《软件测试方法与设计》课程教学改革的探索与实践[J].电脑知识与技术,2015(31).

[2]董玉坤.“软件测试”课程教学现状分析[J].课程教育研究,2015(9).

友情链接