首页 > 文章中心 > 软件开发实习工作报告

软件开发实习工作报告

软件开发实习工作报告

软件开发实习工作报告范文第1篇

本文以这3种核心实践课程为例来探讨实习报告的撰写规范。首先,实习报告的封面应指明如下信息:实践课程名称、学校、学院、专业、班级、学号、姓名、指导教师和提交日期等。其次,实习报告的提纲应涵盖以下内容:实习名称、实习目的、实习时间、实习内容和实结等。1)实习名称,用于概要描述实习内容,字数不宜过多,以20字以内为宜,可作为标题放在实习报告的最上方,也可以作为实习报告的正文放在最前面。2)实习目的,一般言简意赅,直入主题。例如,GIS软件操作的实习目的在于熟悉某GIS软件的某些功能操作,实现指定应用目标,掌握课堂教学的相关知识点;GIS软件研发的实习目的在于熟悉某编程语言、某GIS软件基础开发平台,掌握GIS软件工程设计与实现思路;地图设计与编绘的实习目的在于精通制图软件的相关操作,掌握不同类型的普通地图和专题地图的设计与编绘技巧。3)实习时间,包括完成实习内容的起始时间。另外,还可以在这一部分增加时间进度安排,用于进一步规划实践过程每一个关键步骤的完成时间节点。4)实习内容,是整个实习报告中最重要的部分,是对实践过程的完整反映,需详细阐述实验环境、实验任务、实验步骤、实验结果等方面的内容。实验环境是指实践过程中涉及的各种软、硬件环境。除了实践课程所用的计算机硬件设施、操作系统,GIS软件操作的实验环境还包括各种GIS软件、数据库软件等。GIS软件研发的实验环境还包括编程语言、编译环境、二次开发平台、数据库软件等,地图设计与编绘的实验环境还包括各种图形图像处理软件、GIS制图软件等。实验任务是实习目的的具体化,通常通过完成某一个或多个实验任务来达到实习目的。例如,某地区地块拓扑关系的建立可以作为GIS软件操作的一个实验任务;某校园地理信息系统的实现可以作为GIS软件研发的一个实验任务;某地区人口结构分布图的制作可作为地图设计与编绘的一个实验任务。实验任务篇幅不宜过长,可略多于实习目的,通常用一小段文字进行描述。实验步骤是指完成实验任务的每一步操作、流程、思路等,应结合技术路线进行说明。从以往学生提交的实习报告中可以看出,在实验步骤的阐述中,一部分学生容易产生误区,如在GIS软件操作的实验步骤中大量插图,缺乏文字描述;在GIS软件研发的实验步骤中大量粘贴代码;在地图设计与编绘的实验步骤中仅指出图例设计与图面配置的结果。实验步骤的撰写应把握好度,既不能顾此失彼,也不能面面俱到。GIS软件操作的实验步骤应图文并茂,不必每一个参数的设置都配图,但需用文字进行说明,插图以关键步骤的实现效果图为宜,并辅以相应的文字表述。GIS软件研发的实验步骤应结合流程图展开,并辅以关键算法的代码。地图设计与编绘的实验步骤中,对于普通地图而言,应先指明地图符号设计和地图注记配置遵循的国家标准、地图综合选取和概况的方法与依据,再插入各种地图符号的设计效果图、地图注记的配置效果图、地图综合前后的对比图等;对专题地图而言,应先分析和比较现有专题资料,再统计分析各种专题数据,接着选择各种专题内容的表示方法,最后以各专题内容的表达效果作为插图。实验结果是指通过以上实验步骤,完成实验任务之后所得结论或取得的总体实验效果,一般以插图或插图加简要文字说明为主。GIS软件操作的实验结果可以是数据编辑处理之后的效果图、执行空间查询分析之后的效果图、二三维数据可视化表达效果图等;GIS软件研发的实验结果可以是系统运行界面、系统各功能操作效果图、算法执行后的效果图等;地图设计与编绘的实验结果可以是一幅完成数字化或地图综合后的普通地图,也可以是一幅完整的专题地图。5)实结,是对实践课程的整体回顾,是实习内容的进一步凝练与升华,能够体现学生在实践过程中是否进行了独立的思考。实结的内容包括实践过程的总述、遇到的问题及其解决方法、实践课程的收获与心得、实践过程中存在的不足、将来有待进一步学习和改进的地方以及对未来从事相关实践活动的展望等。由于实习内容难免和现实生活之间存在一定差距,照本宣科的机械式实践课程学习固然有助于巩固课堂教学所学知识点,但不利于培养学生的创新性思维能力,也不利于提高学生利用所学GIS知识解决复杂实际问题的能力。因此,应鼓励学生在完成实习任务的同时,充分进行外延拓展性思考,并将思考的内容记录在实结中,与指导教师进行交流,在课外进行实验验证,如GIS软件操作中的缓冲分析拓展综合应用;GIS软件研发中最短路径算法的改进与优化;地图设计与编绘中的自动综合、注记自动配置等。这既符合国家对高校提出的培养创新性人才的要求,又能真正让学生发挥专业特长,将所学的GIS知识灵活应用到日常生活中,还能为今后的各种创新性活动提供思路。最后,实习报告的图文格式方面应严格遵循科研要求,以养成良好的科技行文习惯。

2实习报告评分标准

实践课程的考核应包含2个方面:一是随堂考核,主要检查学生实习结果的质量;二是实习报告的考核。通过上述分析,本文认为实习报告的考核在实践课程考核中应占60%~70%的权重。对于实习报告而言,主要从4个方面进行考核:实习报告的组成部分是否齐全,如是否包含实习名称、实习目的、实习时间、实习内容、实结等;实习内容阐述是否清晰,如是否详细阐述了实验环境、实验任务、实验步骤、实验结果等;外延拓展性思考的深度与广度;图文是否规范等,考核因子及权重如表1所示。

3结语

软件开发实习工作报告范文第2篇

该课程旨在通过项目综合训练,将所学系统设计技术、面向对象开发技术、数据库技术、程序设计技术和软件测试技术进行综合的应用与实践,通过一个完整的软件项目,培养学生遵照行业标准和软件工程规范进行软件需求分析、设计、编码、测试、部署的能力[2],尤其训练目前流行的系统开发技术和方法,培养学生团队开发和协作能力,实现学生具备岗前准职业人的编码能力和职业素养。

1.1知识目标

⑴掌握数据库设计与维护技术;⑵掌握母版页与站点导航控件的使用方法;⑶熟悉访问数据库技术;⑷掌握主流多层系统架构技术和第三方控件、工具的使用方法;⑸能够编写用户控件和自定义函数;⑹掌握Web服务器系统部署方法;⑺熟悉面向对象的开发技术、软件测试与调试技术;⑻掌握主流程序语言的高级数据操作程序编码技术[3];⑼掌握数据报表技术;⑽掌握软件开发流程和文档编写方法;⑾熟悉UML建模技术;⑿了解项目管理知识和方法。

1.2能力目标

⑴能够架构多层B/S网络数据库系统;⑵能够设计CSS+DIV页面布局;⑶能够根据系统实际需求进行多种数据库访问和配置;⑷能根据实际需求,按照软件工程流程,进行项目分析、设计和实现;⑸能够快速架构多层软件软件系统:⑹能编写基于面向对象的系统功能代码;⑺会调试系统代码和系统;⑻会编写规范的软件设计文档。

1.3素质目标

⑴培养学生学好软件的信心,在学习过程中充分培养学生学习的主观能动性;⑵培养学生学习软件的严谨作风,编码以行业标准进行规范,杜绝编码过程中的主观随意性;⑶培养学生团队合作与沟通能力;⑷培养学生从事IT行业的职业技能和职业规范[4],养成良好的职业习惯。

2课程设计思路

2.1课程设计思路

选取一个综合性的企业级软件项目为载体,采取综合性实训的形式开展训练,坚持“产学并行”的训练理念[5],营造生产性流程和职业环境,不断提高学生生产实践能力和编码岗位胜任能力,主要采用基于产品质量的课程管理和评价方法,也就是更重视学生团队协作下的软件项目研发质量,对接企业化的要求进行拟岗训练。各训练小组可以选择自己感兴趣、实战性强的项目作为载体开展训练,教师提供5-10项目选题,供小组选择,每个小组只能选择则一个项目开展训练,项目一旦选中不能更改,小组按照选取的项目和项目设计要求进行分工,设计各自的子项目任务,按照项目计划进行训练。教师担任指导和引导的角色,对重点技术问题进行分析和解释,监督和指导学生进行训练,通过过程把控和考核进行课程管理。

2.2教学方法设计

⑴分组训练法将学生3-8人分成一个小组,按照项目团队职责进行分工,合作开展训练,项目按照小组为单位验收,并进行现场答辩,采取小组互评和教师评价相结合的方式进行考核,使学生真正体验到综合项目开发流程和规范。⑵优秀作品展示为激发学生兴趣和积极性,对于每个阶段项目,采取优秀作品答辩和展示的形式,激发课程特长生的积极性和带领团队的主动性。⑶项目答辩在完成整个项目后,分小组进行项目报告撰写,并制作答辩PPT进行项目答辩,聘请专业教师担任评委,公开验收实训成果。

3考核方案与考核标准

该课程考核采取形成性考核(报告+项目)的考核方式,平时项目训练考核占40%、最后报告(含答辩)占60%。其中平时项目训练考核含学生出勤、态度、团队合作,最后报告(含答辩)考核主要依据正确率、编码规范、是否准时提交、完成效果、创新性等几个方面。总评成绩=项目训练考核(40%)+报告(60%)。

4教学资源开发与利用(含教材选用、实验实训场室、耗材规划等)

建议教材:自编讲义。实训场室要求:实训室安装VS2010以上版本,SQLServer2008以上版本,Eclipse、PHP运行环境,Oracle10以上版本,根据上课实际情况配置以上环境,实训室容纳人数不低于50人。除软件外无需任何耗材。

5教师能力要求

⑴具备面向对象分析与设计能力;⑵具有较强C#、JAVA或PHP编码能力;⑶教师要具有很强的协同施教和教学改革能力,以及校企合作经验;⑷能够熟练使用Visio工具进行UML建模;⑸具有面相对象的系统架构、数据库管理与设计能力;⑹具有产教融合的软件项目研发和设计能力。

6结束语

软件开发实习工作报告范文第3篇

关键词:软件工程;案例驱动式教学;软件工程;教学方式

中图分类号:TP434文献标识码:A文章编号:1672-7800(2013)006-0191-03

作者简介:李洪进(1983-),女,硕士,遵义医学院医学信息工程系工程师,研究方向为计算机软件与理论、软件工程、软件测试、医学信息处理。

0引言

软件工程是医学信息工程系信息与计算科学专业的一门专业核心必修课,该课程的理论性和逻辑性强、内容抽象、较难掌握。软件工程涉及到计算机学、工程学、管理学等领域。一个高质量的软件系统需要软件工程理论的指导和具体实践相结合。如果按照传统的填鸭式教学方法,纯讲理论、照本宣科,学生会觉得枯燥无味,学习兴趣低。在软件工程教学中采用案例驱动式教学来进行课程改革,把学生分成多个项目小组,把软件工程课程中包含的软件工程管理、需求分析、软件总体和详细设计、软件测试、软件维护用项目来具体实施,可以提高教学效果,使学生一边实践一边学习、理解软件工程的理论,积累编程经验和软件项目的开发经验,把以前学习的知识巩固,使学生明白软件的开发不仅仅是编写代码那么简单,从而为以后从事项目开发和管理工作打下坚实的基础。

案例驱动式课程教学法是美国的哈佛大学在20世纪20年代提出的,因为实践效果好,目前在我国很多课程教学中也经常采用。这种教学方式主要以案例作为基本的教学素材,在教师的指导下,组织学生来分析、讨论、调查案例。在软件工程教学中,教师既可以选择案例来分析讲解,互相讨论交流,还可以选择案例给学生在课堂后搜集资料分组完成,最后综合考察具体开发的软件项目成品(论文+系统);另外可以把一些优秀的案例放到软件工程的精品课程网站上,供学生下载资料来学习研究。

1案例选取

在软件工程案例驱动式课程教学中,案例的选取很重要,如果选择的项目规模太大、行业性太强,会增加学生的完成难度,有的项目无法理解,学生会失去兴趣,因此,首先要精心挑选一些具有针对性和代表性的案例来进行课堂的知识点讲解,便于总结和学生实施项目时模仿,然后选择两个类似项目和3个中等难度的项目让学生在课后完成,在学生分组时,每个团队都要把成绩较好和一般的学生合理分配,实行因材施教,根据学生的实际情况和动手能力来选择分配项目,做到既有共性又有个性,难度适中。案例讲解要和软件生命周期结合起来,具有启发性,使学生熟练掌握软件开发各个阶段中完成的内容。具体有软件可行性分析研究报告、软件需求分析报告、软件总体设计报告、软件详细设计报告、软件使用说明书、软件测试报告。另外可以根据学校教师科研的实际情况,让学生参与一些科研项目,做力所能及的工作。加强学校和企业合作,通过课程培训和企业项目实习,也可以改编项目教学案例,比如学生成绩管理系统、职工信息系统、图书管理信息系统、医院病历管理系统、餐厅点餐系统、航空订票系统等普遍比较熟悉的项目,把经典的项目和先进的前沿技术结合。

比如在讲解用面向对象方法进行软件系统的分析、设计和开发过程时,通过学生比较熟悉的案例ATM自动取款机来贯穿。

首先根据ATM系统的需求陈述来建立问题域的对象模型,找出候选的类—&—对象,通过筛选确定类—&—对象有如下:ATM、中央计算机、分行计算机、柜员终端、总行、分行、柜员、储户、账户、事务、现金兑换卡。找出对象之间的关系,进一步完善和确定关联,并按照问题领域把系统划分为“总行”、“分行”和“ATM”3个主题,编号分别是1、2和3,如图1所示。

然后确定属性,分析和选择属性时要注意不要将对象和状态误当作属性,不要过于细化;确定了类的属性后,可以识别出类的继承关系,通过反复修改得到ATM系统的对象模型,如图2所示。在建立对象模型时,并不一定严格执行这样的顺序,可以交替完善。

第二步:建立ATM系统的动态模型,编写正常情况和异常情况下交互行为的脚本,设计出系统的应用逻辑和设想友好的用户界面,然后从脚本提取事件并画出事件跟踪图,描绘出事件与对象关系的状态图,如图3所示。

第三步:建立ATM系统的功能模型,根据系统中数据之间的依赖关系和数据处理的功能,画出基本系统模型,把基本系统模型中单一的处理框分解成若干个子处理框,得到功能级数据流,并描述处理框的功能和定义服务。

最后用面向对象方法对系统进行设计,设计问题域子系统时把ATM系统进一步划分为3个子系统,分别为:ATM站、中央计算机、分行计算机子系统,如图4所示。详细讲解ATM系统的需求分析报告和系统设计说明书后,学生可以采用面向对象的编程方法来实现一个简单的模拟系统,一般采用Visual Studio 2010+SQL2008,后台编程语言是C#或VB,也有的项目组采用JSP+MYSQL数据库来完成。

这样通过具体的案例讲解使学生懂得怎样去设计人—机交互子系统、任务管理子系统和数据管理子系统,并书写系统的概要设计报告和详细设计报告,理解面向对象分析、设计和实现的具体流程。要求使用UML语言和Rational Rose2007工具来统一建模,为软件工程课程实践打下基础。

2项目考核

软件工程教学中,课程结束时考核方式由平时成绩(10%)+5个项目报告(20%)+综合项目设计实验(20%)+考试(50%)几部分组成,这样可以全面考察学生学到的知识及其运用能力。在项目具体开发实施时,为了提高学生的综合素质和学习兴趣,教师首先讲解几个常见的软件工程项目的开发过程,然后把学生分成5个团队(6至8人一个团队),把每个项目的角色分成项目经理、数据库工程师、项目构架师、编程人员、软件测试人员,让学生交叉地参与几个项目的讨论,通过查阅相关资料、提问和对话,激发他们的独立思考和创新能力,教师再进行指导答疑项目实施中的关键点,拓展贯穿知识点,提高学生的动手能力和团队合作的能力,加强交互,教学相长,提高教学质量。在每个软件开发阶段结束后,五个项目团队都要交相关文档给教师审阅,然后针对问题提出修改建议并完善报告。

软件工程的这种案例驱动式课程教学模式有利于提高学生的项目管理和软件开发素养。遵义医学院医学信息工程系的教师建立了软件工程实验室,把学生分成了几个小组,每个教师带领一个团队,项目结束后学生先提交每个阶段的开发文档报告,然后以教师参与的项目答辩的形式,让学生一边演示软件系统、教师一边提问,对所做的工作进行总结,考察了学生的学习态度、软件开发能力和编写文档的能力。采用案例教学和多元化的考核方式来提高学生的学习主动性和兴趣,更好地理解软件工程的理论知识并加以实践,使学生课堂内外结合,培养具有良好的团队开发能力和开拓精神人才。

3结语

根据医学信息系近几年的实践,教学改革取得了优良的成绩。教师采用软件工程课程案例式驱动教学,学生通过近一年的项目实践,能够全面掌握面向对象的软件系统的开发设计和维护,提高了分析问题和解决问题的能力,掌握了项目开发管理的基本流程方法,为将来的学习、毕业设计和工作奠定基础。当然,在今后的教学工作中,还要更多地开发和探索其它优秀的教学方法,积累经验,争取获得更好的教学效果。

参考文献:

[1]汪璟玢.案例与项目实践结合的“软件工程”教学方法[J].计算机教育,2012(5).

[2]王小刚.改进软件工程类课程课堂教学效果的几种方法[J].计算机教育,2012(6).

[3]甘沅鑫.高职院校软件工程课程中案例教学法的实现[J].科教纵横,2012(5).

软件开发实习工作报告范文第4篇

二、实习要求:

1.了解计算机通讯网络及企业内联网的构成和配置,掌握所接触信息系统(软硬件)的工作原理,结构,安装,及故障识别方法,熟悉基本网络测试工具的使用方法和系统规划软件和网络数据库的使用方法。

2.了解服务器、交换机、Hub、网卡、光纤和粗细缆的功能,安装,维护及使用方法,了解它们选型的一般原则及对应的网管软件使用等。

3.了解所在企业信息流的组成,即供应链、产品链,资金链、信息链的性质和用途,初步形成企业信息系统和计算机通讯网络的整体概念。

4. 通过讲座、参观,了解通讯及网络技术、企业信息管理系统、电子商务的发展情况、使用情况、新成果新技术的应用情况。

三、实习内容:

讲座(1)金杯CIMS

时间、地点、报告人、单位、报告内容、专业认识和体会

讲座(2)大显网络集成工程建设

时间、地点、报告人、单位、报告内容、专业认识和体会

讲座(3)铁通光纤数据通信、网络设计

时间、地点、报告人、单位、报告内容、专业认识和体会

注:侧重内容:通信设备、方案设计、设备选型、组网、内容总结、心得

实习单位(1):沈阳铁通公司

时间、地点、参观单位简介、参观过程、情况总结、心得

侧重内容:局域网的组成、光纤通信

实习单位(2):沈阳汽车制造厂

时间、地点、参观单位简介、参观过程、情况总结、心得

注:侧重内容:企业生产流程、控制网络、管理网络、企业生产信息管理集成系统软件结构、功能、实现、应用情况

实习单位(3):大显网络工程公司

时间、地点、参观单位简介、参观过程、情况总结、心得

侧重内容:企业生产流程、控制网和管理网集成硬件平台、软件平台、企业信息管理系统软件结构、功能、实现、应用情况

注:

(1) 实习报告分为封皮和实习报告正文(封皮应表明专业、班级、学号、姓名,报告正文如果较长,可以加目录;也可以不加,同学们可以自行选择)

(2) A4纸,正文小四号字,宋体,标题四号字,加粗,单倍行距

(3) 讲座报告和实习单位分开写

软件开发实习工作报告范文第5篇

关键词: 软件测试; 案例教学; 实践教学; 案例库

中图分类号:G642 文献标志码:A 文章编号:1006-8228(2014)12-74-03

Research on case teaching in software testing course for higher vocational colleges

Zhang Xiaolan, Guo Jiandong

(Guangdong College of Industry and Commerce, Guangzhou, Guangdong 510510, China)

Abstract: Case teaching can not only fully mobilize the students' enthusiasm, but also improve their theoretical level and practical ability. Combined with teaching experience in software testing, the problems of the case teaching in software testing course are analyzed. In order to improve the teaching effect in software testing course, the case design method in theory teaching and practice teaching is proposed. The construction of teaching case library is given. The basis and premise of the implementation of case teaching are introduced.

Key words: software testing; case teaching; practice teaching; case library

0 引言

51testing公司的《2013年中国软件测试从业人员调查报告》显示[1],2013年中国软件企业软件测试人员与开发人员比例基本保持在1:3,相比之前的1:7比例虽有所下降,但仍与国外软件企业1:1的比例相差甚远,这表明国内软件测试人才市场需求仍会增长,其职业发展的潜力依然很大。正因为如此,很多高校相继开设软件测试专业或课程。在教学过程中,主讲教师一般讲解软件测试理论和介绍软件测试方法,但却缺乏较好的测试案例供学生测试,以验证所学的理论,故教学效果不佳。例如利用等价类划分法、边界值法设计测试用例,学生虽然能按要求做练习,能设计出测试用例,但是很多学生还是会疑惑设计出来的测试用例有何用、怎么用,学生缺乏实践环节的经验,当面对实际软件项目测试工作时,仍然无从下手。

目前,很多高职院校对“软件测试”这门课程进行了改革,并且取得了一定的成效。广东工贸职业技术学院(以下简称“我院”)计算机系从2009年开始开设软件测试课程,通过近五年的教学经验积累和总结,提出从构建软件测试课程的案例入手探讨该课程的案例教学方法。

1 软件测试案例教学所面临的问题

1.1 教材及教学资料缺乏

当前软件测试方面的教材很少,适应高职院校学生的教材更少。绝大部分教材只是阐述空洞的理论,附加简单而又陈旧的工具介绍,而这些理念和工具很多已经被业界淘汰或是被取代[2]。根据《2013年中国软件测试从业人员调查报告》显示,业界现在普遍采用的功能测试软件是QTP,而绝大部分教材中还停留在介绍Mercury Interactive公司的WinRunner工具,同时对于业界中性能测试龙头软件LoadRunner,很多教材并未涉及。绝大多数教材上所提到的自动化测试工具不多,而且讲解的也不是很详细,需要教师进行大量的补充。

1.2 案例缺乏

大多数软件测试教材都是理论内容过多,实践内容不足,甚至只有最后一章有测试案例。大多数高校软件测试课程的定位都是以讲解理论知识为主,实验教学只占很小一部分。高职院校定位于培养技能型人才,要求学生有较强的实际动手能力,这势必需要进行大量的测试实践,而实践需要大量的测试案例。同时,理论教学也需要运用典型案例,加深学生理解所学知识,培养其分析问题与解决问题的能力。

2 理论教学案例设计

教材及教学资料的缺乏势必需要软件测试主讲教师有针对性地扩充理论教学案例。

2.1 扩充教材中的教学案例

在软件测试的众多教材中,讲述软件测试方法的经典案例有三角形问题、日期问题、闰年问题等,但这些案例通常都是文字表述,缺乏具体的程序供学生测试。因此,首先要扩充教材中的案例,采用面向测试的软件设计方法将这些案例做成一个个小的被测系统,设一些缺陷,让学生沿着“测试―理论―进一步测试”的主线来学习。首先对这些案例系统进行测试体验,再系统学习理论,最后利用设计出的测试用例进一步测试,这不仅有利于加深学生对软件测试抽象理论的理解,也让学生更加深知在编程过程怎样避免缺陷,做到规范化编程,提高编程能力。

2.2 引导学生编写软件开发文档作为教学案例

在软件测试的理论教学中,经常会提到几个概念,如:黑盒测试是基于用户需求的测试,集成测试的测试依据是系统概要设计说明书,单元测试的测试依据是系统详细设计说明书等。学生通常会觉得很困惑:用户的需求到底是怎样的,系统概要设计说明书、详细设计说明书中分别包括什么内容,有何区别,对这些文档始终没有直观的认识。事实上,在企业的开发与测试工作中,文档都是很重要的一部分内容。软件开发企业在软件开发过程中会产生一系列的文档,如需求分析报告、详细设计报告、概要设计报告等等,但很少对外公布这些文档。就算能通过校企合作或项目合作的方式获得企业项目文档,缺乏项目业务背景的学生也很难弄清项目中的数据流程、工作流程等。所以通过与软件工程课程教师的沟通协调后,要求学生在软件工程课程设计中,按小组自选熟悉的项目系统,如:“学生成绩管理信息系统”、“图书管理系统”、“宿舍管理系统”等等,按照软件工程的原理编写相应需求说明书、概要设计说明书、详细设计说明书等,只有具备以上资料,才可真实地模拟实际工作模式。在软件测试课程中,延续使用这些案例系统,将对学生掌握软件测试的流程很有帮助。

3 实践教学案例设计

3.1 实践教学目标及工具选用

为了培养面向市场的合格测试人才,在教学过程中,除了理论知识外,还要求教师加强学生测试技能的培养。测试技能的培养是需要通过大量的实践练习来获得的[3]。

通过实践教学环节,加深学生对软件测试理论知识的理解,使学生能掌握软件测试的技术和方法,熟练主流自动化测试工具的使用,提高实际动手能力。51testing公司的《2013年第七届中国软件测试从业人员调查报告》中对软件测试从业人员常用的单元测试工具、功能测试工具、性能测试工具进行统计调查分析,得出在功能自动化测试工具中QTP使用最广泛,如图1所示。在性能测试工具中LoadRunner仍然稳居第一,LoadRunner在性能测试工具中的大哥地位无可动摇,Jmeter测试工具在今年来有小幅上升趋势,如图2所示。在单元测试工具中,软件测试从业人员最常用的单元测试工具是Junit,如图3所示。

图1 2013年调查中常用的功能自动化测试工具分布

图2 2013年调查中常用的性能测试工具分布

图3 2013年调查中常用的单元测试工具分布

注:以上图表数据均来自51testing公司的《2013年中国软件测试从业人员调查报告》

在我院软件技术专业的软件测试课程实践教学中选用的单元测试工具是基于Java开发软件的测试选择Eclipse+Junit;基于C++开发软件的测试选择了CppUnit;基于.NET开发软件的测试选择Nunit。另外,性能测试选择了LoadRunner试用版本,功能测试选用QTP,实践教学环节工具基本与当前主流工具平台相符。

3.2 实践教学案例来源

在软件测试的实践教学中,我们从以下几个方面来扩充教学案例。

⑴ 课程设计成果

我院计算机系软件技术专业在程序设计方面,前期开设了Java和.NET程序设计两个方向。在Java程序语言设计,C#程序语言设计、数据库设计课程结束后,通常会安排两周的课程实训,要求学生在教师的指导下完成课程设计作品。将程序语言设计作品用作单元测试的案例,学生间交叉进行测试,互相充当对方的测试员,这样不仅有利于将程序开发与软件测试结合起来,综合解决软件开发中的问题,而且交叉测试会极大地调动学生学习测试兴趣和积极性,课堂气氛活跃。

⑵ 毕业设计成果

在大三第二个学期,我院会安排12周的毕业综合实践周,由指导老师跟学生共同确定毕业设计题目,学生独立完成毕业设计。通过对以往选题汇总发现,绝大部分同学都是选择Windows程序开发和网站开发两个方面。从毕业设计作品中可选择一部分优秀的作品作为实践教学的案例。考虑到现有的网站如网易、搜狐前已经做足了测试,很难再发现其中的缺陷,所以在Web网站测试实践中,我们将学生的网站作品在机房的局域网内,学生在学生机进行测试,在这个过程中真正体会Web网站测试、Cookies测试、安全测试、目录测试等方面,找到测试成就感与自信。

⑶ 科研项目成果

我院一直鼓励教师多参与科研项目,教师参与开发的项目也可以用于实践教学案例。只有任课教师对所选的项目非常熟悉,甚至是亲自参与开发,才能对项目开发整个流程、可能遇到的问题有充分的认识与准备,为学生提供有力的帮助和准确及时的指导,为项目教学的顺利开展提供前提条件,使项目教学的整个实施过程都能在任课教师的良好掌控之下[4]。

⑷ 校企合作项目

目前我院已与部分企业签订了校企合作协议,在软件测试课程的综合性生产实习中,引入企业的实际项目作为案例。邀请校外实习基地企业的行业专家将实际工作项目带入实训室,学生3~5人为一组,按行业实际给他们分配角色,在该过程中强化学生的综合设计和运用能力,让学生掌握在实际项目应用中各种测试方法的使用,熟悉测试项目管理,感受大型测试项目工作流程。

4 案例教学的实施前提

4.1 跟前导课程的衔接

软件测试与软件开发有非常紧密的联系。要想成为一名优秀的测试人员,就必须会编写程序,至少精通一门程序开发语言才能胜任单元测试、集成测试、性能测试的工作,软件开发课程学习的好坏直接影响了软件测试能力。在软件测试单元测试、集成测试教学实践中,案例主要来源于程序设计语言课程的设计作品,这要求该课程主讲教师对学生严格要求,要求学生按小组保质保量完成小组作业,这些小组作品是软件测试课程中交叉测试的基础和前提。

同时,软件测试要用到一系列的文档,如需求分析说明书、概要设计和详细设计说明书、用户手册和安装使用说明等,这些也是软件工程课程设计上要学生完成的内容,课程设计对这些内容的要求严格与否,会对软件测试课程带来很大影响。通过这几年的教学发现,大多数学生对这些文档不甚了解,而且高职院校的学生普遍重技术轻理论,不愿意花时间去写文档。

4.2 教师自身素质的提高

为了顺利实施案例教学,主讲教师也需要不断提高自身素质。软件测试工具较多,范围广,不易把握重点,大部分测试工具如:LoadRunner、WinRunner、JUnit、Jmeter等都是英文版[5],参考资料少,这就要求教师通过主动学习、走进企业来提高自身素养。高职院校提倡“双师型”专业教师队伍建设,要求教师既要具备理论教学的素质,也应具备实践教学的素质,学校也可以派遣教师到软件测试培训机构进行培训,提高教师水平。只有这样,教师才能自如地将企业实际的测试流程、方法、技术带入案例教学实践中。

5 结束语

兴趣是最好的老师,在理论教学和实践教学中引入案例教学、建立测试案例库,使理论和实践过程更具直观性、生动性、说服力、吸引力,能有效调动学生的积极性和兴奋点,有助于学生掌握软件测试的基本理论和方法,加深对软件测试测试自动化工具的理解。同时随着教学的推进,教师可针对当前的测试工具,设计新的教学案例,扩充至教学案例库中,不断提高案例的针对性、实效性、鲜活性。

参考文献:

[1] 2013年第七届中国软件测试从业人员调查报告.http://

,2013.

[2] 钟久隆,路桂明.高职院校《软件测试》课程教学改革探索与实践[J].

教育教学论坛,2012.2:130-131

[3] 丁智国,吕振洪.软件测试课程实验教学探索[J].计算机教育,2012.3:

102-105

[4] 龚宇辉.基于项目驱动的软件测试人才培养模式[J].华章,2013.20:

199