HI,欢迎来到学术之家,期刊咨询:400-888-7501  订阅咨询:400-888-7502  股权代码  102064
0
首页 精品范文 软件测试实习工作计划

软件测试实习工作计划

时间:2022-12-24 13:25:51

开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇软件测试实习工作计划,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。

软件测试实习工作计划

第1篇

关键词 软件测试 服务外包 人才培养模式

中图分类号: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 主持人:姜永华

参考文献

第2篇

关键词: 敏捷开发; Scrum; 软件开发; 项目

中图分类号:G642 文献标志码:A 文章编号:1006-8228(2015)11-81-03

Abstract: Aiming at the problems in the teaching of comprehensive practice training course of software development for the waterfall model, the characteristics and advantages of agile development are analyzed. This paper explores the application of the Scrum agile development process in comprehensive practice training of software development. Through the project decomposition, sprint incremental iteration and frequent delivery of the working software, cultivate students' team spirit and initiative learning ability, so as to improve the quality of teaching.

Key words: agile development; Scrum; software development; project

0 引言

在软件技术专业和计算机应用技术专业中都会开设软件开发综合实训课程,让学生通过完成1-3个简化的企业项目掌握主流的开发方法和软件开发过程,为将来步入社会打下知识与技能的基础。为了更好更快的开发出符合客户要求的软件,开发过程中一般会采用某个开发模型,教学中为了实现学校与企业的无缝对接,在开发项目时也会采用某个开发模型。本文简要分析了目前软件开发综合实训课程采取的开发模型及其存在的问题,在简单了解敏捷开发模型的基础上,探索软件开发综合实训课程中采用Scrum敏捷开发的具体实施过程,研究利用Scrum敏捷开发的优势。

1 目前开发模型和存在的问题

在高校软件开发综合实训课程的教学中,大都仍采用传统的“瀑布模型”开发模式。该模型将项目分成需求分析、概要设计、详细设计、编码实现、软件测试和运行维护六个阶段。各个阶段严格按自上而下的线性顺序实施。每个阶段都需撰写大量详细文档,这占用了大量的实训时间,前一个阶段完成后才能开始下一阶段。虽然学生急于看到的软件运行效果带着尽早编程的急切心情,也必须等到需求分析、概要设计、详细设计三个阶段验收完成后才能开始,这极大挫伤了学生学习的积极性。

这种瀑布模型是解决上世纪六十年代软件危机的很好方案,也是开发模型中的经典。但是瀑布模型强调文档的作用,以文档为核心,用户只有等到整个过程结束才能见到全部成果,严重延迟的反馈信息无疑增加了项目延期或失败的风险。在当今的软件开发中,很难看到完全实施“瀑布模型”的企业,越来越多的公司采用了敏捷开发。

据VersionOne[1]公司2013年的调查显示,在全球收集的3501份调查报告显示有88%的公司采用敏捷开发方法,Google、华为等大型软件公司也采用了敏捷开发。越来越多的国内中小软件企业也通过敏捷开发提升自身竞争力,包括笔者顶岗实习的北京盛安德科技有限公司。与传统软件过程、开发方法、传统项目管理方法相比,敏捷开发方法具有以人为本、成本低、开销小、效率高、灵活和响应快等优势。为了与企业接轨,使学生学以致用,我们应该密切与行业企业合作,改革目前过时的实训开发模式。

2 敏捷开发模型

2001年Kent Beck等17名专家共同签署了“敏捷软件开发宣言”,敏捷软件运动随之产生和发展。“敏捷”代表了互联网时代软件开发过程模式的一种先进理念和价值观。与传统开发模式相比,“敏捷”更强调沟通性、快速灵活地响应,关键在于持续交付可工作的软件[2]。敏捷开发积极主动地迎接和适应客户变化,允许和支持需求的不断变化,主张软件开发人员应紧密与客户合作、沟通和交流,把客户作为开发组成员,它集合了一整套价值观、原则和实践方法。敏捷开发的价值观[3]:个人和交互胜过过程和工具;工作的软件胜过面面俱到的文档;与客户合作胜过合同谈判;响应变化胜过遵循计划。目前有许多敏捷开发过程可供选择:XP(eXtreme Programming,极限编程)、Scrum、水晶方法等。Scrum软件开发模型是敏捷开发中的一种,应用最为广泛。

3 Scrum敏捷开发简介

Scrum敏捷开发过程是以人为核心、迭代、增量、循序渐进的开发,整个开发过程由若干个短的迭代周期组成,每个迭代周期称为一个Sprint,每个迭代实现不同的任务,迭代中重大的、优先级高或风险高的任务优先实现,每个迭代周期都有明确的目标,每次迭代都经过测试,具备集成和可运行的特征[4]。每个Sprint周期结束后可以交付一个可运行的软件。

采用Scrum敏捷开发的项目参与人员主要分三种角色,即产品负责人(Product Owner)、Scrum Master、开发团队。其中Scrum Master对项目全过程负责,是项目的推动者和组织者,确保Scrum流程正常运转。开发团队成员一般不多于7人,主要有设计、开发和测试人员组成,团队成员不能只负责自己擅长的领域,需要有配合全局的合作意识,如开发人员不能只负责编写代码,还需要进行测试。

Scrum敏捷开发项目执行的流程[5]。首先在产品负责人的带领下筛选出产品的总需求条目(Product Backlog),通过全体人员共同讨论对总需求条目进行优先级别排序,供团队进行开发工作。然后以1-4个星期为一个开发周期Sprint,团队根据Product Backlog确定Sprint周期内的任务,生成Sprint Backlog(周期内任务列表,Sprint Backlog为Product Backlog的一部分),确定Sprint目标。每个Sprint周期(一次迭代)分为设计、实现、测试等工作,团队成员主动认领工作任务,每天在不超过20分钟的站立会议上讲述自己的昨天工作内容、今天工作计划和当前工作难点。在一个Sprint周期结束时,整个团队对照Sprint Backlog列表演示新功能,完成演示和Sprint回顾总结,一个可执行交付的有价值软件,才可开始下一个Sprint周期的循环。这样原本几个月甚至几年的开发周期缩短至一个星期到一个月,让用户可以尽早体验软件的应用并及时提出问题或调整需求。

4 Scrum敏捷开发具体设计过程

学校的实训环境和公司的工作环境,以及学生和员工的工作能力有很大的差别,因此高校软件开发综合实训教学中不能拘泥于Scrum过程的全部形式,教师应对Scrum开发进行修改和优化。

4.1 分组和角色分配

Scrum主要有三类角色,一是Product Owner(产品负责人),该角色可安排熟悉产品需求的教师承担,负责产品需求的提炼、优化和优先级排序。二是Scrum Master(团队负责人),有开发能力强的学生担任,主要负责本项目成员的沟通和协调,老师协助Scrum Master的工作,监控项目执行。三是开发团队成员,一般由3-4名学生组成。团队成员注意开发能力强弱分配、男女搭配等元素,另外项目是在课余进行开发,所以要考虑宿舍因素。

4.2 项目选题和项目启动会议

软件开发综合实训课程分成两个阶段,第一个阶段(2-3个月)是教师给出固定题目,如:公司网站;第二个阶段(2-3个月)由学生自主选择项目,征求教师认可,如:毕业生管理系统、大学生报到系统等。

在项目的启动会议上,介绍敏捷开发的思想和执行流程,约定统一的开发规范和流程,以便学生掌握团队开发方法,并养成良好的编码习惯。

4.3 Scrum敏捷开发的执行流程

如图1所示,教师和项目组成员将整个软件项目分解成多个子项目(Product Backlog),开发过程中选择优先级高和重大的子项目进行开发,一个子项目为一个Sprint迭代周期,子项目又可以分成若干个工作任务(Sprint Backlog)。在每个Sprint周期内,学生主动认领任务,进行计划、编码和测试。每日项目组有一个不超过20分钟的会议,主要汇报三个问题:上堂课到目前为止做了什么?有什么难点和问题?今天打算做什么?并更改自己的Sprint燃尽图(Sprint burn down)。通过该会议让项目组成员了解目前项目进度。每个Sprint 周期结束后,开一次Sprint评审和回顾会,对照Sprint Backlog演示软件的功能,看是否完成了本次Sprint目标,会上每位学生回顾自己所做工作以及需要改进的地方,教师给予点评和总结。会议的成果可以交付一个可运行的软件。下一个Sprint周期是现有软件的增量迭代,因此可以持续交付包含新功能的软件版本。总之,敏捷开发就是把一个大项目分为多个相互联系,但也可独立运行的小项目,并分别完成,在此过程中软件一直处于可使用状态。

4.4 结对编程

一个任务交给两个开发人员。两个开发人员同时坐在一台电脑前面,一个编程,另一个实时检查,然后互换角色。与传统一个人一个任务相比,两个人一起协作可以互相促进、相互学习,实现提高。

5 Scrum敏捷开发在软件开发综合实训教学中的优势

在软件开发综合实训教学中使用Scrum敏捷开发主要有以下优势。

Scrum提高了学生学习积极性和主动性。Scrum敏捷开发模型要求尽早编码这恰好迎合了学生软件开发实训时急切渴望进行编程的心理,激发学生学习的积极性。同时能够频繁交付可运行的软件,使学生有极大的成就感。同时在项目的开发中,开发成员主动认领开发任务,每日的站立会议会使落后的学生意识到自己的差距,这在团队中能够形成良好的竞争机制,主动学习和提高。

Scrum提高了学生的软件开发技能。瀑布开发模型在整个开发过程中都需要撰写大量的开发文档,比如在需求文档写出来后,开发人员根据需求文档来编写代码,一切以文档为依据。敏捷开发只写必要文档,这节省了大量的实训时间,使学生有时间专注于编码和测试工作,从而提高学生的开发技能。

6 结束语

作为一种新兴的开发模型,Scrum敏捷开发方法的理论和实践还在不断的完善创新之中。教师在教学中使用Scrum敏捷开发模型组织教学时,更应该根据实际情况进行修剪和完善。实践证明,在软件开发综合实训课程中,我们尝试采用修剪的Scrum敏捷开发模型能够激发学生学习兴趣,提高学生开发能力和团队协作精神。

参考文献(References):

[1] 资料来源:http:///.

[2] Robert C. Martin.敏捷软件开发-原则、模式与实践[M].清

华大学出版社,2003.

[3] 王敏.基于Scrum敏捷开发的软件过程管理研究 [D].昆明理

工大学,2010.

[4] 林晓宇.基于Scrum敏捷方法的软件工程实践教学探索[J].

电脑知识与技术,2011.19:4762-4765