时间:2023-03-01 16:24:29
绪论:在寻找写作灵感吗?爱发表网为您精选了8篇软件测试培训总结,愿这些内容能够启迪您的思维,激发您的创作热情,欢迎您的阅读与分享!
关键词 软件测试 服务外包 人才培养模式
中图分类号:G710 文献标识码:A
1 软件测试外包人才需求状况
当前,软件产业已经成为国际竞争的焦点和各国竞相发展的战略性先导产业。早在2007年,教育部等部门出台的《关于进一步加强国家重点领域紧缺人才培养工作的意见》,将软件等确定为12个国家重点领域紧缺人才培养。而在软件行业中,为了提高软件质量,降低软件开发成本,分散软件外包风险,软件测试就成为重要推动力。但软件测试业却面临着自身的严峻考验——人才紧缺。据前程无忧招聘网统计,国内120多万软件从业者中,真正能担当测试职位的不足5万,人才缺口已超20万并向30万大军挺进,并随需求逐年增长。在国外,一般软件测试人员与软件开发人员的岗位设置比例是1:1。软件测试人才需求量的加大,除了受产业先行的波及外,长期以来业界对软件测试的不重视,导致高校未有效开展软件测试人才的培养,出现教育滞后。教育滞后体现在多方面,包括专业设置、人才培养模式、人才培养方案的滞后与不协调等。
2 软件测试职业发展及能力需求分析
2.1 软件测试外包的特点
随着软件产业的发展,软件产品的质量控制与质量管理正逐渐成为软件企业生存与发展的核心。几乎每个大中型IT企业的软件产品在前都需要大量的质量控制、测试和文档工作,而这些工作必须依靠拥有娴熟技术的软件测试工程师这样专业的人士来完成。单独设立测试部门,对测试人才有强烈需求的企业大多是规模较大的一些IT企业,外资企业居多。而一些企业为了降低软件开发成本,专注于核心业务的发展,或因测试力量匮乏,往往会把软件测试工作外包给专业的测试机构来完成。软件测试外包的特点,一是涉及行业多,知识面广。二是测试团队比较大。三是接触到大项目的机会比较多,软件测试的类型包括行业应用软件的测试、本地化和国际化测试、嵌入式软件测试等。在行业软件中,以手机、家电嵌入式软件为代表的通信行业软件和汽车、电子行业的中间件成为具有潜力的软件外包领域。所以软件测试外包对测试人员的素质提出了更高的要求。
2.2 软件测试职业发展及能力需求分析
根据软件测试职业岗位与工作内容的分析,综合学院、企业、培训机构专家访谈结果,网络资料查询调研结果,不同行业、不同企业同一岗位,其岗位工作任务不同,职业能力需求的侧重点也不同。同一职业岗位在不同的行业领域对知识的要求也不同。按照软件测试为岗位主线,通过对不同行业企业所需人才岗位工作职责、能力知识需求进行系统的分析与研究,总结提炼出软件测试外包专业毕业生踏入工作岗位从初级测试工程师到成长为有丰富工作经验的测试项目经理所具有的能力与素质要求。
初级测试工程师的工作职责是按照软件测试方案和流程对产品进行功能测验;检查产品是否有缺陷;报告和跟踪缺陷及进行验证。其能力素质要求是熟悉常用的软件测试方法、软件工程知识;熟悉常用的软件开发环境,编程工具;有良好的英语阅读能力,具有良好的沟通能力。
中/高级测试工程师的工作职责是设计测试用例;搭建测试环境;根据测试设计对产品进行性能、功能等全面测试;测试工具等的开发、撰写测试报告。其能力素质要求是掌握软件测试原理流程、方法与规范;熟悉测试工具;熟练地编写测试脚本,能够进行缺陷分析及预防。具有较强的文档编写能力;较强的学习能力;高度的责任心,较强的沟通能力。
测试组长及测试主管:设计测试计划及进行测试项目的管理;项目及测试流程和工具的选择及优化;测试项目质量和进度控制。其能力素质要求是有一定的软件测试经验;能够独立完成各类测试任务;具有较好的解决问题的能力;有一定的分工协作能力。
软件测试项目经理:构建测试团队及进行测试团队的管理;制定项目测试方案和测试计划;协调测试资源,并对各种资源进行计划、分工和管理;测试项目的质量及控制。其能力素质要求精通软件测试理论、软件测试管理和自动化测试技术;熟悉软件测试开发和测试平台、自动化测试与性能测试工具;较强的测试组织管理能力、沟通协调能力;有流利的英语读写表达能力;善于团队合作,执行能力强。
3 构建并实施一站式人才培养模式
改革现有的软件外包测试人才培养落后状况,探索并实践新型人才培养模式成为软件测试外包人才培养的重中之重。烟台职业学院对此作了多方面的探索与实践,构建并实施一站式人才培养模式,为软件测试外包人才规模化培养积累经验。
3.1 软件测试外包专业人才培养目标
根据企业的人才需求特点,学院、培训机构、企业三方共同确定的高职软件测试外包专业的培养目标为:培养掌握计算机基础、软件测试专业知识、熟悉软件测试的基本方法、流程和规范,了解服务外包行业知识、发包方文化、商务礼仪,能利用测试工具对软件产品进行功能和性能测试,设计和维护测试系统,对测试方案可能出现的问题进行分析与评估,具有软件编程能力及软件工程应用能力,可从事软件外包及服务外包企业软件测试、运行、维护及质量管理等岗位工作,具有较强的外语应用能力,良好的沟通能力、协调能力和语言表达能力的技能型人才。
其岗位的主要业务范围是: 依据需求文档及设计文档,编写测试用例;依据测试用例执行测试,完成产品的手工测试、集成测试与系统测试,反馈跟踪产品BUG及用例缺陷;根据测试计划,搭建测试环境; 测试工具/系统的研究和应用。软件测试专业可考取的证书:计算机等级考试四级软件测试工程师、ISTQB国际软件测试工程师(初级)。
3.2 一站式人才培养模式内容
经过多年的实践与总结,构建了以政府为引导,实行与培训机构联姻、与企业合作的一站式人才培养模式,完成毕业即就业的角色转换。
政府引导:以我院牵头成立的烟台市服务外包职教集团为平台,与当地政府、服务外包园区建立框架性战略合作关系,根据政府出台的优惠政策,提供的各种信息资源,通过学院与企业及产业园区的互动,形成校企双方人力资源的可持续性需求供给与输出。由政府协调当地服务外包企业,与学院建立紧密型的人才培养合作联盟,联盟单位派员参与专业建设指导、人才培养,并作为学院学生的实习实训基地。
一站式培养的关键是学院通过与知名培训机构、与企业实行三方合作,通过协议等约定方式,按企业所需的人才数量与规格,采用“联合招生、委托培养、定向就业”的形式,实现人才培养的直接输入与对口输出。“联合招生”指三方共同协商确定学生来源、招生数量、招生方案;“委托培养”指招收的学员全部在学校学习、在培训机构实训,培养目标受企业委托进行;“定向就业”指学生培养结束经过综合考核评定,并参加由工信部全国注册服务外包专业认证中心设置的面向服务外包产业的专业认证项目,获得工信部相关技术等级认证,根据认证等级,由合作企业正式录用为公司员工,安排到合适的岗位就业,不能直接就业的可推荐安置到合作联盟单位或由合作企业、培训机构推荐到其他单位就业。
3.3 课程建设及实施路径
课程体系的构建和课程建设是人才培养中的关键因素。服务外包软件测试专业课程集服务外包知识课程群、信息技术专业课程群、软件测试专业课程群、管理课程、专业外语课程于一体,着力培养复合型软件测试外包人才。按照课程之间的逻辑顺序和人才职业成长规律安排课程。实施中采用分段式安排,教学团队专兼教师合作授课。部分课程安排成为选修课,学生可以根据自己的就业意向和兴趣选择学习。图1为主要课程框架体系图及实施路径。
技能储备阶段构建完整的工程知识体系。利用案例和项目强化学生对于各种知识点的理解,并通过实践训练达到一定熟练程度与规范性,完成基本知识的积累及基本技能的训练。校企各有侧重地承担教学任务,通用专业基础课程及其相关实践课程由校内专任教师承担。专业核心课程及相关实训由企业人员承担。时间安排为第一到第四个学期。
技能提升阶段主要是针对外包项目的仿真实训,建立学生的项目工程思想,根据项目分工完成工作任务,使学生充分演练项目中的多种职业角色,具备企业要求的基本职业素质。该阶段的教学任务主要由企业人员在校内实训基地完成,专任教师辅助教学。时间安排为第五学期的前半学期,同时开展软件测试等级认证培训。
岗位实训阶段,由仿真项目实训逐步向真实产业外包项目实训转变。此阶段根据学生的水平,将学生编入各项目组,参与到真实项目。通过完成外包项目,感知企业文化,熟悉工作环境,接受企业的管理,达到实战训练的岗位能力要求。这一阶段的培养任务主要由企业人员承担,专任教师协助辅导,企业工程师担任项目经理。该阶段的实训任务主要在培训机构完成,时间安排为第五学期下半学期。本阶段完成软件测试技术等级认证。
顶岗实习阶段是根据学生的职业特长及发展需求,安排学生到合作企业实习,根据学生的水平及实习企业的用人计划,成绩优秀者可直接与企业签约就业,学生的实践情况由专人跟踪帮助。对不合适的岗位,重新安排到其他企业实习就业。根据企业岗位标准的不同,时间安排为第六学期。
3.4 实行任务驱动、工学一体教学模式
树立学习就是工作,工作就是学习的理念,采用任务驱动、工学一体教学模式开展教学活动。精选典型项目或案例作为教学内容,每一项目安排1~5个不等的任务,每一任务有针对性地包括一个或几个必须掌握的知识点,学生的学习过程就是完成任务的过程,按照自主学习,仿真应用、工程应用的流程,完成学习任务。在自主学习阶段,先给学生布置任务,然后指导学生展开自主学习,根据班级人数情况,灵活选择以学生2~4人为一组的形式,进行咨询、讨论、制定工作计划、提出任务实施方案,再指导学生进行仿真设计和测试,最后在实训基地中指导学生进行工学结合实训。每一任务完成情况选2~3组有代表性的作品进行展示与答辩,然后由其他组学生进行评价,提出意见与建议。不同组完成同样的任务可能采用的方法不同。每一个项目完成后,提交项目报告,根据日常表现、实训情况、创新能力、报告的完整性与准确性,给出评价结果。
4 结束语
软件测试是一个新兴职业,其具有的就业竞争小、薪资水平高、职业发展多元化的特点,吸引越来越多的人从事软件测试工作,这为软件测试人才的培养提供了很好的发展机遇。学院与企业、培训机构合作,共同培养软件测试人才可以实现毕业即就业的一站式人才培养。这种模式,把学院的教育资源、生源优势,培训机构的教学内容,企业的实训优势及就业优势结合在一起,实现强强联合、三方共赢。但在合作中,合作的各方要加强沟通,通过一定的机制规范和约束合作行为,并通过一定的保障措施确保合作持续长久。
基金项目:中国高等职业技术教育研究会“十二五”规划项目 《基于校企合作服务外包人才培养模式的探索和实践》编号:GZYGH2011014 主持人:姜永华
参考文献
北京测试空间科技发展有限公司(简称测试空间)成立于2003年,是注册于北京市海淀区高新技术园的软件企业。测试空间总部位于北京,在国内多个省份,以及加拿大、英国两国设有办事机构。测试空间以成为全球专业的软件测试外包服务供应商为发展目标,为国内外的各企事业客户提供专业的、高质量的ITO、BPO外包服务和人才派遣服务(人才外包),服务内容包括软件测试、系统集成、企业应用平台建设与维护、IT服务外包和业务流程外包等。
帮客户告别软件缺陷
在快速开发软件产品的同时,组织要依靠提高开发质量和测试来缩短开发周期,降低缺陷率。随着成本的螺旋式上升,软件开发周期的缩短,以及应用程序复杂度的增加,选择合适的外包合作伙伴有助于组织大大提高项目的成功概率。测试空间能够针对组织的业务需求,为组织提供定制的综合的手动和自动测试服务。测试空间凭借在高科技、金融服务、制造、零售与分销和电信等行业所积累的丰富的多领域经验,按照GB/T25000和ISO9001标准为组织提供高效的针对特定环境的改进型解决方案。
应用程序缺陷轻者会令人陷于困窘,重者会导致软件质量下降,无法按时交付。测试空间能帮助客户杜绝这种情况的发生。测试空间采用优秀的测试技术,注重投资回报率,以及基于风险的优化测试策略,可为用户带来很多价值。
具体来说,测试空间能够提供专业化、规范化的软件测试技术服务,科学公正的CNAS第三方软件测评实验室,值得信赖的软件测试专业技术人才派遣服务,以及能与客户共享的软件测试技术培训平台。
凭借自身在国内软件外包市场的领先地位及出色的软件外包交付能力,测试空间于2009年通过了软件企业ISO9001国际质量体系认证,并于2010年9月通过了证明软件测试企业实力的CNAS实验室认证。在此基础上,测试空间还通过项目管理实践,总结并提出了“测试空间外包服务体系”和“测试空间人才管理体系”。这两套体系经过多年的完善,已经发展成为业内客户认可的软件外包业务管理规范。
软件质量重于泰山
软件质量重于泰山,软件质量是核心竞争力之一。现在和未来软件企业的竞争力不仅体现在产品类型的多样性,产品功能的先进性,更多的体现在产品质量的稳定性和可靠性。软件应用的领域不断深入,设计的复杂程度逐步增加,开发的周期不断缩短,质量的要求水涨船高,软件企业面临着巨大挑战。
用户对软件产品质量的要求不断提高,促使软件企业把提高软件质量作为增强竞争力的策略。提高软件质量要素在哪里?可以通过采用软件设计技术,加强软件过程管理,实施软件测试等方法。从提高软件质量的显著程度、投资回报率和可实施性等方面比较,实施有效的软件测试,提高软件测试的效率,是保证软件质量的显著方法。
软件测试是通过技术、流程、工具、人员以及管理手段,检测软件文档、软件中间产品和最终产品,查找和报告软件缺陷、错误以及隐患的专业技术。通过跟踪缺陷、错误及隐患的修正过程,确保软件产品、中间产品和文档符合软件工程过程需求和用户的最终需求。
软件测试创新之道
软件测试在国内仍处于起步阶段,各种软件测试的方法、技术和标准都还在探索阶段。国内软件行业规模普遍偏小,缺乏大型软件产品经验,开发过程不够规范,这决定了国内软件质量和测试行业,必须根据国内行业现状,确定软件质量目标和测试策略方法,而不是照搬照抄国外成熟软件企业的测试方法。
观念创新
提高软件质量的决定因素不是软件测试技术,而是对软件质量和测试的思想观念。只有把提高软件质量上升到企业战略发展的高度,才能从根本上解决问题。长期以来,国内软件行业对软件质量重视程度不足,对于软件测试的作用认识不够,造成项目因质量问题造成进度推迟甚至失败。
为了彻底改变这种被动现象,企业高层管理人员必须从管理思想、资源支持等方面为软件质量和测试部门提供全力支持。软件项目经理必须坚持软件开发和软件测试并行处理并且互相协调。软件开发人员重视和配合软件测试人员。
观念创新不要仅停留在口头上,而要落实在具体行动上,通过软件质量和测试的有效流程进行推动,通过过程改进进行提高。通过有效组织管理,形成“以重视软件质量为荣,以轻视软件质量为耻”的工作氛围。
流程创新
测试流程决定软件质量。软件测试如同软件开发一样,需要经过收集测试需求、确定测试策略、设计测试、执行测试、分析测试等流程。软件测试不是软件开发的最后阶段,而是贯穿于软件项目的整个生命周期。
软件测试流程既不是僵化的生搬硬套,也不是随机的增添取舍。软件企业的质量管理部门和项目开发团队需要根据公司技术、资源现状,针对项目的特点和客户需求,从保证软件质量、项目进度和测试成本等方面,进行优化设计并且不断改进流程管理。对于项目周期长、应用领域广、对质量要求高的软件,必须制定和遵守严格的测试流程。
测试流程创新的目标是在公司内部制定和执行完善的项目质量管理体系。优化项目生产方式,跟踪和度量生产过程和产品,使得生产过程和各阶段产品处于可控制和可度量状态,保证产品符合客户的功能和进度需求。
技术创新
软件测试是一项软件工程领域的专业技术,而不是简单的把软件测试认为随便找个人运行几次软件,就可以发现全部的软件问题。前文已经提到,软件测试需求和测试设计是决定软件测试效果的关键因素,因此,加强测试技术创新的重点是在测试需求和设计设计的创新。
在软件测试技术创新方面,要避免陷入过度追求自动化测试技术的误区。自动化测试确实可以在某些方面显著提高测试效率和准确性,但是自动化测试只适合测试软件的某些方面的质量,80%左右的软件缺陷是靠测试人员手工测试发现的。
对于某些特别需要自动化测试的软件特性,需要加强开发软件测试工具,而不是全部依赖市场上的现有测试工具。这是因为商业工具功能繁多,价格昂贵,培训和学习周期很长,选择不当就会造成巨大浪费。
管理创新
软件测试管理的目标是实现软件质量、进度、成本之间的最佳平衡。有效的测试管理需要企业管理层、软件开发团队、质量保证与测试团队通力合作,采用计划、组织、领导、控制等手段,组建高效团队,制定完善的测试流程,做好测试设计,有效执行测试,加强过程跟踪,从而顺利完成质量保证和测试任务。
测试管理创新的核心是软件质量和测试的团队建设,软件质量和测试是技术密集型活动,团队的知识结构、创造力和凝聚力是保证测试流程、测试技术充分实施的基础。质量和测试团队建设的重点是设置和培养各类技术和管理人才,进行有效交流,形成良好的评估和促进机制。
测试管理创新的另一个重点是测试管理平台建设。包括构建测试项目管理的集成系统,实现公司产品和项目数据信息的有效管理和顺序控制,使项目数据透明化,技术知识有效传承,项目质量和进度数据化、图形化。可以根据公司的现状,购买软件测试管理的商业工具,也可以内部开发软件测试管理工具。
软件测试技术路线图
如果把软件测试之道成为测试战略,要发挥测试战略的现实意义,需要把测试战略转化为测试战术。测试的“道”与“术”的无缝集成,才能显著地、持续地、逐步地提高软件产品质量。实施软件测试的战术是一系列过程的组合,涉及测试团队建设、流程设计、测试平台、测试管理等多个方面。
测试团队建设
测试团队可以是测试部,也可以是测试组。公司规模决定了测试团队的大小和组织形式。测试团队建设需要执行两个原则:第一,测试团队必须独立于开发团队,而不是附属于开发团队,实现测试的独立性和公正性;第二,测试团队必须具有明确的工作目标,即发现和报告软件缺陷,推动和确认缺陷修正,协助软件开发的过程改进,提高软件整体质量。
软件测试团队根据规模可以设置多个职位,每个职位具有明确的岗位职责。例如,测试部门经理、测试项目经理、测试组长、测试架构师、高级测试工程师、测试工程师等。对于刚刚成立的测试团队,可以一个人兼任多个职位,完成多项测试任务。测试人员的总数应该与开发人员相适应,最好在1:1到1:2之间。
流程设计
测试流程设计必须与软件设计流程相对应,基本测试流程包括测试需求分析、测试计划设计、测试用例设计、测试执行、测试评价、测试总结等。
根据软件需求和软件设计规格说明进行测试需求分析,测试需求分析的目的是明确需要测试的对象、特征、范围和方法,从而制定测试计划,确定测试策略。
测试计划设计是为了有效配置测试过程、人员和工具,充分利用现有的资源,按照项目计划进度,组织有效的测试。测试计划设计的输出结果是测试计划文档,它是指导软件测试活动的纲领性文档。
测试用例设计是指导具体测试内容和方法的关键内容,如果需要执行自动化测试,还需要依靠测试用例设计生成对应的测试脚本。测试用例设计的输出结果是不同类型的测试用例,这些测试用例必须以标准、一致的形式设计、评审、存储、更新。
测试执行是报告软件缺陷的阶段,根据软件计划的进度,分配测试内容,构建测试环境,依靠测试用例运行测试程序和程序文档。测试执行的输出结果是缺陷报告、测试进度报告等。
测试评价是度量软件测试执行效率和有效性的过程。测试评价的输入是测试用例的执行情况,软件缺陷的报告数据。测试评价的输出包括测试用例的有效性分析,软件缺陷的类型和有效性分析等,测试进度和有效性分析等。
测试总结包括测试过程每天或者每周的过程总结,也包括测试项目结束后的测试项目总结。测试总结的输出是测试总结报告,总体评价软件质量,指出测试存在的问题,提出改进的方法和进程,总计测试的有效经验。
测试平台设计
测试平台设计包括测试技术平台设计和测试管理平台设计。测试技术平台包括设计测试环境,设计或设置测试工具等。测试管理平台设计包括测试文档系统设计、测试版本配置管理、缺陷数据库设计、测试进度和质量分析系统设计。
测试技术平台设计需要根据测试计划的测试内容和测试环境要求,组织软件、硬件、数据库和网络等,这经常是一项较为耗时的工作,同时它影响着测试的正确性,必须尽快在测试开始阶段完成,最好采用有效的方法把搭建的测试环境进行备份保存,以便今后可以快速恢复,重复利用。
测试管理平台设计,影响测试管理的复杂度,好的测试管理平台可以使测试管理人员,方便地跟踪、查询、分析测试进度,评估测试人员的工作绩效,评价测试的总体质量。对于测试技术人员而言,可以方便的寻找测试对象和测试文档,报告和输出测试结果,共享测试数据,提高测试效率。
测试管理
测试管理关注人员、过程、产品三要素的互动与变化,测试管理包含项目计划和组织结构管理,测试阶段管理,时间、资源和质量管理,文档管理和团队管理等。测试部门经理、测试项目经理和测试组长是测试管理的主要执行者,需要与测试团队成员、开发人员、公司管理人员密切配合。
为了加强测试管理,需要确保测试数据信息流通畅,使测试团队、开发团队、质量保证团队之间有效交流。测试管理的其他内容包括团队成员参与各种培训,客观积极的绩效评估,识别项目测试风险,实现人尽其才,信息共享,进度可控,规避风险,降低成本,提高质量。
关键词:计算机;软件测试技术;开发应用
1计算机软件测试技术简述
我国科技进步促使软件行业发展呈现日益繁荣的景象,软件产品质量普遍的受到各行业的关注。软件测试技术的发展与更新软件质量得以确保的重要保证,软件行业工作人员已经意识到软件测试技术对软件质量的必要性和现实意义,而且测试技术重要性可以与软件开发的重要性相媲美,因此,软件测试技术在教育中的培养工作就成为了软件行业教育和培训的关键内容。随着社会需求的不断变化,软件综合性专业人才极为紧缺,在高职院校中开设了软件测试技术与软件质量课程。基于社会对软件专业人才的迫切需要,该课程主要是为了尽快实现软件工程专业的目标,最终目的是希望学生能够掌握软件测试技术的理论与技术要求等,在注重软件专业理论知识培训的同时,再辅以实践能力的培养,让学生具备岗位对人员能力的要求。软件测试是教育学科中后起之秀,大部分理论知识来源于实践,因此课堂教学方式需要进一步改进,在教育目标实现的基础上,也为软件测试技术的发展与应用提供更多的发展空间。软件测试技术的重要性不言而喻,针对软件测试技术如何在教学中进行应用,各位学者都展开了探索之路。不过软件测试技术内容缺乏形象性,与教学内容以及教学手段尚未完全吻合,笔者在多年的教育经验中总结出了该课程教学的诸多问题:第一,课程内容较为抽象,与实际契合度较低。该课程中测试方法和技术规范等教学内容,通过课堂生硬的传授给学生,而学生由于缺乏实际工作经验,因此课程内容的抽象性无形中阻碍了知识在学生中的渗透,增加了学习难度。第二,软件测试技术教学方法陈旧。我国传统的教学方式较为陈旧,与信息化技术发展联结欠缺紧密性,学生在传统教学模式的培养下,失去了学习兴趣,无法深入的对课程进行思考,理论和实践的结合度较低,丧失了学习的主动性。第三,教学方式中实践教学课程的不足。目前,我国的高职院校加强了实践课程的开设,不过其重要性还是没有得到凸显,学生实践能力的培养成效较低。学生的实践能力提升幅度较小。笔者结合软件测试技术相关课程的教学内容和方式,展开了深入的研究和探讨,并且在课堂中结合实例,在课堂中组织学生自由讨论或分组讨论,培养他们的实践能力,将学生各项能力的应用体现于教学之中。
2教学内容分析
软件测试技术的相关课程在遵循理论成果的基础上,充分发挥与实践相结合的作用,实现学生课堂知识与实践能力的结合。因为软件测试课程涉猎范围较广,设计内容相对复杂。为了落实我国“十一五规划”与科教兴国战略的部署,加之社会对应用型人才的迫切需求,课程内容应该精简,突出实用内容的要求。课堂教学内容,要坚持以软件测试为中心,通过不同案例列举出不同的测试方法,同时可以提出解决方式,将软件测试课程的要点知识引导出来。为了能够实现学生学习过程中内容的完整性与统一性,并且结合而学生实践经验的欠缺,因此,在课程的教学中,可以运用相关案例表明知识点,增加学生对软件测试技术的理解,培养学习兴趣,符合让学生能对软件测试有怎样发现缺陷、分析缺陷并提交内容明确且有效的缺陷报告的思考模式。
3教学方式分析
软件测试技术是教育课程中的“后起之秀”,教学方式与模式的运用要保持与软件工程发展的一致性,因此理论与实践教学的深度结合,对于学生理论知识的培养与实践能力的锻炼有着极其重要作用。教学过程中,不仅要注重教学内容和材料的选择,还要在原有教学手段的基础上,进行创新,实现教学方式的多样化发展,将理论和实践紧紧联系在一起,鼓励学生课堂内外的学习交流,作业完成情况和多媒体技术的运用,激发学生学习热情与主动性。教学方式采用实际案例教学和项目驱动的方式加深学生理论知识的理解,借助多媒体平台,利用网络优势,突出课程重点,采用多种表现方式实现知识的传播。针对部分新型软件测试技术的更新,要适时给学生灌输,让高职院校与学生都走在技术的前沿。为增强学生对知识掌握的连接性,授课过程中可以引入具体的案例等,为学习增强趣味性。
4考核方式分析
合理课程考核方式可以推动学生的学习进程,也是学生展现知识掌握的良好机遇。根据软件测试技术相关课程目标的培养,考核内容主要包括学生的平时、实验以及期末三项成绩,教师经过三项成绩的综合评定完成学习的考核。平时成绩是指学生课堂互动性以及作业完成情况;实验成绩是指实践教学与实践流程中测试方法的掌握,根据实验流程的完成情况,给予评定;期末成绩是指学生综合能力与基础知识的掌握等,情况,最后结合三项成绩的综合评价给出学生学期内的学习评价。三项综合测评可以防止学生偏科情况的发生,督促学生对课程综合方面加以掌握,不只是受“填鸭式”教学方式的影响,将理论知识与实践能力综合考察,加强学生在软件测试各方面的理解。
5结语
软件测试技术在实际中已经得到了应用,与之相关的课程已经开始出现于学校的教学任务当中,相关内容设计范围巨大,内容丰富,要求具备较强的实践能力。针对怎样提升教学效果这方面来说,文章主要结合了学校实际情况,对软件测试技术的讲解与应用展开了讨论,希望有助于教学目标的实现,为学校乃至国家的教育事业取得良好成效。软件行业的迅猛发展得益于社会需求的增加以及科学技术水平的提升,所以,软件高端行业的发展就成为时代进步与国家综合国力提升的必要条件,也是国家文化硬实力的体现。
参考文献:
[1]钟久隆,路桂明.高职院校《软件测试》课程教学改革探索与实践[J].教育教学论坛,201,(2):130-132.
【关键词】软件测试 教学方法 实践 探索
【中图分类号】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.
国家示范性软件学院的一个重要职责就是要在教学研究、教学实践以及教学改革方面进行大胆的探索和实践。因此,在完善已有课程体系及授课的同时,应该充分利用优秀的教学资源,总结教学经验和科研成果,编写专业教材,力争探索出一条为国家快速培养高素质软件工程人才之路。
北京工业大学软件学院蔡建平教授长期从事软件工程、软件测试及软件质量保证的研究,在多年讲授软件测试课程经验和体会的基础上,对软件测试课程教学内的知识点进行调整、补充和完善等方面的改革,针对软件质量评价和软件高可靠性的要求,针对国内软件研发和测试外包的本地化要求,以及针对软件测试用于各种应用领域的要求选择授课的知识点,并取得了较好的效果。
目前国内关于软件测试的书籍较多,其中很多书籍是翻译的、为培训用的或介绍软件测试技术和方法,作为教材满足各类测试人员的学习还有一定的距离。本书是在作者长达二十几年软件工程、软件测试和软件质量保证实践经验和教学经验的基础上,借鉴前人成果,参考当前软件测试方法和技术应用实践案例进行编写的。蔡建平教授编写的《软件测试大学教程》一书,以现代软件测试需求为背景,以现代软件测试技术和方法为基础,以当前软件测试通常应用为典型实例,从软件危机及软件缺陷开始,全面介绍软件测试的基本概念,软件测试的技术、方法和工具应用,以及软件测试在当前主流应用中的具体开展和实施。
其特点如下:
(1) 内容全面。突出全生命周期软件测试概念、软件质量分析手段、现代软件测试技术、主流测试工具应用以及典型应用测试方法等,帮助学生了解和掌握现代软件测试的各种原理、方法和技术,并能够选择合适的软件测试工具进行相关测试。为培养学生今后成为高素质、专业化的软件测试人才打下基础。
(2) 针对性强。针对软件开发方法和技术的发展变化,针对我国软件外包服务的蓬勃兴起,针对我国国防工业如航空、航天、船舶、电子、通讯等大量重要软件或关键软件的实际应用情况和测试需求,特别是对软件高可靠性的要求,选择教材的知识点。
(3) 重实践性。该书对支撑现代软件测试技术应用的测试工具进行了全面地介绍,特别是对开源软件测试工具的介绍,这对高校开设软件测试实验课程是非常有意义的。在教材中给出了软件测试在几个典型应用领域具体实施的要点和注意事项,这对缺乏实践经验的培养对象而言具有极好的引领作用,对开阔软件测试人员的眼界、思路和具体实践有很大帮助。
(4) 具前瞻性。书中不少内容取材于互联网,在一定程度上体现了软件测试技术的最新发展,具有较强的新颖性和现代性。
我院从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公司的测试专家来做专业讲座,拓展学生的知识面。
本文针对软件测试课程的教育现状,结合软件测试的课程特点和培养目标,从面向应用型人才的培养方式出发,提出了以案例式教学为主导,走教学产业化发展的软件测试改革方案。
关键词:
软件测试;应用型人才;案例式教学;教学产业化
随着我国IT行业的发展,越来越多的企业意识到软件测试的重要性,因此软件测试人员成为当前IT业界亟需的热门人才。面对软件测试人员紧迫的需求形势,应用型人才培养单位应该扩大软件测试人员的人才培养规模,提高培养质量。
一、《软件测试》课程教育现状
我国软件测试技术发展已有十余年,但IT市场对于测试人员仍然呈现出供不应求的势态。目前国内高校对软件工程专业几乎都会开设软件测试课程,甚至有些高校已经设置有软件测试专业。2011年11月,教育部主办了“2011年高等学校软件测试课程教学论坛”,对测试人才的培养及测试领域的全面发展起到了积极地推动作用[1]。高校系统化的专业教育体系为学生奠定了扎实而科学的学科基础,并对软件测试技术的理论化和系统化发展起到了不可替代的作用。利弊相依,传统的人才培养模式对软件测试课程设置和培养方案上还是会存在以下不足。
1.重理论轻实践在传统的软件测试课程设置中,大多采用教师在课堂上讲授理论知识,学生上机时完成实验操作的教学方式。实验的目的只是为了检查学生知识点的理解和掌握,实验题目大多比较陈旧,不能与时俱进地与当前的最新技术或最热门的应用相结合,使得学生的测试知识体系过于单薄。
2.重学生个体知识积累,轻团队协作能力培养团队协作在软件工程中的重要性无须多述。软件测试作为软件工程中重要一个环节,贯穿于整个软件生命周期,测试人员与系统分析员、软件设计师、程序员、维护人员之间的沟通必不可少,良好的团队协作才能有助于项目的进行,有助于高效、正确地开发出高质量的软件产品。传统的教学模式中,很少引入分组协作的环节去锻炼学生的沟通和交流能力,更不能设计出测试人员和开发人员的沟通场景,不能满足学生在项目中去加深理解、巩固提高的需求。
3.重即有知识,轻科学创新一直以来,软件测试课程在高校的课程体系中受到重视并不多,课程结束后并没有延续测试知识的后续课程。因此,学生不能在后面的学习和实践中进行总结提升。知识在母体中是要经过消化、适应、转化、演进、创新、融合、活化,而后才称为组织的“行动知识”,现有的教学模式不能很好的产生知识发酵效果。
二、《软件测试》课程特点和培养目标
软件测试是一门应用型较强的学科,应注重理论联系实践。一个合格的软件评测师除了要掌握即有的测试理论和软件知识外,还必须具备对软件测试行业的深刻理解,必须具备对计算机专业知识,包括编程技能、数据库、网络、中间件等知识的系统掌握,必须具备沟通能力、团队协作精神。软件测试是为了尽可能多地发现并排除软件中潜藏的错误,最终把一个高质量的软件交给用户,这并不是一项简单的工作。要做好软件测试,测试人员不仅需要站在客户的角度思考问题,真正理解客户的需求,具备良好的分析能力和创造性思维能力,完成功能测试和界面测试,而且要能理解软件系统的实现原理和各种使用场景,具备扎实的技术功底,能使用测试工具完成相应的性能测试、安全性测试、兼容性测试和可靠性测试等更具挑战性的任务[2]。从这个角度看,一个优秀的测试工程师需要掌握更多的知识和技能。
三、《软件测试》课程教学改革方案
以上可以看出,当前高校对于测试课程的不重视,以及当前的软硬件设施及教学方法都不能满足对应用型测试技术人才的培养要求。为了适应软件产业发展对测试人才的迫切需要,实现软件人才培养的持续性发展,针对软件测试课程调整培养方案,展开深入的教学改革和实践活动十分迫切和必要。
1.加大师资力量,构建完善的软硬件测试平台教师素养的提高是软件测试教学改革得以顺利开展的前提。此前,国内对软件测试并不重视,致使国内软件测试人才短缺,大部分高校内虽然有计算机系,但多以重开发轻测试,测试教师的专业素质和数量都远远不够。因此,不仅要重视对教师测试专业技术的培训,提供更多的学习机会,也应该认真开展软件测试教学研究,构造专业的软件测试教学团队。作为一门实践性较高的课程,软件测试必须建议专门的、完备的实验教学体系和环境。目前,高校普遍缺乏软件测试的软、硬件环境,致使学生无法通过项目实践来深入理解和提高测试相关知识和技能。
2.运用案例教学,丰富软件测试项目实战案例在教学活动中,学生总是对最新、最流行的项目和案例感兴趣,陈旧的案例既不能满足当前市场上对测试人才的技术需求,又不能很好的激起学生的兴趣。运用案例教学最重要的环节就是丰富案例素材,保持案例的“鲜活性”与“生命力”。高校可以采用历年本科毕业设计中运用了流行的技术、难度适中、功能较为完整的应用作为软件测试课程的测试案例,不但可以保证素材的延续性,也使得学生毕业设计完成的质量有所提高。
3.加强校企合作,走教学产业化发展之路[3]企业需要人才,高校为企业输送人才,校园中学习的技能最终要接收用人单位的考验。所以与软件企业合作,建立对口的学生实训基地,是应用型人才培养的重要途径。软件测试技术的掌握与提高离不开项目实战,让学生在真正的软件工程过程中从事测试工作,不仅能使学生深刻体会到软件测试在整个项目中的作用,掌握测试方法和技巧,对于学生的沟通交流能力、团队协作能力都有积极的促进作用。
四、小结
软件测试是保障软件质量,验证软件可靠性的重要环节,其重要性不言而喻。重视软件测试应从企业用人的实际需求出发,高校应加强面向企业需求的软件测试改革,切实培养学生的动手操作能力,使学生掌握最新的测试方法和技巧,让企业需求促进和推动高校教学发展。
参考文献:
[1]李静赵志升.软件测试专业课程体系建设和教学改革[J].教育与职业,2014(1):136-137.
[2]朱少民.软件测试方法和技术[M].北京清华大学出版社,2005.