时间:2022-03-22 11:37:56
开篇:写作不仅是一种记录,更是一种创造,它让我们能够捕捉那些稍纵即逝的灵感,将它们永久地定格在纸上。下面是小编精心整理的12篇测试项目总结,希望这些内容能成为您创作过程中的良师益友,陪伴您不断探索和进步。
一:20xx年工作回顾及总结
回顾20xx年这一年来的工作,我在公司领导及各位同事的支持和帮助下,严格要求自己,按照公司要求,比较好地完成了本职工作。通过近一年的学习和工作,工作模式上有了新的突破,工作方式有了较大的改变。现将这一年的工作情况总结如下:
1、总体来说,2016年我主要完成了“……银行系统”、“……渠道管理平台”、“……”、“……”、“……”“……”的日常测试以及质量控制工作;“……”已经稳定上线运行6个多月,“……”即将上线。
2、日常我主要负责项目测试工作、测试文档编辑、参与功能需求设计、协调开发进度、总结经验分享、完成所需知识积累、工具学习及研究、兼容性软件测试。就在银联项目工作来说,主要的工作内容有:a、测试项目案例、测试用例的设计与编写;b、对测试过程中遇到的问题进行沟通,并提供意见;c、设计业务功能流程,提供参考意见,绘制关键业务流程;d、进行主要功能的界面测试、功能测试;e、按照测试用例执行测试计划;f、进行需求验证工作。
3、知识的总结与分享,完成客户端在安卓4.0/4.1,IOS6.0以上系统上出现的兼容等问题,完成了兼容性测试案例的编写以及兼容性测试的培训工作。在日常工作中,发现兼容上重大问题,在测试部门群中分享。
4、完成所需知识积累,学习所需知识、工具以及技能。在工作中学习了银行业务流程规范、学习公司研发规范、参加了公司组织的技术培训、学习了各种测试工具的使用。
二:对公司的建议与意见
对公司和部门建设上,我有以下几点建议:
1、对员工进行金融知识的系统培训,让测试人员了解银行业务流程,有助于测试人员更加详细了解业务流程,测试过程会少走很多弯路。
2、部门内希望多组织技术交流讨论,促进测试工作的开展和提高。一年至少有2次这样的交流。
3、公司在项目开发前期,希望尽可能的明确需求,尽可能的详尽需求说明书内容。在测试过程中发现很多项目缺少需求说明书,需求说明书不明确或者需求说明书内容错误,误导了开发和测试,浪费了时间,影响了项目进度。
4、建议项目需求设计可以有测试员参与讨论。
5、公司管理有点混乱,个人感觉公司对每位员工的重视程度不够!节假日公司应该给每位员工一定的福利和关心。
6、个人感觉平时的效率比较低,希望测试部门能够有所调整。希望公司能制定质量控制标准以及开发、测试工作流程,让开发更好的了解测试的流程,增强开发团队与测试团队的配合,提高工作效率。
7、加强部门测试成果的积累与沉淀,提高团队测试水准,希望我们的团队能够做的更好,能够已团队的形式参与软件项目的开发,而不仅仅是一个项目中毫不起眼的小小测试员。
三:20xx年工作计划与学习计划
20xx年工作计划就是希望通过自己的努力,让我们的产品更加完美,让自己在软件测试技能上有所提高,更多的关注软件产品的开发过程,提高工作效率、做到与用户的需求一致,提高公司软件产品用户满意度。
具体来说20xx年工作计划有:努力提高自身测试水准,努力学习金融知识以及业务流程,学会需求分析,掌握需求分析在测试中的作用,参与公司更多的开发项目的测试工作。
随着计算机软件技术的高速发展,软件测试在软件开发过程中的地位也越来越重要,软件测试是保证软件质量和可靠性的重要手段之一,软件测试人才需求猛增,软件测试已经成为计算机专业的重点专业课程。传统的软件测试教学模式,测试理论和测试实践严重脱节,不能很好的满足软件企业对测试人才的要求。依托广东东软学院的特色教学实践1321教学模式,进行以实践能力和就业能力为导向的课程综合实践探索,深化教学改革,激发学生的兴趣,让学生贴近现实的工作场景中学习,了解在软件开发过程中测试岗位的工作过程和知识要点,培养学生软件测试应用技能型人才培养为目标。
二、软件测试课程实践构建的主要思路
软件综合实践安排在大三课程开始之前的实践学期进行,为期4个星期,每天4学时的实践教学指导,软件测试专业的学生已经学过专业基础课《Java程序设计》、《计算机文化基础》、《网页设计》、《数据库设计》、《软件开发过程实践》,专业课《软件测试概论》、《功能测试》,学生初步具备了参与综合实践的专业素质能力。在综合实践开发团队中,将软件开发专业、网站规划与设计专业、数据库管理专业、软件测试专业和网络技术的同学,以3:1:1:1:1这样的比例进行团队建设,从中选出一位同学兼职项目经理,实现学生自主管理,配备具有双师素质的专业老师,一位教师负责指导5-7个团队的项目开发,当需要进行专业指导时,临时进行专业化实践指导,全方位分阶段、分岗位进行进行全程交叉技术指导,同时邀请合作单位的软件工程师,同步进行项目过程的跟踪,给予学生岗位最精准的实践指导。采用项目驱动的方法开展实践教学,通过开发真实的软件项目,以软件工程开发过程为导向,制定软件综合实践——软件测试方向的实践方案,分阶段进行实践,选择有较强的实践性和创新性的项目给学生选题,选题要贴合实际项目,需求相对容易获取,具有一定的创新性,能够激发学生的学习兴趣。首先需求的调研,需求的评审,编写测试计划,设计测试用例,测试执行,测试记录的跟踪和测试总结报告,对每个测试阶段进行教学设计,不断的将所涉及到的知识点融入到实践中,增强学生职业岗位素养能力,团队合作的意识,同时探索以学生管理学生的模式进行实践探索。
三、软件综合实践测试岗位的工作过程与方法
在软件综合开发实践过程中,对软件测试岗位的同学依据软件工程的理论进行指导,结合企业的工作流程,采用分组的教学模式,采用软件测试常用的W模型,进行教学指导,培养学生的团队合作能力,沟通能力,实践能力。测试岗位的工作主要分成两个三个部分,第一部分是需求的调研和评审,测试计划中测试策略的选择、任务的时间安排和测试用例的设计;第二部分主要是测试执行,安装测试工具,部署测试环境,按照测试所设计的测试用例进行手动功能测试,尝试利用自动化测试工具QTP进行自动化测试,运用所学过的黑盒测试方法,进行web测试,兼容性测试等方法的测试工作,将所发现的问题记录到测试管理平台(QC)的缺陷缺陷跟踪表中,修复后,进行验证性测试,第三部分就是测试总结报告。
四、软件综合实践的考核
1.答辩委员会的组成。立体化全方位的考核方式,采用学生团队答辩的方式进行最终的考核,答辩委员会成员由软件开发方向教师、网站规划与开发教师、数据库管理方向教师、软件测试技术方向教师和企业工程师共同组成。2.软件测试岗位的知识点的考核。每个专业都设计了一套科学有效的评价体系,从三个部分对学生的能力进行全方位评。第一部分IT职业素养能,占总成绩比例的30%,考勤、项目管理能力、文档编写能力、团队合作与沟通能力、演讲与答辩能力;第二部分团队实践成果,占总成绩比例的30%测试环境部署、测试工具软件的安装、测试执行中缺陷报告的跟踪、测试总结报告的编写;第三部分岗位技能成果,占总成绩比例的40%,软件开发过程文档:需求评审报告、测试计划报告、测试用例报告。
五、软件综合实践教学实践的意义
1.软件综合实践项目分组教学的意义2.软件测试岗位同学的收获3.综合实践教学的后续影响4.软件综合实践教学的改革未来方向
作者:张彤宇 李晶 姚庚梅 单位:广东东软学院计算机科学与技术系
参考文献:
[1]罗先录.IT类专业实践教学的三个层次[J].计算机教育,2007(18):14-15.
【关键词】软件测评 测评过程 测评方法
1 审计信息平台介绍
为了落实制约机制和监督权力作为审计的核心,加强反腐败体制机制创新和制度保障的要求,需要建设审计信息平台。该平台的总体目标是建立一个“统一、高效、实用”的工作信息系统,使其成为总公司及所属单位审计人员开展日常审计的平台,成为总公司和所属单位信息共享和信息交互的通道。审计信息平台系统主要是以信息化手段实现总公司及所属单位部分审计流程的规范化和标准化,固化业务流程,辅助各级领导和审计人员管理业务工作,衔接工作界面,细化操作实务,辅助审计工作,提升工作质量。
对于这样大规模的应用系统,具备了相当高的复杂程度、技术水平和开发成本。如果该系统存在缺陷,在使用过程中发生故障,都将造成不良影响。软件测评就是帮助用户解决应用系统的质量问题,作为系统上线前检查必要的质量保证手段,从而提高系统质量。软件测评不是系统开发方内部测试,也不是用户测试,而是由具有相关资质的独立的第三方测评机构,根据被测系统方的需求,依据相关国家标准、行业标准或国际标准对被测软件的质量进行全面的测试和评价。
2 软件测评
软件测评主要是利用人工或者自动化的方式,站在客观、第三方的角度,系统的尽可能多的发现被测系统中的错误,检查被测系统是否满足需求规格说明书或是达到预期结果,从而提高被测系统的质量。
软件测评相比软件测试更注重评审过程,在测试的每个阶段以及产生的相关文档都需要组织专家对其结果进行评审,对测试结果进行深入分析总结,制定应对措施积累经验。根据软件测试质量控制体系对测评活动全过程进行质量控制。因此要确保软件测评的充分性,获得良好的测评效果,建立一个完善的软件测评体系具有现实的紧迫性和重要性。
3 审计信息平台软件测评过程
针对审计信息平台的项目特点,根据越早测试越好的原则,本次软件测评的过程按照:软件需求制定、测评项目建立、测试需求分析和策划、测试设计和实践、测试执行和回归测试、测试总结和交付归档来进行。
3.1 软件需求制定
软件需求为软件开发奠定了基础,也是软件测评的重要依据,一份完善的需求规格说明书对开发和测试工作都是至关重要的。测评项目组引入了软件需求规格说明书的国家标准,并根据本企业和本项目特点对国家标准的需求规格说明书进行了落地,通过多方评审确定了最终版本。通过讨论会对需求规格说明书反复修改,协助研制方按照系统功能模块的划分逐步完成需求规格说明书。
3.2 测评项目建立
测评项目组按照测评任务和合同情况建立测评项目。首先项目组制定项目计划;项目组长与质量保证人员共同制定质量保证计划;项目组长与项目组配置管理员共同制定配置管理计划。然后项目组接受被测件,梳理测评需求,建立需求基线并进行配置管理。同时,质量保证人员对项目建立阶段进行符合性检查。
3.3 测试需求分析和策划
测评项目组开展测试需求分析,确定测试类型及其测试要求,分解测试项。建立测试项与测评需求的追溯关系,通过需求追溯表的形式实施。项目组进行测试策划,确定测试策略、技术方法、测试工作产品等。
3.4 测试设计和实践
该阶段主要是设计并编写测试用例。建立测试用例与测试项的追溯关系,通过需求追溯表的形式实施。按文档编制要求进行测试计划文档的编写。测试计划完成后需进行评审,并对经评审的测试计划进行修订,填写测试问题处理单进行变更控制。此外要对测试环境、测试工具等测试设备进行确认,对测试设备的配置、状态进行确认。还需开展就绪评审工作,对测评需求、项目进度、测试设备等情况进行跟踪,确定是否可以转入测试执行阶段。
3.5 测试执行和回归测试
测试执行阶段由测试执行人员在系统实际测试环境中执行测试用例,并记录测试结果。测试人员需判定测试用例是否通过,对不通过的测试用例进行判定,确认是否为软件问题。对于确认为软件问题的测试用例,经研制方修改后,测试方接收修改后的被测件。测试项目组复用或新增回归测试用例,开展软件更改的影响域分析,实施回归测试。质量保证人员对测试执行阶段进行符合性检查。
3.6 测试总结和交付归档
全部测试执行完毕,测试项目组整理测试记录并分析测试结果:编制需求追溯表,建立测试执行情况、软件缺陷与测试用例的追溯关系。之后测试项目组对测试工作和被测系统进行分析评价以及测试总结评审工作,包括对测评需求、项目进度、测试设备等情况进行跟踪,为编写测试报告做准备。准备完毕按照文档编制要求进行编写测试报告,并对报告评审。最终向客户交付测试报告正本,测试项目组对本项目全部文档记录进行整理归档。
4 审计信息平台软件测评方法
由于审计工作流程的复杂度高,因此对该平台的易用性要求也相应提高。故测评的测试类型主要体现在功能性、效率性、安全性、兼容性和易用性等质量特征上。
4.1 功能性测试
功能性测试主要检测软件是否符合《审计信息平台业务蓝图设计报告》和《审计信息平台系统开发需求规格说明书》中提出的用户功能需求。对于一般的用户测试而言,用户仅测试自己关心的功能点,且是正常使用,测试覆盖率往往只能达到20%左右。而对于非用户方和非开发方的第三方测试者来说,需要尽可能多的发现和使用软件的全部功能,对需求文档中的功能性需求逐项进行测试,要求输入值覆盖正常值的等价类、非正常值的等价类和边界值。因此,测试者不但要深入了解审计信息平台的各项功能用法和目的,还要熟悉审计业务流程。
根据审计信息平台系统功能特点,本系统分为综合管理模块、审计模块、内控制度管理模块和举报模块四部分。根据该软件需求规格说明书,为了保证测试的充分性,经过分析共有功能性需求27项。其中,审计模块为该系统的核心功能,在加强反腐败治理工作的今天,审计业务流程更为复杂、重要。审计管理主要包括审计项目管理、审计作业管理、审计治理管理、基础数据和统计报告五个功能。由此设计的测试项共16个,包括审计计划、项目归档、项目启动、人员考核、审前调查等。
4.2 效率性测试
效率性测试也就是我们平常所说的性能测试。性能测试的目的主要是获取审计信息平台在不同压力下系统的性能数据,寻找系统的瓶颈点;验证审计信息平台在30并发用户下系统的性能表现。在测试之前需要进行需求访谈,根据访谈结果制定测试计划和测试方案。根据用户提供系统交易量占比最高的前10个功能、业务逻辑比较复杂的功能,设定测试场景。例如:用户登录响应情况,大小附件上传下载,审批业务流程,以及上述场景的混合场景,混合场景的测试更能模拟系统在实际使用时的情景。测试时的环境也是至关重要的,测试环境要求与生产环境一致,否则测试结果就失去意义。因此需要在系统开发完毕,功能测试之后系统上线之前,在生产系统进行测试,且测试时测试系统需要与其他系统隔离,避免对其他系统造成影响。
4.3 安全性测试
企业的生产运行活动越来越离不开网络,很多重要的信息资料都在网络上传输,由此安全问题也越来越得到人们关注。不论是为了设计,还是为了实现所产生的安全漏洞,对于用户来讲都是无法容忍的。在审计信息平台系统上线前,对其进行安全测试是十分必要的。采取的测试安全测试方法主要有两种:利用Fortify进行静态的代码安全扫描,找出底层代码中存在的安全漏洞;利用AppScan进行动态渗透测试,这种方法是利用自动化测试工具模拟黑客入侵,从而找到系统在运行时会出现的安全漏洞,找出的问题真实有效。
4.4 兼容性测试
目前大多数办公软件都不需要安装,通过浏览器使用。审计信息平台用户只需在浏览器输入系统地址可直接登陆系统。因此对该系统的兼容性测试需测试:操作系统的兼容性和浏览器的兼容性。
操作系统的兼容性主要是测试Windows平台和Linux平台。浏览器的兼容性主要是测试IE浏览器、火狐浏览器、谷歌浏览器。一般在测试时,在不同平台和浏览器上,首先系统功能能够正常使用,其次界面和操作应基本相同。
4.5 易用性测试
审计信息平台作为审计监察部日常的办公软件,其易用性是不可忽视的。用户之前习惯使用监察管理系统、风险管理系统和内审作业管理系统。整合、统一后的审计信息平台应该符合用户已经形成的使用习惯。同时是否满足相关文档如软件需求规格说明书中规定的易用性要求,符合一般软件操作的隐含易用性要求也是需要测试的。在测试中从用户的角度出发,考查人机交换界面的设计,以非常规操作、误操作、快速操作来检验人机界面的健壮性。
参考文献
[1]王峰,郑彦兴,包阳.软件第三方测评[J].计算机研究与发展,2008(45):345-350.
[2]古乐,史九林.软件测试技术概论[M].北京:清华大学出版社,2004.
[3]沈昌松,朱建方等.软件测试用例设计[J].微计算机信息,2001,17(2).
作者简介
田雅(1982-),女,江苏省人。大学本科学历,学士学位。现为中海油信息科技有限公司北京分公司工程师。主要研究方向为计算机应用系统软件测评。
软件系统项目工作总结
一、项目测试进度控制。项目的测试进度主要是按照项目计划进行的,完全按照项目组计划要求完成测试任务、提交测试类相关文档,包括测试案例的完善、制定测试计划、执行测试、缺陷跟踪以及BUG回归测试等。协调项目的内部测试工作,本此项目中测试小组一共组织了四轮次系统全面测试工作,认真配合项目工作,共同保证项目质量。项目测试的问题跟踪及处理采用每日进行修改问题回归测试工作,每日同步更新问题跟踪单的模式,按照规划时间完成系统更新测试。
二、项目组内部成员关系处理。在项目工作的这几个月里大家相处融洽,项目组内部共同探讨解决问题的方法,向各模块负责人学习模块功能处理方式,向业务人员了解系统中涉及的业务知识点,两者结合起来进行模块功能测试。鉴于之前辖内对公交易系统和中行对公项目的经验,也向项目组提出了一些完善性意见。
三、协调用户测试方面。用户验收测试是项目测试工作的重要组成部分之一,是项目验收阶段的最终把关阶段,业务人员结合日常业务处理情况对系统进行的尝试性使用过程。本次项目客户测试方面也是我个人觉得不够安全感一个主要方面,客户测试介入力度太小,尽管我们已经很多次电话催促业务人员测试,每次联系相关业务人员进行测试,他们来到项目组开发现场测试,也仅仅一两个小时时间,简单的进行验证操作即可。xx银行利用两批系统培训的时间安排了两次分行集中测试,也算给项目进行了一次全面的测试,从中也暴露出不少系统存在的问题,目前项目组均已解决。[中国教育查字典语文网 ]
四、个人得失方面。作为此次项目测试的负责人,对于日常的测试流程、测试任务分配、测试执行、缺陷跟踪、协调内部测试及协调客户测试方面能力均得到了进一步提高,理清了项目整个过程中测试小组的工作过程以及后期的项目移交工作。同时也对各子系统相应的业务知识有了更进一步认知。相关业务知识方面还需要进一步加强,测试技能及测试管理方面还需要进一步完善学习。更好的吸收项目经验,做好以后的补丁测试工作及其他项目的测试工作。
在计算机专业教学改革中,我们尝试把项目实战引入到专业的实践教学体系中。项目实战课程安排在第五学期,学生在此之前已经学习了大部分的专业课程,具备了进行项目开发的专业基础。教学时间设定为72学时,教学场所安排在具有职业场景的软件开发实训室。总体上,项目实战划分为三个阶段:演练阶段、实战阶段、创新阶段,各个阶段循序渐进,逐步提升。其中,演练阶段12学时,实战阶段24学时,创新阶段36学时。如果某一项目的完成时间不够充裕,学生可以在课后抽时间去完成。每一阶段都完成一个项目,项目的开发按照企业工作过程来进行。
(一)演练阶段
在演练阶段,选择能够涵盖基本技能的典型项目,并补充软件工程的知识,让学生接触完整的软件开发过程,提供真实情境下的技能演练机会。对于欠缺的知识和技能,学生进行项目驱动式的学习,老师也给学生进行有针对性的辅导。通过演练阶段,让每个学生达到可以开发项目的水平。
(二)实战阶段
在实战阶段,选择相对复杂的企业真实项目,让学生组建项目团队去合作完成。一般3~5人为一个项目小组,每个人在项目小组中担任一种角色,并按照企业工作流程去完成该项目。老师在此期间主要发挥项目指导、监督、评价的作用。通过实战阶段,学生接触到了企业真实项目,达到了积累开发经验、提高开发能力的目标。
(三)创新阶段
在创新阶段,主要选择企业外包项目或学校实际项目,项目的开放性、实用性更强,对开发人员的要求也更高。每个小组的项目互不相同,根据项目难度决定项目小组人数,一般分配5~10人为一组。这一阶段不仅考验专业技术,而且强调创意、创新精神。通过创新阶段,可以进一步提高学生的综合实践能力和创新能力。
二、项目实战教学过程
每个阶段的教学过程,为一次完整的项目开发过程。依据软件开发流程,把项目开发划分为六个步骤,依次为项目启动、需求分析、项目设计、项目编码、项目测试和项目提交。
(一)项目启动
每个项目的第一次课设定为项目启动会议。首先,进行项目分组,老师把全班学生分为若干个项目小组,小组内进行组员角色分配,每个小组选定一名项目经理;其次,老师介绍软件项目,让学生明确项目功能和应交付成果;最后,学生进行小组讨论,制订项目计划,明确分工,安排进度。
(二)需求分析
需求分析就是分析软件用户的需求是什么,即明确拟开发的软件系统有哪些功能,解决做什么的问题。各项目小组在听完老师对项目的介绍后,进一步以讨论、提问、辩论的方式交流信息,探讨思路,明确需求,达成共识,并编制软件需求说明书。
(三)项目设计
这个步骤的主要任务是对如何实现软件系统进行设计,解决软件系统怎样做的问题。小组内部共同查阅资料,展开讨论,进行软件体系结构的设计,包括模块划分、各模块功能、各模块接口、数据库结构设计等。
(四)项目编码
项目编码的主要任务就是我们常提到的软件编程,使用适当的程序设计语言和开发工具编写具体的程序模块。在项目团队中,学生根据各自在小组的分工以及与其他组员的合作形式,按照确定好的工作步骤完成编码任务。当组内成员遇到难题时,要互相帮助,合作学习。在项目编码阶段,编程任务较为繁重,因此要求各项目小组要合理规划项目的编程时间和编程模块任务,各组员要在规定时间内完成分配的任务,以确保项目进度。
(五)项目测试
项目组需要完成单元测试、集成测试、系统测试、可用性测试等项目测试工作,查找和发现软件中可能存在的错误和缺陷,并进行修正,以确保所开发项目的正确性和完整性。事实上,软件测试工作贯穿于整个软件开发的全过程。
(六)项目提交
项目组在服务器上安装和调试项目软件,确保软件能够正常运行。所有学生都要分组进行项目答辩,展示项目成果,回答其他小组或老师的提问。同时,要求提交相应的技术文档,包括需求说明书、设计说明书、用户操作手册、项目总结报告等。
三、教师在项目实战教学中的职责
项目实战是以学生为中心,教师职责不再只是传授知识,而更多的是担任组织管理、技术支持、评价咨询等角色。
(一)项目选取
在项目选取时,要充分考虑学生的学习兴趣,贴近现实生活,而且项目难度要循序渐进,从基础到综 合、从实践到创新,让各项目小组经过努力都可以达到预期目标。根据三个阶段的特点,分别选取不同类型的项目。
(二)项目介绍
为了让学生明确项目任务,由教师向学生介绍所开发项目的基本情况。介绍时,要说明项目学习目标、项目主要任务、项目角色分配、项目成果形式、项目评价方式、完成项目时间等,并提供一个经典的范例项目,供大家学习、参考、借鉴。在学生们进行小组讨论之后,教师要回答项目小组的有关提问。
(三)项目指导
在项目开发阶段,教师要轮流在各项目小组间进行监督与指导,了解学生们参与项目开发的动态情况,对各组的项目进度做到心中有数,以确保整个项目开发计划顺利实施。当一些小组因某些问题而陷入困境时,老师要及时进行指导,但并不是直接帮忙解决,而是通过提出有效的问题,引导学生去找出解决方案。
(四)项目评价
在项目结束时,要进行成果交流和项目答辩,由教师和学生共同进行项目评价。项目评价包括小组评价和个人评价两种形式,既注重项目成果,也关注学习过程。小组评价是对各个项目小组的成果质量、合作情况及平时表现进行评分,综合考察各小组的技术水平、创新能力以及团结协作精神。个人评价是对学生个人在项目开发中的表现进行评分,包括自我评价、组内贡献评价、学习态度评价、能力发展评价等。
(五)项目总结
对于每个项目,都要组织项目总结会。对项目进行总结时,可以先让各项目小组进行自我总结,讲一讲参与项目的收获及反思,然后再由教师进行项目情况总结。在总结中,教师要讲明项目中的关键点,揭示出项目中包含的理论,并分析存在的优点与不足。通过总结,要给学生以鼓舞,增强学生参与项目开发的动力。
(六)项目反馈
对于项目实战课程,建立双向的反馈机制。一方面,老师对每个小组都要给予反馈,对项目情况进行评论,对存在问题提出建议,并写出书面的反馈意见,并且是积极的、建设性的反馈意见;另一方面,对参加该课程的学生开展问卷调查,征求学生的反馈意见,包括学生对课程开设、项目内容、项目难度等方面的满意度,学生在软件流程、业界规范、实现技术等方面的收获,以及学生对项目实战课程的个人建议等。这些反馈意见可作为今后教学改进的方向。
四、项目实战教学效果分析
我们在连续三届的计算机专业毕业班中开展了项目实战教学,应用效果不错,学生满意度较高。在问卷调查中,80%的学生表示,深刻了解了软件开发的过程;90%的学生认为,积累了一些经验,有较大收获。同时,项目组所承接的企业项目也得到了企业单位的肯定。与传统模式进行对比分析,项目实战模式在项目训练方面有如下特点:
(一)学习载体的转变
真实项目不同于日常教学的验证性实验或课程设计式项目,是有着真实意义的任务,因此学生对真实项目更感兴趣,更有成就感,也会更大地激发学生的学习热情和学习潜能。
(二)学习过程的转变
以真实工作过程来组织教学过程,使学生能切身了解职业岗位技能需求,理解软件开发的流程,提高对软件开发的认识。完成项目过程就是积累经验的过程,可以充分锻炼学生的项目管理、开发、测试、编写技术文档等技能。
(三)学习方式的转变
在项目实战中,以自主学习、合作学习、团队协作为主,经常会遇到一些问题,带着问题去学习,对于学习能力的培养非常重要。同时,通过项目团队的工作方式能有效锻炼学生的沟通能力、组织能力以及合作能力。因此,对于计算机专业来讲,引入项目实战是一种有效的尝试,对学生综合实践能力的培养大有益处,教学效果良好。
五、结束语
关键词:软件测试,质量管理,软件工程
中图分类号:O213.1 文献标识码:A 文章编号:
1 软件测试类别及作用简介
软件测试按作用分类,主要可以分为功能测试,性能测试,安全测试等,按测试阶段划分则可分为单元测试,集成测试,系统测试,验收测试,回归测试等。按是否涉及源代码测试又可分为黑盒测试,白盒测试。
下面按作用介绍几类常见的测试:
功能测试:主要按照系统功能说明书软件设计书等资料,验证软件每个功能的正确性,易用性。主要目的是保证软件功能可用,用户使用过程中有一个良好的使用体验。
性能测试:是一种非功能性测试,主要测试软件产品运行的各项性能指标是否达标。如系统反应速度,系统负载能力,系统使用过程中对计算机各类资源的占用情况等,主要是测试系统的健壮程度。最常见的是测试软件功能的反应速度。同样对保障用户使用体验有重要作用。通常使用自动化工具得到测试系统的性能指标,笔者使用的工具为Loadrunner(LR)。
安全性测试:这是经常被忽视的测试方式。很多用户软件使用安全意识淡薄,在用户未提出安全测试的情况下,有些软件开发公司为节约成本也会刻意回避这个问题。软件安全与否并不直接影响用户的使用体验。软件安全测试主要从数据访问,权限管理,防攻击能力,破坏性测试等几个方面测试软件系统的安全。政府部门所使用的软件系统通常,这样的项目进行安全测试很有必要。
2 软件测试与质量管理关系
任何项目实施都需要有质量管理,否则工程产品将无法使用。软件工程更是如此,在软件工程中软件测试是软件质量管理的重要手段也是质量管理流程的重要一环。其实不管软件测试怎样分类,具体的流程怎样操作,软件测试的目的就是为了保障软件的质量。从公司组织层面项目质量管理从制度上对测试流程的完整性加以保障,从项目实施层面,项目内部的质量管理应为软件产品即将的测试做出准备提供便利。
在多种软件工程管理模型中,都将软件测试做为单独的过程纳入到管理体中来,比如CMMI软件成熟度模型,是将软件测试放在产品验证过程域中的,同产评审一起,强调软件测试对产品验证作用。
3 测试组织的建立
人们经常有开发做的较弱的人做测试的印象。这是错误的,主要是由很多软件公司不愿意调拨开发水平高的人在测试上造成的。其实测试人员作为公司于客户之间软件质量最后的守门员,不仅要保证产品功能正确,还要从用户角度对软件产品提出使用建议,根据经验预测用户可能的使用方式以及评价,同时还需同项目经理,开发人员沟通。因此不仅要具备测试理论知识,还需要具备项目经验,熟悉产品业务,了解项目各环节工作,同时具备编码,操作系统,数据库,计算机硬件等方面的有关知识,恰是要求知识构成最全面的岗位。
通常建议测试组应包括至少一名经验丰富的人员。测试组的人数根据公司开发人员总数,公司产品的成熟度确定。如果公司产品已经较为成熟,有固定框架的话,测试人员数量可维持在开发人员总数的十分之一,否则应大于这个数量。
测试组可由测试组长,或者叫测试经理带领几名测试人员组成。测试经理负责测试计划,测试过程监控,测试产品验证等工作。测试人员按要求开展测试工作。
4 测试流程简介
(1)测试工作启动阶段,项目经理提交需求规格说明书和项目计划。测试经理根据提交文档编写测试计划。需求内应包括用户方确认的系统使用环境。
(2)工程管理部对测试计划进行评审。评审通过进入测试流程。不通过则将文档返回项目经理根据项目情况重新计划,直至通过。
(3)系统经过项目经理检查,满足送测要求时,项目经理填写测试申请单,提交概要设计说明书、详细设计说明书和系统demo,澄清测试需求,明确测试环境。其中demo非必须提交。
(4)项目经理指派人员同测试组建立专门的信息交流接口,协调测试过程中的有关事宜。
(5)测试人员执行测试。
(6)记录测试过程中出现的系统缺陷和问题。填写问题跟踪记录表,并交由项目经理确认。
(7)工程管理部根据测试结果决定系统是否系统具备条件。如果不具备条件,则将督促开发人员完善系统并重新执行测试流程。
(8)测试经理编写测试报告并总结。测试活动结束。
流程如图:
以上测试流程主要按瀑布开发模型内的测试流程描述,如果选用别的开发方法,则可以根据情况将流程简化后加入开发中的每次迭代内。
5 结束语
测试工作是保障软件产品质量的重要手段,本文大多内容来自笔者工作经验的总结,仅供参考,有失偏驳之处,还请多加指正。
参考资料
[1] 佩腾 软件测试 机械工业出版社
关键词 高职教育 实践教学 生产性实训
0 引言
当前,高等职业院校正积极开展工学结合人才培养模式的创新与实践,借助校企合作,探索形式多样的生产性实训,将专业教学与实际工作训练有机结合,以提高学生的职业素质、职业意识和职业能力。如何正确构建基于生产性实训的实践课程体系,是目前高职教学改革进程中要解决的重要课题之一。实践教学是职业技能和职业素质培养的一个重要环节。
传统的实训只是针对学生实际操作能力的训练。由于受到校园环境的局限,与真正的企业环境、企业氛围仍有差距。而生产性实训则是对于学生从事某一职业的能力训练。
从学生的角度看,实训教育就是为就业服务的,其本质不是培训而是就业,因此目前多数培训机构的市场宣传策略以“就业”为诉求点,但这实际也是很多培训机构的一个难以言说的软肋。例如某著名培训机构的学生实际成材率不超过20%,多数学生实际上并没有开发能力,培训体系的目标并未完成,对学生的就业承诺难以兑现,品牌认知度下滑。
这些问题归结到最后是要提高实训质量,提高成材率。
1 生产性实训的目标和要求
笔者看来,“实训课程 = 素质 + 技能 + 经验”。实训不止是技能,而是全方面的训练。“实训教学 = 有基础的学员 + 双师 + 三真 ”。基础包括:求知(职)欲、基本的操作基础。如计算机职业应具有基本的计算机操作基础。“双师”指的是培训教师应同时具有讲师兼工程师的双重角色。“三真”则包括:真实环境、真实项目、真实压力。
生产性实训应与企业接轨,是通向企业的出口,是获得“工作经验”的途径。实训要面向企业的用人需求,强调不只是技能接轨,还有综合素质。现在的企业招聘看重工作经验,没有工作经历的学生如何获得工作经验呢?而这也正是生产性实训必须要达到的目标之一。通过实训,让学生理论更扎实,技能更熟练。
如何做好实训,首先,实训项目的选择必须依据市场需求和企业对人才的要求。例如现在市场上大量的中小软件公司需要能快速理解客户业务,为客户熟练开发业务管理系统的程序员,或者市场上出现了很多新生代的web2.0的网站,需要很多掌握rich UI+云计算技术的程序员。而市场需求是我们设计实训项目的主要依据。同时企业对人才各方面素质的要求也是我们设计实训项目的重要依据。其次,实训项目必须以真实项目为主线,以认知规律为指导,课堂教学和项目开发同步推进,在真实企业环境下帮助学生建立融会贯通的知识体系,积累真实工作经验。在引入企业的真实项目之前,必须对其进行改造。企业的项目往往只强调结果,而不重视做项目的过程的知识点的总结和归纳。而课堂教学往往只是知识点的简单堆砌,而不重视和实践结合。对实训项目的改造正是要把两者有机地结合在一起。在真实项目的过程中,穿插相关知识点的总结和归纳,以达到理论和实践的彻底融合。
2 实训过程控制
对于实训过程大致可以分为:(1)筹备阶段;(2)技术培训阶段;(3)实训实施阶段;(4)实训收尾阶段。
根据实训目标,实训对象的水平以及实训需求的不同,对实训的总的时长及各阶段的时间分配都可以做出不同的调整。其中技术培训阶段和实训实施阶段不是顺序进行的,事实上,这两部分是完全可以并行的。传统的实训先理论教学,再进入实训,不符合认知规律。应该在实训中发现问题,通过技术培训培养解决问题的能力。
实训的规范也是我们必须要重视的。规范有两层含义:一个是实训的过程要规范,一个是学生要养成很好的规范。没有规范就不能大批量地培养人才。好比工业产品和艺术品,艺术品没有规范,所以不可复制。而在严格规范下的生产线生产的工业产品则可以大量复制。我们的实训体系,应该做到对于所有的培养对象都是可以复制的。
在实训的筹备阶段,主要工作应是业务培训,即用规范的形式和文档,描述业务,并带学生模拟需求调研的常用形式。通过鼓励学生通过互联网进行调研,并组织学生和业务专家交流。交流的形式要面向实战,搞模拟。给学生布置需求调研的任务,在模拟环境中,由学生完成需求挖掘的任务,编写文档。
在筹备阶段还有一个重要的工作是团队建设,培养学生的团队精神。对于一个陌生团队,首先要破冰。组织学生进行内部交流,也可组织拓展训练,开展团队竞赛。在这一阶段,指导教师应做好实训动员,帮助学生制定职业目标,包括短期的和长期的,指引学生达到职业目标的途径并由此引出实训目标并教会学生扮演好自己在团队内的角色。
在实训的技术培训阶段,要抓住项目需要和学员的现状,综合考虑这两者之间的差距以及学生的认知规律,安排好技术培训的内容和计划,了解学员入训前的技术状况,本项目需要的知识点,列出对比的文档,为技术培训计划做铺垫。培训应根据认知规律做计划,先感性认识,再理性认识,培训和项目同步进行,相互穿插。课堂教学针对项目实践来安排,培训内容的安排需考虑学生已有的知识结构。
在实训的实施阶段,以软件项目为例。一般软件项目的过程流程是:需求分析—项目设计—编程—测试—部署。
需求分析阶段,需强调需求分析的重要性 ,告诉学生需求分析没做好,软件就很难达到客户要求。教师需要抛出一系列问题,引导学生完成任务。如物资管理系统,需要引导学生去了解物资供应站的组织机构、岗位设置等常识。还有这套软件将来由谁来用?已有的系统谁在用?都干什么?用户关心哪些数据?这些数据的处理的业务规则和业务流程?涉及到哪些业务凭证?和哪些系统有关系(系统间的接口)?有哪些非功能性需求:速度、用户数目、数据规模等。当学生通过调研获得答案以后,需教会学生使用模板完成需求分析报告。
在项目设计阶段,教会学生从模仿开始,指导学生完成用例分析、时序图、系统处理流程图。工程师可提供现场支持,确保学生完成任务。与此有关的知识点可在同步的教学中安排,现学现用。
编程开发阶段,要做好进度控制。进度控制是真实压力的体现,可每日进行进度检查,每周,里程碑评比,考核评比与学生学分挂钩,学分与毕业就业挂钩。在开发阶段涉及的知识点也可在同步的教学中安排学生同步学习。
在测试阶段,如果是为了培养测试人员,这个环节则非常重要,如果只是开发人员,则重点做好单元测试即可。在这一阶段需要指导学生学会设计测试用例,根据软件使用中可能出现的各种可能性设计测试用例。
在部署阶段主要是集成测试和用户验收测试,这一部分工作可由专门人员来进行。完成后即可进入实训下一环节。
在最后的实训的收尾阶段主要任务是总结。对于学生而言,总结包括:技术方面的总结、非技术知识的总结、 团队合作的总结、职业素质的总结。在总结后学生应学会如何对用人企业描述自己的项目经验。对于实训教师而言,总结包括:流程优化和改进,课程知识体系的建议,项目管理和实施过程的总结。
1构建《软件工程》课程纵向教学体系
针对《软件工程》教学过程存在的困难,提出构建《软件工程》课程纵向教学体系。《软件工程》课程纵向教学体系包括3个层次:理论教学方面:改进理论教学方法,调动学生主动性,培养学生学习兴趣;实践教学方面:结合具体项目,训练学生运用相关原理指导软件开发的全过程,提高学生灵活运用所学理论知识解决实际问题的能力;课外实训:校企合作,使学生深入企业项目开发,培养高素质软件工程人才。
1.1案例教学法在理论教学中的应用
案例教学法,是指教师在课程第一次授课前选取一个完整、难度适宜的软件开发案例;然后分阶段的在每章理论授课结束后,结合所讲章节的理论知识提出与章节内容相关的有引导性作用的问题,让学生认真分析、研究案例,开展问题研讨会,并为学生分配任务,使学生在课后收集相关资料,指导学生运用所学的相关原理来分析案例,并在规定的时间内(两周后)提交案例分析或设计报告,调动学生的学习主动性,培养学生的学习兴趣的教学方法。教师在理论授课时,注重构建学生的知识体系。在学习章节内容前,说明本章节所涉及的专业基础课程及学生所需要具备的理论素养,给学生布置任务,重新学习涉及的专业基础知识;理论授课时,把章节理论知识与已学基础课程知识相结合,根据课程例题,详细讲解理论知识,并注意提示学生已学知识在例题中的运用,从而深入浅出,帮助学生把已学知识和章节理论知识结合起来,形成知识网络。在需求分析章节的分析系统的数据要求处,指明分析系统的数据要求,通常采用建立数据模型的方法。抽出部分学生按照他们准备的PPT来详细讲解以上问题,不足之处让其它同学补充。课后,教师把准备的问题解答PPT发给大家,使学生查漏补缺,建立知识网络,打下扎实的理论基础。章节授课结束后,通过案例教学法,训练学生灵活运用所学理论知识体系解决实际的问题的能力,给同学们列出需求分析报告--需求规格说明书的提纲,要求每个学生提交一份需求分析报告。比如,案例--学生公寓管理系统,请大家运用需求分析章节所讲的知识,深入学校公寓针对学生、公寓管理员做需求调查(要求灵活运用几种所讲的需求调查方法:访谈、问卷和场景),召开需求评审会议,验证需求的正确性与有效性,两周后提交需求规格说明书。
1.2项目驱动实践教学,理论联系实际
在理论授课结束前,老师提供若干个难度适中、开发时间在一个月左右的题目。学生以小组为单位(通常5-8人)组建自己的软件开发团队,并推选小组长,负责项目管理,根据小组成员的兴趣和爱好选择一题。团队成员应均衡,以便做好分析、设计、编程及测试的分工。小组成员之间相互合作,开始实践教学环节。选择结构化或面向对象的软件工程方法,按照软件开发生命周期的各个阶段,分阶段有顺序的进行软件项目开发。每位小组成员都要参与各个阶段的软件开发,每个阶段各个成员的任务由组长分配,管理。每个小组成员全程参与软件工程的各个阶段,把理论知识运用到实践项目的开发,由项目驱动实践教学,真正用所学理论知识指导项目的开发,为学生深入理解并灵活运用理论知识提供了良好的实践机会,提高了学生的动手能力。实践环节结束,每个小组提交与选题对应的已实现的系统,并提交相关的设计文档。如开发小组选择面向过程的软件工程方法,需提交可行性研究报告、开发计划、需求规格说明书、总体设计的相关文档(系统说明、用户手册、测试计划、详细的实现计划以及数据库设计结果)、详细设计的相关文档(流程图及人机界面设计资料、用户帮助设施设计资料)、实现及测试总结、项目总结等。通过项目实践,学生会深刻认识并理解掌握所学理论知识,并且可以结合自身特点和软件工程的相关就业方向(前台开发、后端设计、测试、维护等),确定自己的未来职业发展方向,继续深入学习,拓展自己的专业知识深度,为就业打下坚实的理论和实践基础。
1.3校企合作,培养高素质软件工程人才
经过实践环节,学生对未来职业发展方向有了初步选择。在大四学期的实习环节,学校与相关合作企业进行对接,学生结合专业兴趣和职业发展方向,选择合适的企业进行校外实习。校外实习一般分三个阶段:理论知识的巩固与强化学习;职业定位方向核心技术学习;以团队为单位,参与实际项目,培养学生的动手能力和团队精神;结合以上三个阶段的学习内容,独立完成一个实际商用项目。举例:如果职业定位为J2EE软件开发,校外实习的第一阶段学习JAVA语言核心内容,Oracle数据库技术,WebCilent编程和WebServer编程,结合具体项目把以上知识运用到实际项目的开发中。第二、三阶段贯穿项目深入学习JVAVEE企业级框架。第四阶段以开发团队小组成员的身份参与一个实际商用项目开发,使学生综合运用所学知识解决实际问题。如果职业定位为软件测试,第一阶段学习测试基础并结合企业内部开发的自动化测试管理平台进行理论知识强化。第二阶段重点学习系统测试的相关技术,并结合具体项目使学生参与系统测试,编写与之相关的需求规格评审,系统测试计划、测试方案、测试用例、测试报告等文档资料。第三阶段学习软件功能测试自动化和性能测试技术,并学习企业使用的主流测试工具进行相关项目的自动化测试工具。第四阶段结合实际商用项目,综合运用所学知识,运用相关的自动化测试工具,进行项目测试,编写相关测试文档。通过项目实训,使让学生深入项目开发,把学生培养成专业理论知识扎实,动手能力突出的高素质软件工程人才。
2结语
针对软件产业的人才需求背景,以高等教育行业的改革为契机,结合当前《软件工程》课程的教学现状和存在的困难,提出构建《软件工程》课程纵向教学体系的新思路,为应用型人才培养模式提供有益探索。
作者:王春丽 单位:河南城建学院计算机科学与工程学院
关键词:敏捷模式;持续集成;TDD
中图分类号:TP311.52
随着我国软件开发项目的规模日益扩大,客户的需求也在不断变更,软件交付周期在保证质量的情况下尽可能缩短,在这些因素的影响下,不断地让我国传统的软件开发方法的开发成本不断的提升,之前传统的软件开发的方法已经满足不了现代软件开发的总体需求。
传统的软件开发方法有瀑布模型、螺旋模型、喷泉模型、RUP(Rational UnifiedProcess)四类,它们注重文档的完整,程序的易读性,结构的完整性,属于重型软件开发方法,被广泛的用在公司的软件开发中[1]。
为了满足市场需要以及客户的需求,解决以上描述中软件开发存在的诸多问题,为此,我国软件开发业研发出了一种新型的软件开发方法,这种软件开发方法具有快捷、轻便的思维方式,同时还会快速的解决传统软件开发企业中地下的生产效率,而这一软件开发方法也在最短的时间内得到了快速的推广,我们称这种新型的软件开发方法为敏捷软件开发(Agile Development)方法。
所谓的敏捷软件开发(Agile Development)方法其实就是以人为核心、重复、循序渐进的新型开发方法。当我们在敏捷软件开发的过程中,我们需要将敏捷软件项目的构成进行分割,将项目构成分割成多个子项目,接下来,需要对每一个子项目的研究成果进行分别的测试,这种做法的主要目的就是为了让软件项目构成的每一个子项目都具备集成和可运行这一特征。换一种说法就是讲一个大项目分成为很多个相互连接,同时,他们还可以成为一个独立运行的小项目,可以完成不同的任务,在这整个过程中,敏捷软件开发项目的状态是可使用状态。我国业界专家针对企业目前的状态提出了一些可以让软件开发团队具备快速工作、相应变化能力的价值观和原则,同时,他们还成立了敏捷联盟,是在2001年的刚开始的时候。
1 敏捷开发流程介绍
测试驱动开发(Test-Driven Development)在敏捷软件整个开发过程中占有非常重要的地位。ThoughtWorks中,不管是哪一个功能,首先需要做的就是对其进行测试。第一,我们需要对业务的需求进行简要分析与概括,然后对业务需求进行分解,之后就会得到了很多Story,然后将所有数据都记录在StoryCard中。之后,两个工作人员坐在电脑前进行操作,一个从业务需求的角度编写测试代码,而另一个人看着他进行操作,并在那个人进行编写测试代码的时候进行思索,假设,那个人才编写测试代码的过程中产生了自己独到的见解,这个人就提出来,两个人进行商讨,当商讨的意见相同后,那么,在这种情况下所编写出来的测试代码才可以准确无误的反映出业务功能需求。接下来就由另一个人对电脑进行控制,编写测试代码的实现。假设,我们没有测试代码,那么,编写功能实现代码就形同虚设。因此,我们首先需要做的就是测试代码的编写,让敏捷开发人员有一个前进的目标,通过测试。
还没有敏捷软件开发方法之前,传统的软件开发过程中都会存在集成这一个程序,而这个程序是非常领人头疼的问题,因为软件集成的时间比较长,而在集成的过程中会出现很多影响因素,例如build未通过或者单元测试失败。当敏捷软件开发方法踢出来后,敏捷软件开发中提倡持续集成(Continuous Integration),持续集成可以在一天当中集成很多次,这种频繁的集成方式可以降低冲突,因为集成的频率比较高,每一次集成所改变的也比较少,所以,集成失败也就是定位失败。进行集成需要做到所有的源代码、运行的单元测试、功能测试和编译源代码;当确认编译和测试没有通过后,就会将报告发送出去。我们在进行集成工作的过程中还可以进行其他工作,即代码分析以及测试覆盖率等。
重构(Refactoring)是在对软件系统内部结构进行整理和优化,不会改变系统外部的构成,让代码可以简单化。在传统的软件开发的过程中,主要是有需求才来,可是,现在的系统架构不会那么容易实现,因此,我们就需要对原有的软件系统内部结构进行重构;再者就是还有剩余时间的时候,对代码进行重构。但是,重构在敏捷软件开发的整个过程中。重点:进行重构中,每一次的改变不应太大,用单元测试保证重构不会引起不良,这样不仅可以实现代码重构,还会对测试代码的重复进行重构。
结对编程(Pair-Programming)。在敏捷软件开发的过程中,不管是什么事情都是结对的。结对做事存在很大的好处,两个人在一块讨论会产生意想不到的效果,不会走弯路。
站立会议(Stand up)。在每天上班后项目小组的所有成员先进行站立会议,因为站立会议是成员站立的状态下进行的,所以,我建议,站立会议的时间不应太长,尽量控制在15-20之内。站立会议的内容主要有三点,依次是:第一个问题是:你昨天都做了些什么?第二个问题是:你今天需要做什么?第三个问题是:在工作中你都遇到了什么困难?通过这种形式让每位成员进行交流,相互了解彼此的工作内容。
较少的文档(Minimal Documentation)。在敏捷软件开发中有大量的测试文档。测试代码贴切的反映了客户的需求和系统API的用法,如果项目小组来了位新成员,让其了解快捷项目的最好办法就是让新成员看测试代码。如果用书面文档的形式,万一代码发生改变,那么文档就必须要更新,如果及时更新,就会出现差错,让人费解。在敏捷中这种情况就不会出现,因为测试改变,代码也会随着改变,测试可以反映代码的真实情况。
2 日常项目管理
目标:形成团队成员自发地回顾、总结、重计划,发现问题及时主动闭环改进,真正形成自组织的团队。
动作:
(1)计划会议
输入:已经讨论、评审通过的MSL(MASTER STORY LIBRARY)。
划分迭代:根据业界标准敏捷对迭代的划分方式,结合我们自身情况,决定采用两周一个迭代。
将MSL中的每一个STORY通过价值、风险进行优先级划分,高价值及高风险>高价值及低风险>低价值低风险>低价值高风险,划分为高、中、低三种优先级,然后再把划分好优先级的STORY大概划分到每一迭代中,生成整个计划,其中,仔细考虑划分在第一迭代的STORY,后续迭代的STORY可以在迭代计划会议时调整。
对MSL中的每一个STORY都进行工作量/规模估计,估计方法采用STORY POINT的DELPHI相对估计法;(相对估计法详细介绍请看南京敏捷顾问项目第二周回顾)。
(2)迭代计划会议
重新估计STORY的优先级,确认、调整在该迭代中实现的STORY,细化讨论每一个在该迭代中实现STORY的实现方案、重新估计工作量;
(3)迭代回顾会议
回顾会议一般是在迭代结束时召开,主要是总结本次迭代有哪些好的实践可以在后续迭代中继续传承下去,总结本次迭代有哪些做得不足的地方,可供后续迭代吸取教训,要求所有成员全部参加;最后发现的问题要给出解决措施并让大家认领,当场确定出跟踪机制,认领后责任人定期汇报解决进度,最后要形成解决闭环。
在回顾过程中,为了能够让分析过程更有效,要注意聚焦问题根因,先使用20%的解决措施解决80%的问题,其它问题后续再重新分析解决。
实际上在类似迭代回顾会议等总结、分析行动中,头脑风暴、5WHY法、因果图法、柏拉图等质量方法就展示出威力,为项目分析、解决问题提供了很好的帮助。
参考文献:
[1]W.B.Arthur.Increasing Return and the New World of Business[J].Harvard Business Review,1996(74).
【关键词】外语;教学;考试
随着国际化全球化的趋势日益明显,作为思想的载体和信息传达主要方式的语言是国际化交流的主要工具,外语学习就成为各国科技文化交流的基础。为了考核外语人才的语言运用能力和满足社会生活的需求,我国目前组织了大规模的各类外语考试,既有面向社会的国家英语等级考试,也有针对学生的高中英语会考,高考外语,大学外语四、六级考试,外语专业四、八级考试,研究生外语考试,还有职称外语考试等等。而作为衡量外语教学成效和提高外语教学质量的重要手段之一的学校教学考试也不容忽视。
一、考试目的和作用
语言测试的主要目的是对被试语言能力进行准确、公正的测量与评价。2014年10月30日“国家外语能力测评体系建设启动会暨中国英语能力等级量表研制总体方案论证会”上获悉,我国启动首个国家外语能力测评体系建设,提出制定国家外语能力量表,明确外语能力标准和制定适合我国国情的外语质量标准,规范大规模外语考试,建成一套覆盖大中小学各教育阶段、覆盖听说读写译综合能力、覆盖各种形式外语学习成果的评价系统,使我国的英语教学和测评“车同轨、量同衡”,推动分级教学,实施因材施教,提升外语教育成效,以更好地满足人才培养和选拔的要求,为政府行政决策、学校教学改革、用人单位外语评价等不同需求提供服务。
学校外语教学考试是外语教学的重要组成部分, 是衡量外语教学成效和提高外语教学质量的重要手段之一,了解学生语言掌握程度和语言运用能力, 及时调整教学方法和教学进度, 有效提高教学质量。自从1967年美国著名评价学专家斯克里芬(Scriven) 提出形成性评价(formative assessment),各中高等院校的英语教学逐步广泛应用这一评估方式, 并配合总结性测试, 以达到教学与测试为一体, 教学质量不断提高的目的。学校外语教学考试正是结合了形成性评价和总结性测试诊断教育方案或计划及教育活动中存在的问题, 为正在进行的教育活动提供反馈信息, 以提高实践中正在进行的教育活动质量的评价。布鲁姆(Broome)曾经明确指出, 教学考试的主要目的是考查了解给定的学习任务被掌握的程度、未掌握的部分, 它的目的是为了帮助学生和教师把注意力集中在为进一步提高所必需的学习上,既指向正在进行的教育活动, 也针对教育活动全部过程。它既是分析性的, 严密交织在教学过程中的, 强调教师和学生的信息反馈, 能帮助查找教学和学习中存在问题的原因, 便于及时采取全新的或补救的措施;也是总结性的,以便决定是否需要对教学和学习活动及时进行调整。学校教学考试中的形成性评价旨在反映与培养学生的能力结构,总结性测试反映出学生知识的获得和认知加工技能,为了逐步培养学生的能力。
只有建立在对语言测试理论的内涵及其基本要求、 测试的类型、现状、缺陷等充分了解和思考之上的,学校考试才能真正做到科学、合理、有效的测试,充分发挥测试的教学正面反拨作用。反拨作用( Washback)是语言测试的后效,专指在教育领域中语言测试对外语教与学的影响或反馈作用。考试对教学产生两种不同的反拨效应:有促进作用的正面反拨和有消极作用的负面反拨。正面反拨作用能推动教与学的发展,而负面反拨则会使教与学走入歧途。科学有效的学校考试可以与教学和学习形成良性互动。其一,测试服务于教学又影响教学,科学的学校考试可以为师生提供正确的反馈信息,通过测试,教师可以认识到教学中的问题,进而对教学计划、教学内容进行调整,改进教学方法。其二,学生通过测试可以掌握自己对知识的掌握情况,促进学习的积极性,增强学生学习动力。
二、测试信度
语言测试的信度(reliability)是指考试结果的可靠性和稳定性。也就是指同一考生在不同考次或不同测试条件下使用同一个考试,或使用平行试题进行考试,所获得的分数(如果不计测量误差) 具有一致性。(刘润清:210)
大规模外语考试的信度做到以下四个方面的标准化:试题编制标准化、考试实施标准化、阅卷评分标准化以及分数转化与解释的标准化。为了保证测试的信度,必须制定考试规范、命题准则,专业培训命题人员,题目必须经过“命题―审题―试测―试题项目分析―终审―拼卷”,整个周期需要超过一年的时间,证明每道试题的质量都是可靠的、且难易程度和区分度都在控制范围以内,然后用于实际测试。
为了得到学校考试对教学的积极作用,Hughe给语言教育者提出了建议:首先,测试你希望学生提高的那部分能力;其次,测试相关能力的时候,尽可能多地给学生任务来完成;第三,使用直接测试方法;第四,使测试标准参照型;第五,教学考试应基于教学目标;第六,确保考试被学生和老师了解;第七,有可能的话,给教师提供辅助培训。题目可由多个英语教师试做,可先期发现试题中出现的问题,并增加试题的信度。
三、测试效度
测试效度(validity)亦称测试的有效性,指一套测试对应该测试的内容所测的程度。也就是说,一套测试是否达到了它预定的目的以及是否测量了它要测量的内容。
大规模外语考试不仅应试者人数众多,而且考试结果可能影响考生的命运,所以它的设计、开发和实施有一定的质量标准,以保证命题的科学性、评分的一致性、组织的严密性,成绩具有可比性和可解释性。因此,专门的考试机构遵循专业的质量标准,由经过训练的专业队伍开发、设计和实施以确保考试的公平公正。从设计开发、命题、施考,到成绩发放包含诸多环节,每一个环节的失误,都会对考试的结果产生不可弥补的影响,必须为每一个环节制定相应的专业标准,以规范教育考试行为,这样的标准将为评价一项考试及其实施的后果提供依据。我国在参照国际上的已有经验,结合我国实际,也在制定我国自己的教育与心理测量标准。
学校外语教学考试主要是对学生所学知识的综合运用能力的考察,真实地测试出学生对信息的捕捉能力、理解能力、概括总结能力,语言表达运用能力。为了保证测试试卷的科学化、规范化,能客观公正的评价教学质量,使测试积极反拨于教学,考题效度注重的是以下几点:1)符合教学大纲的要求。内容上有相当的覆盖面和侧重点,难度与学生的实际水平相吻合,但不会为了增加及格率而人为的降低难度。2)测试项目保持相互独立。这要求受试者对一个测试项目的反应不影响其它测试项目的反应。3)题项内容不对答案有提示作用。4)时间的控制和题量分配恰当。如果标准考试时间为120分钟,而大多学生在30分钟就交卷或120分钟后都没有答完试卷,就表明此次测试失败。5)主客观题型的比例得当,做到既重知识又重能力。6)建立完善的测试试题库。考虑到学生的学习环境,学习材料和学生特点等因素,适时适量地安排阶段考核并完善考核方式,帮助教师和学生及时发现这总结教与学中的问题。
四、小结
无论是大规模外语考试还是学校的教学考试,都需根据考试的目的和作用,不断完善考试管理体制,尽可能做到考试内容涉猎的广泛性和考试方式的多样性,规范试题的设计,难易程度适中,选材广泛,分值分布合理,评分标准设计合理,机考规范。在保证测试的系统化和标准化的同时,做到高质公平并不断验证改进。
参考文献
[1]蔡基刚.大学英语四六级写作要求和评分标准对中国学生写作的影响[J].外国语学院学报,2002,(05) .
[2]陈静,车丽娟.论测试模式变革对大学英语教学的影响[J].东北财经大学学报,1999, (06)
[3]付英,李鉴.大学英语校内测试信度、效度分析[J].读与写杂志,2011,(06).
[4]何林.大学英语校内测试对英语教学的反拨作用[J].吉林工程技术师范学院学报,2006, (08).
[5]李兰兰.浅析加强大学英语测试中信度和效度研究的必要性[J].长春教育学院学报, 2014, (09).
[6]刘润清,韩宝成.语言测试和它的方法[M].外语教学与研究出版社,1991.
[7]孙文敏.英语语言测试的改革与英语教学[J].洛阳师范学院学报,2008, (04).
作者简介
孙丽红:性别:女,籍贯:内蒙古赤峰市,出生年月:1978年1月,学历:研究生,职称:讲师,工作单位:呼伦贝尔学院。
《浅析大规模外语考试与学校教学考试》属于中外语言测试与研究项目》
课题名称:中外语言测试与研究
课题编号:Y BKT―004
关键词:CDMA;网络割接;工程管理
中图分类号:TB657文献标识码:A文章编号:1009-2374 (2010)10-0108-02
2008年11月,百色电信根据电信集团公司及广西分公司要求,在4天内完成89个原摩托罗拉基站设备的替换工作。由于这89个基站分布在8个县区,站点分布距离较远,如何做好工程项目管理按时完成割接任务,需进行详细的规划及安排。
一、割接前的工程准备工作
因时间紧,工程量大,故需协调工程施工队、设备厂家、网络优化队伍、系统网等队伍,确保割接按时、按质完成。
本次割接设立了专项工作组,由电信公司和华为公司共同投入大量精英,同时明确各专业队伍的分工,使其各司其责。此次割接,广西电信公司安排现场指导人员4名、电信百色分公司现场指导2名、电信百色分公司传输及核心网协调4人、贝尔厂家专家1人、BTS施工8组、应急2组人员,华为公司投入项目经理1名、无线技术专家2名、研发支持2名、核心网支持1名、BSC督导4名、BSC应急1组、进度通报1人、现场割接协调监控1人、BTS督导10名、网优总指导2名、网优技术专家5、网优人员15人。
二、网络割接中的工程项目管理
由于参与割接的人数、队伍较多,必须做好相应的管理及协调工作。如何做好管理成了割接成败的关键。
(一)制定网络割接流程
为了确保各项工作顺利开展,制定了3类现场沟通流程,主要有:正常割接流程、问题处理流程、数据修改及倒回流程。总流程图如下:
1.制定详细的割接方案。割接方案是否完善、可行,是能否按时、按质完成此次割接替换工作的重点,因此,割接方案应经过多方讨论与可行性评估。此次割接方案经过百色电信分公司、广西电信分公司、华为公司三方进行研讨分析,确定了此次割接方案。割接方案包含信息如下:
表1
序号 方案内容 序号 方案内容
1 割接范围和时间 3 网优组织结构
2 割接期间网优工作概述 3.1 网优项目组结构(日常)
2.1 数据核查 3.2 割接期间组织结构
2.2 网络测试 4 人力资源计划
2.2.1 基站簇划分 4.1 总体计划
2.2.2 DT/CQT测试 4.2 具体名单
2.2.3 测试数据分析 5 工作分解WBS
2.3 网络割接 6 测试路线
2.3.1 割接监控内容 6.1 乐业县
2.3.2 割接模板和工具 6.2 那坡县
2.3.3 B侧需要配合的事情 7 测试车辆仪器
2.3.4 直放站厂家需要配合的事情 7.1 乐业测试组
2.3.5 割接当晚的脚本执行顺序 7.2 那坡测试组
2.4 问题处理 8 风险和常见问题分析
2.5 性能提升 9 总结
2.制定现场割接故障指导书。制定现场割接故障指导书的目的是使割接人员在遇到类似故障的时候能迅速定位故障原因,缩短故障历时,以便顺利完成割接替换工作。故障指导书是大量割接过程中遇到问题的经验总结,具有很好的实用性与指导性。故障指导书包含的内容如下:
表2
项目 故障现象
1 Abis传输不通或者误码高
2 基站不能正常工作(不能正常启动,BSC侧无法维护基站)
3 载频不开工
4 语音问题(单通或者双讲不通)
5 语音问题(语音断续或者杂音)
6 掉话率高
7 单板故障大面积影响业务
8 1x data传不动
9 接入失败或者困难
10 大面积用户打不了电话处理方法
11 大面积出现掉话与语音质量问题处理方法
三、结语
此次割接涉及两个运营商,再传输完全利旧,割接当晚同时进行传输割接,站点无法提前调试,基站必须割接当晚一次性远程调试成功,割接风险高和边界区域广等苛刻条件下,项目组合理安排人员、内部职责分工明确,团队协同作战能力、凝聚力、执行力强,提前1周完成方案制作,多方协作,反复核对与审核验证,同时用测试站实际测试校对、现场每条传输提前逐段测试,在割接资源准备上提前1周落实割接、应急、排障车辆,落实客户各部门参与人员安排并召开内部动员会,明确割接整体安排,经过4天的连续作战,百色本地网顺利完成割接,各项网络指标运行稳定。
通过此次割接的工程组织管理,使我们积累了大量的工程割接管理经验,为后期各个分公司进行网络割接提供了宝贵的经验,为中国电信顺利进行大规模网络割接开了个好头。
参考文献
[1]罗捷.信息技术项目研究管理应把握的三个关键环节[J].科学管理研究,2000,18(2).
[2]景新海.中国IT企业实施项目管理的思考与实践[J].电脑知识与技术,2000,(11).
本文简要分析了将软件工程项目应用到商业银行中的相关背景,结合软件工程项目开发的基本流程,主要阐述的是商业银行中软件工程项目开发的七个重要阶段的主要内容、操作要点和注意事项,最后总结了软件工程项目管理对于商业银行正常运行和健康发展的重要意义,旨在提高软件工程项目在商业银行运用中的管理质量,从而提高商业银行的市场竞争力和促进商业银行健康发展。
【关键词】商业银行 软件工程 质量控制
1 将软件工程项目运用到商业银行中的相关背景
随着我国改革开放的不断深入和市场经济的持续发展,全球市场经济正逐步的向一体化方向发展,特别是在加入世贸组织之后,我国商业银行的运行模式与发展模式都较大程度上受到了外资银行融入所带来的影响,传统的商业银行运营模式面临着巨大的挑战,也由此一定程度上促进了软件工程项目管理和质量控制体系的发展。软件工程项目的管理和质量控制作为一个新兴的学科,在商业银行对其应用过程中充满着许多未知性,也因此充满着实践性。商业银行中的系统性软件以及其它各类业务范围的不断增加与更迭很大程度上推动了软件工程项目的质量控制与管理模式的发展。所以软件工程项目的有关工作人员,包括软件设计者、程序员、测试维护以及软件的后期管理人员要不断学习软件工程质量控制方面的新知识和新理论,注重实践,严格遵照相应的程序设计来提供软件项目的管理质量,促进软件项目的健康发展,从而大幅提升商业银行的运行效率和市场竞争力。
2 软件工程项目开发的主要步骤和操作要点
软件工程项目的开发是一个持续时间较长、内容较复杂的过程,通常将软件工程项目的开发过程分为以下七个阶段:
2.1 分析开发需求阶段
软件工程项目开发需求分析的首要工作是对用户的需求进行准确的市场分析与定位。有效的需求分析工作,可以一方面节约软件开发时的资金成本和时间投入,另一方面可以保证软件开发完成之后的实际利用率。软件项目按使用范围通常可以分为专用软件和通用软件两类,一般商业银行所使用的就是一种专业软件。根据经验,软件的用户在软件开发开始进行之前应该已经掌握了一些该软件的相关信息,软件的开发者要在开发之前对用户的需求进行具体的分析,并积极与用户进行交流讨论,从而最大程度的避免软件开发过程中一些低级错误和漏洞,减少不必要的成本投入。对于通用软件来说,在开始开发之前要对产品进行仔细、严格的市场调查,这样做不但是为了了解产品可以带来的经济效益和潜在市场价值,也是为了了解软件的潜在用户对软件的各种需求。
通过对软件开发的需求进行合理的分析,可以依据客户的具体需求,对该软件的具体功能、性能及运行环境进行充分的理解和掌握,从而大幅提升软件开发成功之后的使用效率。
2.2 概要设计阶段
概要设计阶段的主要任务就是确定开发软件工程项目具体需要用到的程序语言、操作系统以及运行平台等因素,并对这些因素进行概要设计,此外,还要根据实际情况选择恰当的瀑布式开发方式,从而通过特定的市场需求进行潜在编程和模型的选择。与此同时,还要具体分析特定编程项目的设计编码等数据,并建立科学的分析文档。除此之外,目标系统结构中的模块和接口、软件和硬件配置、数据具体结构等设计工作也需要在概要设计阶段完成。
2.3 详细设计阶段
在此阶段,需要根据实际情况对分析模型做一些必要的修改,促使修改的原因有很多,比如编程环境的需求、详细定义界面部分或数据库部分等等。目前很多编程语言都以及实现了界面的可视化设计,所以界面的设计工作通常在编码阶段进行。具体来说,软件开发的详细设计阶段就是要在概要设计的基础上对软件的体系结构进行细化至软件单元,然后对每个软件单元及其外部接口、输出和输入、流程逻辑、算法应用、性能描述、资源占用以及调试和测试计划等内容进行细致的数据库设计。
2.4 编码与软件单元测试阶段
在软件开发人员的分工工作中,要根据项目开发所使用的工具和方法,结合开发人员的技术特长及技术掌握熟练度来进行合理的分工。软件单元和数据库的开发一定要严格遵照相关技术的操作规范和操作步骤进行,同时为每个软件单元和数据库的测试设计特定的测试流程和参数。编码过程要应用已经确定的程序语言和工具,并严格依照系统的详细设计进行。最后要按照软件单元的测试计划依次对每个单元进行测试,并撰写测试结果报告。编码过程中可能会发现之前分析和设计阶段中存在的一些问题,这时要及时返回到之前的A段对问题进行解决。
2.5 集成及联合测试阶段
在确定每个软件单元的测试结果都符合要求之后,就可以将各软件单元、硬件和模块、网络及其它系统必需的资源一起整合集成到系统中去,然后就按照测试计划对系统进行集成测试,对测试结果中不符合预期和使用要求的地方要及时进行修改,直至所有指标都满足系统试运行的要求。
2.6 系统试运行阶段
在系统试运行开始之前,要根据实际情况选择合适的试点,开发人员要与试点用户共同合作做好系统的试运行工作,为试点用户提供软件运行所需的安装和操作条件并协助他们进行软件安装,同时对他们进行必要的软件操作培训。在系统进行试运行的时候,开发者要随时关注系统的使用情况及相关技术指标,并做好相关数据的记录,最后根据试点用户反馈及记录情况对系统的试运行效果进行分析和评估。
2.7 后期维护阶段
新开发软件程序投入到实际运用中之后,要做好软件的后期维护工作,并根据实际情况对软件程序进行必要的修改。软件工程的后期维护工作主要分为三个步骤:首先分析和理解软件工程程序,其次是修改程序,最后是对程序进行重新验证。
3 总结
总而言之,软件工程项目管理与质量控制工作对于推动商业银行的发展具有重要的意义。所以商业银行要不断提高其软件工程项目的管理水平,严格按照有关规范进行软件的开发与设计,保证软件运行的准确性和应用率,从而提高商业银行的市场竞争力。
参考文献