首页 > 文章中心 > 测试团队工作计划

测试团队工作计划

测试团队工作计划

测试团队工作计划范文第1篇

随着计算机软件技术的高速发展,软件测试在软件开发过程中的地位也越来越重要,软件测试是保证软件质量和可靠性的重要手段之一,软件测试人才需求猛增,软件测试已经成为计算机专业的重点专业课程。传统的软件测试教学模式,测试理论和测试实践严重脱节,不能很好的满足软件企业对测试人才的要求。依托广东东软学院的特色教学实践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.

测试团队工作计划范文第2篇

关键词: 敏捷开发;SCRUM;软件开发模型

中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2013)13-3043-04

1 传统软件开发模型

传统的软件开发模型有瀑布模型,V模型,增量模型,迭代模型,螺旋模型,快速原型模型等。其中瀑布模型是最早出现的软件开发模型,1970年Royce提出,直到80年代早期,它一直是唯一被广泛使用的软件开发模型。瀑布模型的核心思想是将软件的生命周期分成可行性分析与计划、需求分析、软件设计、编码、测试及运营维护等六个阶段,每个阶段按照线性方式进行,当前阶段接受上一阶段的工作结果,实施完成所需的工作内容。当前阶段的结果需要验证,验证通过后,该结果作为下一阶段的输入,否则返回修改。此模型有很多变体,例如V模型等,但其典型性是只有当当前阶段的文档获得认可才可以进入下一个阶段。例如,在开发初期制定详细的计划,在计划中最终产品己被仔细研究,并且拟定规模说明,将一切详细资料都记录在案,通过验证后需求分析才算结束,然后进入下一阶段,也就是设计阶段。传统开发模型的主要缺点有:

1) 其突出缺点是适应不了一直变化的客户需求。现实中的项目在进行时,客户会不停的修改需求或者增加需求,导致项目开发滞留在需求分析阶段,无法有效地进入下一阶段,最终导致产品被延期。

2) 传统开发模型的线性过程过于理想化,早期的错误可能要等到开发后期才发现,例如设计阶段发现需求的错误,测试阶段发现需求或者设计的错误等,特别是开发后期才发现需求的错误,会带来非常严重的后果。

3) 客户在产品计划阶段提出需求后,直到产品Alpha/Beta测试才能见到产品,发现与预期的相差甚远,提出大量的改进需求,最终导致产品不成功或者被延期。

4) 传统开发模型的可行性分析与计划阶段要求明确需求,从而制定产品的计划与进度表,同时明确产品的成本及预算。但对于需求经常变化的项目,该阶段的成果没有任何意义,最终导致项目进度、成本等不可控。

2 SCRUM敏捷开发方法

敏捷开发是一种开发方法学,可以应对客户快速变更的需求。它强调以人为核心,采用迭代的方式,循序渐进地开发软件。敏捷开发方法强调以人为本,专注于交付对客户有价值的软件。在高度协作的开发环境中,综合使用迭代式和增量式开发方法,使用反馈来进行思考、反省与总结,不断地实现自我完善,从而达到软件的完美交付。

Scrum是被广泛使用的敏捷开发方法之一。Scrum是在十多年前由Ken chwaber 和Jeff Sutherland博士共同提出的,现在此方式已被众多大中小型企业使用,其中包括摩托罗拉、谷歌、雅虎、微软、华为、思科、SAP、GE等。Scrum是一个敏捷开发框架,是一个增量的、迭代的开发过程。在这个框架中,整个开发周期被分成若干个小的迭代周期,每个小的迭代周期称为一个Sprint,一般最多以30天为一个周期。在Scrum中,使用产品Backlog来管理产品或项目的需求,Backlog定义产品的所有任务,包括功能性和非功能性的任务。在定义Sprint时,Scrum开发团队从产品Backlog中挑选最有价值的需求进行开发。Sprint中挑选的需求经过Sprint计划会议上的分析、讨论和估算得到一个Sprint的任务列表,我们称它为Sprint Backlog。在每个迭代结束时,Scrum团队将产生可交付的产品增量。

Scrum定义的主要角色有:

1)产品负责人(Product Owner):该角色负责产品的远景规划,平衡利益相关者(stakeholder)的利益,确定不同的产品需求和优先级等。它是开发团队与客户或最终用户之间的联络点。

2)利益相关者/客户(Stakeholder):该角色与产品之间有直接或间接的利益关系,通常是客户或最终用户代表。他们负责收集产品需求,审查项目成果等。

3)Scrum负责人(Scrum Master):该角色负责指导开发团队进行Scrum开发与实践。它也是开发团队与产品拥有者之间交流的联络点。

4)团队成员(Team Member):即项目开发人员。

Scrum定义的标准流程如下:

1) 根据客户需求,定义产品功能列表Backlog以及每个功能的优先级。

2)召开Sprint计划会议,确立下一个Sprint的目标,划分并确定这个Sprint内需要完成的任务,标注任务的优先级并分配给每个成员。

3) 进入Sprint开发周期,在这个周期内,每天需要召开Scrum会议。

4) Sprint周期结束时,召开Sprint成果评审会议,将成果演示给产品负责人或者利益相关者。

5) 团队成员最后召开Sprint回顾会议,总结问题和经验。

6) 这样周而复始,按照同样的步骤进行下一次Sprint,直到产品交付。

我们将在下一章节详细介绍大型项目中SCRUM的角色定义、软件开发模型及具体的开发流程。

3 基于Scrum的大型软件开发模型

3.1 角色定义

基于SCRUM的大型软件开发模型中的角色、文档及产品的对应关系如图1所示,具体角色有:

1)产品经理,担任产品负责人的角色,由开发方承担,作为客户和开发团队的联络点。理解客户的需求及关注点,创建和维护产品的需求清单Backlog,并按照客户要求的优先级进行排序,使得最重要的功能优先实现。产品经理还需要对每个Sprint的结果进行评审和审批,并交付给客户。客户反馈的意见实时传达给开发团队,并调整下个Sprint的Backlog。

2)客户:负责收集编写产品需求,审查项目成果等。他们通过产品经理来设定产品的期望,传达产品的需求,设置产品功能的优先级。

3)项目经理,担任Scrum负责人的角色,负责指导开发团队进行Scrum的开发与实践。项目经理的主要职责有:

①根据每一个Sprint的目标,从产品Backlog中选择优先级最高的需求进行细化,制定Sprint的Backlog;

②召开Sprint计划会议、Sprint交付产品的评审会和客户反馈之后的回顾会,并根据客户反馈调整下一个Sprint;

③协助消除项目中的障碍,维护障碍列表,确保Sprint的交付;

④敦促项目中依赖的解决,维护依赖列表;

⑤控制项目的风险,维护风险列表;

⑥培训团队,提高生产力,确保SRUM流程的执行;

⑦评价项目过程的有效性、加强执行,确保一切工作按照既定的规范来运行,规划并进行必要的改进。

4) 项目开发组:产品交付要依靠团队的努力,团队的职能是交叉的,包含所有角色:开发人员、测试人员、系统环境支撑人员、文档编写、界面设计等人员。SCRUM团队是自我组织、自我管理的,团队中的角色是不分等级、不固定职能的,例如开发人员也可以做测试。

3.2 基于SCRUM的大型软件开发模型

为了提高开发的效率,并提高产品的质量,基于SCRUM的大型软件开发模型综合了传统瀑布模型、V模型等开发的优点,在SCRUM开发流程中加了新的环节,并对某些流程进行约束。图2为基于SCRUM的大型软件开发模型示意图。

SCRUM中每个Sprint周期的开发不是无序的。Sprint中每一个任务的需求是明确的,建议使用瀑布模型、V模型或快速原型等进行开发。根据功能的大小及难易程度选择合适的开发模型。关键模块或者技术难点,可以使用快速原型开发模型。较大的任务可以使用V模型,测试人员可以从需求分析阶段就开始参与。较小的模块可以使用瀑布模型,测试的工作等编码完成后才开始。这里的瀑布模型与V模型的开发流程,尤其是文档的处理,要比传统的开发模型简化了很多,详细开发流程见下一章节。

在传统软件开发模型中,大型的软件在功能测试和系统测试后,产品要交付给客户进行Alpha测试和Beta测试,Alpha测试用于模拟环境下的测试,有时候需要开发者在场。Beta测试用于在真实环境下的测试。Alpha测试和Beta测试后,客户反馈测试结果给开发团队,开发团队进行问题的修复或者功能的改进。Alpha测试和Beta测试对产品的质量至关重要,我们将Alpha测试环节和Beta测试环节加入到SCRUM的开发流程中,作为最终产品交付前的最后两个Sprint。

3.3 开发流程

3.3.1 产品 Backlog的定义

产品Backlog是产品的需求列表,列出需要产品的所有功能及优先级。产品Backlog是客户与产品经理共同制定的。客户通过产品需求规范、平台规范等文档的形式或者邮件、会议等沟通方式提出需求,产品经理作为客户和开发团队的联络点,理解客户的需求,并进行梳理,与客户共同制定产品Backlog,包括:

1)新的操作系统、新的平台等,如Android平台

2)功能方面的需求,功能点

3)非功能方面的需求, 如性能要求

4)问题的修复与功能的改进,如前面产品出现的问题

5)每一个功能的优先级,优先级反映客户的需求及关注点

3.3.2 Sprint Backlog的定义

3.3.2 Sprint的开发

Sprint Backlog被确定后,项目经理给每一个功能点指定开发者。项目开发者对每个功能点可以使用瀑布模型、V模型或者快速原型开发模型进行开发。如果使用V模型进行开发,开发者可以定义需求文档、设计文档等,测试人员也可以定义测试需求文档和测试用例设计文档。这些文档和传统的瀑布模型的文档不一样,传统的瀑布模型、V模型中,文档编写好后,需要经过严格的审阅,审阅修改完成后,一般不能再修改,即使后期要修改,需要严格的流程。Sprint周期一般较短,2周到1个月左右,要完成V模型的开发,需要快捷的流程及工具的支持。开发人员定义的需求文档,侧重于需求功能的描述及对应的验证规范,设计文档侧重于体系结构及外部接口等,而且这些文档在后期的Sprint中可以更新的,需要根据客户的反馈,增加需求内容或者更新需求,所以版本的控制非常重要。为了保证在该Sprint周期完成的功能复合规定的质量标准,每一个Sprint周期测试人员都要参与。测试人员根据开发人员的需求与验证规范,定义测试用例。功能开发完成后,测试人员负责功能的测试。

3.3.3 Sprint的成果交付与反馈

3.3.4 Alpha测试与Beta测

产品所有功能完成,交付版本给客户后,客户进行Alpha测试。由于产品开发的整个过程中,客户都见到产品,Alpha测试的反馈中,客户需求的变更非常少,更多的实际应用环境下问题的发现。Alpha测试的反馈,作为一个新的Sprint,该Sprint的Backlog列出所有的反馈问题,团队开发的主要工作是问题的修复。修复完成后,将产品交付客户进行Beta测试。Beta测试的反馈同样作为下一个Sprint的内容,该Sprint完成后交予客户进行验收,验收通过后,产品进行。Alpha测试与Beta测试的两个Sprint,需要在产品定义阶段进行定义,客户也可以根据需要选择其中的一个或者全部。

4 小结

传统开发模型不能适应经常变化的客户需求,而且客户在Alpha和Beta测试时才能看到产品,如果产品与用户的预期相差甚远,再提出需求更改已经太晚。而在SCRUM模型中,每一个Sprint都产生可交付的产品,客户可以见到产品,及时校正自己的需求。对于需求不太明确或者经常变更的项目,SCRUM的优势更为明显,越来越多的企业使用SCRUM来开发软件项目。对于需求明确的项目,传统开发模型有质量控制的优势。该文提出的基于SCRUM的大型软件开发模型,吸取了传统开发模型的优点,并在开发流程中综合使用瀑布模型、快速原型、V模型等,提高了产品开发的效率和质量。

参考文献:

[1] Pete Deemer, Gabrielle Benefield,使用Scrum的Agile(敏捷)项目管理介绍, v1.04[Z].

测试团队工作计划范文第3篇

关键词:沙盘模拟;人才测评;评价中心;构想效度

一、 沙盘模拟的简介

沙盘模拟是一种管理仿真游戏(Simulation Game),其思想源于军事作战指挥中用沙堆对地形地貌进行模拟,将外部环境和内部资源用直观的方式明白呈现,以便组织进行讨论决策。沙盘模拟通常设计为一场操作简单、过程直观的情境式任务,对复杂的管理问题进行模拟,使企业经营管理的各个环节简单化、直观化。这种游戏可以帮助参与者快速了解企业流程,“在实践中学习”管理策略。因而最初是用于管理教学引入中国。

由于沙盘模拟集角色扮演、案例分析和专家诊断于一体,又兼具游戏性强、操作性强、团队合作性强等特点,能够展现参与者多方面的能力素质,因而很适合作为一种测评技术。在有名的央视商战模拟比赛——《赢在中国》栏目中,就多次用到ERP(Enterprise Resource Planning)沙盘模拟,用以考察参赛者们的战略思维、团队合作、资源规划、分析决策等方面的能力素质。它的新颖性、直观性和趣味性也受到了一些企业的青睐,但比起结构化面试、无领导小组讨论等评价中心技术,仍不够成熟和缺少接受度。当前的学术研究也主要围绕沙盘模拟的教学培训作用,如软件工具的使用、考核模式、教学满意度等实证研究,缺少对将沙盘模拟作为一种测评手段的应用研究。

二、 运用于人才测评

本研究目的在于考察沙盘模拟的评价功能,并对测评效果进行效度分析。

1. 施测对象。考虑到沙盘模拟是一个团队游戏,团队内部有明确的分工,应试者需要承担不同的角色,这种情况很适合经营性企业的不同职能的应试者的招聘或选拔。在本研究中,选用的施测对象是某通信公司的员工,涉及策划、采购、营销、人力资源、技术五大职能部门共64人。

2. 测验工具。在模拟情境的设计上,选用根据“沙漠掘金”这一经典的ERP沙盘模拟游戏改编的“抗震救灾”情境任务。

“沙漠掘金”课程设计了一个几支探险家队伍分别穿越沙漠争夺金矿的模拟场景,通过设计天气变化,行程路线上的障碍,金币的使用、水和食物的采购等,将企业工作中的种种问题如战略管理、目标决策、资源配置、团队关系等折射出来。参与者们通过选择、决策、行动导致不同的结果,从而引发思索,自觉引导自身行为的改变。该课程目前已经被列入清华大学、浙江大学多家高校的EMBA课程;同时也被Coco-cola、Philips、上汽集团等多家公司采用作为内训。

“抗震救灾”的情境设置与“沙漠掘金”类似,不同之处在于将前往金矿掘金的任务变成了前往灾区救灾,成功的条件是最快到达目的地,以及所余的资源(包括水、食物和金币)总量最多。其他如出发前的准备,中途各队之间可进行资源交换,以及天气障碍等等都一样。

3. 评分方法。根据任务情境,结合中层管理者胜任特征要求,专家们讨论决定将“分析决策”、“计划组织”、“沟通协调”、“团队意识”四种能力素质作为测评指标要素。其具体含义见表1。计分采用10分制。评分标准为优:9.0~10.0;良:7.5~8.5;中:6.0~7.0;差:6.0以下;最小起评分为0.5分。

三、 测评的实施和结果

1. 测验的实施。事先将64名被试分为8组,分组依据是尽量使一组包含不同部门的人,也考虑到组员之间的自主选择。并每组配备一名专家,以在比赛过程中在旁观察记录,并根据评分表对各人表现进行打分。

在安静空旷的大厅中摆有8张桌子,每组组员在规定位置就坐。每人手中都发放有规则解说单,在主持人讲解完测评规则,宣布比赛开始后,众人开始讨论和决定。中央大屏幕显示时间和天气状况,每一组都必须在规定时间内做出决策,并有工作人员帮忙督促和随时更新各组数据。

2. 测评的结果。首先将各人得分汇总,结合各指标的分数高低和小组中的表现来判断应试者的角色类型(领导者、策划者、决策者、组织者、协调者、配合者、个人主义者、一般参与者),专家根据应试者在沙盘模拟环节的综合表现以及在团队中发挥的作用对被试形成综合性评价。

在本研究中,为了检验沙盘模拟的测评效度,在沙盘模拟测验施测之前采用《管理者素质诊断测验》(MCT)对实验对象进行了测量。《管理者素质诊断测验》(MCT)是国内人才测评C公司自主研发的管理素质测验工具,包含一千五百道管理情境性试题,考察七大类通用管理素质。经过多年的实践检验,拥有良好的信度和效度。在本研究中使用了“分析决策能力”、“团队领导能力”、“计划控制能力”、“沟通协调能力”四大管理素质分测验。

此处首先通过考察沙盘模拟和《管理者素质诊断测验》(MCT)的相容效度,来验证测评的有效性。将两种评价方式的结果进行标准分数转化,然后进行相关分析,得到表2。

两种测验方法的结果之间具有显著性相关,表明在《管理素质测验》中得分优异的人,往往在沙盘模拟测验中也表现优异,沙盘模拟的测评效果与《管理素质测验》趋于一致。

测试团队工作计划范文第4篇

软件开发项目管理从最早的传统项目管理软件工程期到近年的迭代模型时期,最后到目前的敏捷软件开发时期。敏捷软件开发的成功五项因素分别如下。

(1)建立自组织团队。传统的管理方式具有命令和控制的特点,经理制定目标和计划,团队负责完成,发挥不出员工的创造力,影响了企业的效率。软件开发的敏捷开发要求员工自我管理,个人控制时间和目标,员工能参与流程和项目决策。

(2)用户故事在需求管理中的应用。软件开发企业最大的敌人不是用户,而是变化。瀑布模型难以适应目前软件市场需要,因此软件开发工作要取得用户的参与,顺应市场的变化。

(3)用户故事的度量,它能为产品投资收益提供估计结果,辅助产品决策。对故事点大小讨论时,能鼓励团队成员重复讨论,充分理解需求。故事点度量方式一致,提高统计团队工作效率。

(4)持续集成。它能提高项目构建自动化程度,将人力成本更多投放到开发任务。项目更有可见性,构建结果更加丰富,一目了然。团队对开发产品更有信息。

(5)掌握迭代,为员工提供稳定的生活节奏,保持一致的周期循环流程,沟通过程中控制时间。

(6)坚持反馈和改进,了解自身情况,改善团队效率。

精益生产的目标为提高质量和消除消费。看板原则要求生产降低库存量、降低生产周期、生产基于交叉培训和单元并对过程进行持续改善。如同超市进货一样,当货架上货物少于设定值,供货商会及时将其填满。将看板管理与敏捷软件开发结合起来,能够达到效率和质量的有效结合,软件产品周期频繁,能达到按天级别。

2.项目看板方法流程设计

增量迭代开发开发流程存在着三点问题。

(1)每个迭代的用户故事较多,产品经理和开发工程师认为很多功能没有价值,而项目经理认为需要跟踪的项目较多。

(2)对于为期四周的迭代观念不统一,部门不同,期望值不同,测试人员认为时间不充分,产品经理认为需要等待太长时间。

(3)部门之间缺乏协作,缺乏透明的项目进展和进度,太多时间花费在流程上。敏捷软件开发有三个典型流程,分别XP、Scrum及看板,经过比较,看板原则可以解决迭代用户故事较多的情况,对于规模小及优先级别高的用户故事能够迅速完成,并满足产品经理对产品的预期。

2.1 基于看板管理的敏捷软件开发流程方案设计

看板一般应用于汽车生产等工业领域中,在敏捷软件开发中看板管理只是理论上行得通,但是在实际上还缺乏经验。而且其受到产品特点、客户差异及企业文化的影响。其流程主要为,(1)定义并可视化流程;(2)限制WIP数量,流程可视化于物理板能够让项目透明,让团队对目前的任务充分明确。限制WIP数量则能让团队在思考时排除千扰,提高个体效率,项目工作不以来时间计划,而是取决团队能力;(3)拉动式生产,每个团队成员只需要对自己环节加以关注,等待任务-完成工作-到下一环节等待区^这种方式推动了产品开发前进步伐。

2.2 看板流程准备和实施

(1)是动员和人员培训,先获取领导层的理解和信任,再向所有员工培训敏捷开发和看板方法,最后,每个部门进行讨论。

(2)制定需求管理环节,产品经理提出产品需求,创建用户故事,技术团队估算用户故事工作量。通过需求分析,工程师能够获取信息,完成研发工作,产品经理全程辅助开发和测试,解答相关问题。

(3)开发流程改造,主要变化在对程序代码的管理方式进行改变,主要有主干和分支两种。

(4)测试流程改造,主要表现为两个方面,一方面提高系统自动化测试率来加快回归测试的进度,另一方面增加测试环境满足功能测试需求。

(5)项目管理流程的建立。

2.3 看板流程的实施

当所有准备工作完成之后,看板方法第36增量迭代之后,可以正式实施。产品经理将用户故事进行排列再制成任务卡,贴在用户故事一列,完成需求分析会议。开发组建立功能分支进行开发,测试组应用功能测试环境对用户故事进行测试,直到产品。团队成员每天早上聚集看板附近,明确自己的任务,下班前,项目经理将每天的任务卡状态变化汇总。敏捷流程要求强调团队自组织和员工自我管理,但是不可忽视项目经理的作用,项目经理能够组织人员,梳理工作节奏,保证沟通流畅,促进项目进展。

3.看板方法效果分析

测试团队工作计划范文第5篇

敏捷开发是一种以人为核心,迭代、循序渐进的开发方法。是为了解决项目的复杂性,以最快的方式实现需求的开发方法。在敏捷开发中,软件项目的构建被切分成多个子项目和多个子阶段,各个子项目和各个子阶段的成果都经过测试,具备集成和可运行的特征,而各个子阶段是在上一个子阶段经过测试审查完成以后才开始下一个子阶段。敏捷开发方法的应用是以小组为前提的。小组包含有两种角色:产品所有者(ProductorOwner)和开发团队,产品所有者的主要职责包括:确认小组所有成员都在追求一个共同的目标,告知对于软件系统预期的功能以及展现形式,确定功能的优先级以便开发团队总是在完成最有价值的工作,回答开发团队提出的疑问等。开发团队里的人员包括了系统架构师、需求分析师、软件工程师、测试人员以及文档编写者。敏捷开发小组需要定期开讨论会就不合需求之处讨论实施方案。

2敏捷开发系统实例分析

2.1项目背景及需求分析

2014年8月,笔者为某公司开发技术支持信息平台,以提高该公司运作效率,节约成本。前期需求分析用了比较长的时间。首先开发团队进驻该公司,向各个部门管理人员和工作人员深入了解各个岗位的具体工作内容并做了详细记录;其次从该公司人事部门获取了组织机构图及各个岗位的人员安排,并将软件架构设计及数据结构设计讨论形成完整的方案,形成了前期需求文档。依照该方案约定,设计了系统框架,再次跟客户讨论,对不合理之处进行了调整。接下来进行功能需求调研,调研之后发现该公司存在如下问题。

1)由于该公司业务特性,大部分员工长期在项目服务机构工作,甚至有部分海外项目,短期内无法回本部,当遇到政策或技术等问题时无法获取本行业相关实时资料,从而造成了项目潜在风险。

2)由上级公司以及国家相关部门的体系文件、规范标准、法律法规等文件公司必须及时获取并提供给公司全员以作为引导,但线下资料共享困难,以至于对国家及总公司的政策响应缓慢。

3)由于驻外项目组成员工作随意性较大,公司管理人员对驻外人员管理效率低下,驻外人员是否在岗,工作进展等实时情况反馈不及时。

4)企业管理人员、项目经理、项目成员、各部门工作人员之间沟通、协作困难。

5)项目员工之间缺乏经验交流。

2.2系统技术架构

通过本文依托的系统需求,结合系统目标进行分析,提出以平台为系统架构基础。.NETFramework是一种新的计算平台,它简化了高度分布式Internet环境中的应用程序开发。.NETFramework具有两个主要组件[4]:公共语言运行库和.NETFramework类库。公共语言运行库是.NETFramework的基础。可以将运行库看作执行是管理代码的,它提供核心服务,而且还强制实施严格的类型安全以及可确保安全性和可靠性的其他形式的代码准确性[5]。.NETFramework的另一个主要组件是类库,是一个综合性的面向对象的可重用类型集合。建立在.NETFramework之上的提供了一个Web应用程序模型,并且包含使生成ASPWeb应用程序变得简单的控件集和结构。包含封装公共HTML用户界面元素的控件集,这些控件在Web服务器上运行,并以HTML的形式将数据推送至用户界面上。在服务器上,这些控件公开一个面向对象的编程模式,为Web开发人员提供了面向对象的编程的丰富性。该系统引入DeveloperExpress控件集合替代控件集,并结合JavaScript脚本语言为用户提供了更好的使用体验以及更为强大的数据提取和处理功能。为遵循敏捷开发原则,系统使用VisualStudio2012内集成的TeamFoundationServer服务平台,使系统开发人员进行源代码共享、代码审阅和数据收集,为更加准确的实现系统功能做好铺垫。文中系统架构主要基于以MicrosoftVisualStu-集成开发环境为开发工具。采用面向对象语言C#与DeveloperExpress无缝结合,为系统通信和相关服务提供支持,以SQLServer为底层数据支持。为了开发的便利和数据安全的考虑,系统采用多重数据备份和加密工作。搭建系统的操作系统采用了WindowsServer2008R2虚拟机的形式使用Hyper-V虚拟化技术存放在WindowsServer2012服务器系统中。硬件方面采用了双机热备技术,以保障数据安全性。

2.3系统功能模块

该系统开发进程遵循敏捷开发原则,参照针对客户的中期需求调研情况和无纸化办公、解决实际存在的问题为目标,对主要功能采取逐个突破原则。据此,将系统功能模块进行了有效划分,包括门户网站和技术支持平台两个主要板块。技术支持系统以用户管理、项目管理、机构管理、岗位管理、权限管理为核心的系统架构体系,以及技术支持、公司业务、人员动态、交流论坛四个主要功能以及个人信息、通知通告、证书管理、周月报汇总、证书汇总,员工信息汇总等辅助功能。

2.3.1系统架构

系统架构是一步步搭建并走向成熟的,从页面和代码的分离以及数据结构基础设计到三层架构,再到现在的多层,每一步的发展,使得程序逻辑更加清晰,代码可复用性更强,可读性更高,可维护性更好。用户体验方面,初期添加新的以部门为顶层的树状组织机构只能由开发人员更改XML数据文件进行添加,到现在由客户完全自主配置。

2.3.2开发过程

企业信息系统的开发有其自身的特点。一旦系统架构确定下来,剩下的工作就是在这个架构体系下,不断做重复工作实现所有规划的系统功能。第66页图1为一个敏捷开发小组针对一个功能块的完全开发流程,前四个角色共同组成开发团队,最后一个角色是产品所有者。在前期需求调研完成的情况下,项目经理制定一个灵活的开发计划,计划的时间不宜太长,否则因为客户需求的不断变化,执行起来就会非常困难。开发计划交由需求分析员进行详细设计,需求分析员需要画出具体图形或者制作静态网页将具体功能设计出初始形状,在提交由项目经理进行评审。如评审通过,则向开发组分配任务,开发组开始功能。当开发组开发完结后交由测试组进行代码整合并集成测试;如评审未通过,需求分析员需要对详细设计方案进行调整或重新设计。测试组测试无误,则交由客户代表进行业务层面测试;如测试组发现BUG,则开发人员需修改代码,消除BUG。客户代表如测试通过,则此功能开发完成;如果客户有异议则将问题提交至系统测试组,再做重新调整。

2.3.3功能开发实例

该系统开发的第一个主要功能就是技术支持。技术支持是一个信息共享平台,针对该公司上级单位制定的体系文件、国内外法律法规文件、行业内的成功经验以及公司内部开展的培训课件等体量庞大的文件系统,建立在线共享平台。客户代表向项目经理提出要包括9大目录板块(包括体系文件、法律法规、规范标准、培训课件、事故案例、公司业务、办公文件、知识分享及学习园地),每个大目录需要其做到其公司系统管理员可以自行配置,区分上传文件(包括下载和查看)、下载文件(包括查看)、查看文件3种不同权限。项目经理制定了1个月的开发计划,交由需求分析员进行详细设计,由于在架构设计阶段已经将权限分配体系基础搭建完成,需求分析员在2天以内设计出了技术支持的功能界面。得到项目经理认可后交由开发组进行开发,开发组花9天时间将功能原型开发完成。交测试组进行集成测试,测试组在向开发组提交并确认了两次代码BUG后交客户代表测试。当测试组将交由客户代表进行体验层测试时,客户代表确认了展现形式,但向某一目录下上传了50个文件,该目录打开变慢,继续上传了100个文件后,技术支持功能打开变得异常缓慢,并将问题反馈至开发团队测试组。测试组在经过同样测试后得到类似结果并将问题反馈至开发组,开发组在进行单步调试以后提出两个结论:第一个是文件显示控件在提取大量文件时默认读取了文件数据字段导致变慢;第二个是功能加载将对应数据表中所有数据全部提取以致速度变慢。并就此确定了解决方案,更改WEB展示风格,提升了加载速度。在此交由客户代表测试后,客户代表提出,由于公司业务拓展,需要将第六部分公司业务从技术支持提取出来形成独立功能模块,每项业务下包含有历年项目,需将项目按年分类并按从新到旧的顺序排列。针对客户需求,开发组将项目数据与技术支持数据进行了组合查询,并在导航树设立虚拟的年份结点,从而将公司业务功能完成。如此不断迭代循环,经过大概两个月的修改以后最终获得了客户代表的认可,技术支持系统的功能开发就此完成。

2.4系统应用评价

通过该系统的实施不仅解决了企业资源无法实时共享的问题,而且帮助管理者提高了管理、监控和决策水平,缩短了解决问题的时间。同时,由于系统本身的B/S架构特性,使得该公司所有员工随时随地都可感受到系统带来的便利。

3敏捷开发经验总结

3.1快速适应需求的变化

敏捷开发方法能够尽可能容易和有效地适应变化。尽管大多数人都同意反馈很重要,但是他们忽视了一个重要的问题,就是反馈结果往往代表的就是变化。敏捷开发能够驾驭这种变化,因为推动变化比企图阻止变化更加有效。实际工作中,开发团队和客户对于软件开发方面往往站在不同的角度,理解容易产生分歧,只有不断地沟通才能达到预定目标。在该项目中,客户不断向开发团队反馈使用中的种种体验方面的问题,而开发团队则积极响应客户诉求,同客户一起讨论有效的解决方案。

3.2降低软件开发风险

来自需求的风险是软件开发项目必须直面的问题。敏捷开发方法同时也要求至少有一位系统实际用户实时与开发团队讨论需求,回答开发团队的问题,对开发完成的功能进行确认。这是解决软件开发中需求不确定的切实有效的办法。假如客户只认为给出开发团队模糊需求就撒手不管,造成的结果极有可能是返工重做或大面积修改,这也就为软件失败埋下伏笔。

3.3形成明确的代码规范