JIRA 是目前比较流行的测试流程管理系统,现在很多大厂使用的都是 JIRA。为什么大厂更爱用 JIRA 呢?其实就是因为它的定制性非常的强。可以自己定义流程,自己定义界面,自己定义字段。通过这些自定义的方式,就可以让整个系统更贴合公司的业务。而且 JIRA 的各种插件也非常的丰富,可以满足公司的各种业务需求。
项目管理是在项目活动中运用知识、技能、工具和方法,以便达到项目要求。
软件项目管理有其特定的对象、范围和活动,着重关注成本、进度、风险和质量的管理,还需要协调开发团队和客户的关系,协调内部各个团队之间的关系,监控项目进展情况,随时报告问题并督促问题的解决。
软件项目管理是为了使软件项目能够按照预定的成本、进度、质量顺利完成,而对人员(People)、产品(Product)、过程(Process)和项目(Project)进行分析和管理的活动。
随着信息技术的飞速发展,软件产品的规模也越来越庞大,个人单打独斗的作坊式开发方式已经越来越不适应发展的需要。各软件企业都在积极将软件项目管理引入开发活动中,对开发实行有效的管理。
实际上,软件项目管理的意义不仅仅如此,进行软件项目管理有利于将开发人员的个人能力转化成企业的开发能力,企业的软件开发能力越高,表明这个企业的软件生产越趋于成熟,企业越能够稳定发展。
同时,随着软件开发规模及开发队伍的逐渐增大,软件开发不再是像过去那样一两个开发人员即可解决的事情。迫切需要一种开发规范来规范每个开发人员、测试人员与支持人员的工作,每个项目组成员按约定的规则准时完成自己的工作。同时采用规范化管理,专业分工也可以降低对开发人员的要求,从而降低产品研发成本。
管理流程
- 项目经理:需要完成在项目管理工具中建立项目目录,分析项目所需资源、风险等,预估项目的周期等活动。活动完成后输出一个包含大致时间规划的项目计划。
-
- 产品:需要完成收集整理需求,环境分析等活动。活动完成后输出需求文档。
-
- 研发:要参与到需求分析和环境分析活动中。
-
- 测试:要参与到需求分析和环境分析活动中。
-
- 项目经理:需要完成监控项目进度,组织安排本阶段的评审,任务分解、责任到人,细化项目计划等活动。活动完成后输出具体到各个功能的项目计划。
-
- 产品:需要完成系统功能设计。完成后输出系统说明书。
-
- 研发:需要完成系统功能技术设计和数据库设计。完成后输出概要设计文档和详细设计文档。
-
- 测试:需要组织测试计划评审。完成后输出一份测试计划。
-
- 项目经理:需要完成监控项目进度,调整人员安排,跟踪解决技术难点等活动。活动完成后输出更新进度后的项目计划和项目进度报告。
-
- 产品:参与需求细节沟通。
-
- 研发:需要完成具体功能开发,组织 code review 和单元测试等活动。完成后输出功能代码和单元测试代码。
-
- 测试:需要完成编写测试用例和组织测试用例评审等活动。完成后输出测试用例。
-
- 项目经理:需要完成监控项目进度,跟踪解决技术难点等活动。活动完成后输出项目进度报告。
-
- 产品:参与需求细节沟通和 Bug 修改方案的制定。
-
- 研发:需要完成集成测试,Bug 修改等活动。完成后输出集成测试报告,部署测试环境。
-
- 测试:支持研发进行集成测试,准备测试数据。
-
- 项目经理:需要完成分配 Bug,跟踪解决技术难点等活动。活动完成后输出项目进度报告。
-
- 产品:参与需求细节沟通和 Bug 修改方案的制定。
-
- 研发:支持测试活动,修改 Bug。
-
- 测试:需要完成测试环境搭建,补充测试数据,功能测试,自动化测试等活动。完成后输出系统测试报告和缺陷报告。
-
软件项目管理的方法
制定项目计划
对于大项目,一般在项目启动或者立项时会制定一份完善的项目总体计划。有些公司可能会有自己的项目管理的工具。对于小项目或者版本,因为周期比较短,一般一个月,所以直接制定简单的日程计划进行跟踪。
项目计划制定并得到项目组评审确认后,项目组要按照计划中安排的任务、时间和人员去执行。项目管理人员需要对计划执行情况进行监控,比如每周检查任务完成情况,每个里程碑点检查里程碑内所有任务完成情况。监控的结果会在项目日程计划中刷新任务完成进度,以便在非里程碑任务时间点时可以查看项目进度。必要时每周要召开项目例会并形成项目周报。每个里程碑结束时,要召开里程碑总结会议。
项目经理通过对项目周跟踪、里程碑跟踪活动,将发现项目进展中出现的问题及潜在问题,已经影响或将要影响项目目标。项目组需要跟踪和分析项目数据,对这些问题和风险进行识别、分析,策划相应的应对措施。
对问题解决或风险缓解措施的执行,项目经理须进行监督和控制,持续跟踪问题和风险状态变化,确保措施有效执行,直至问题关闭、风险缓解。对问题与风险的识别、解决策划和状态跟踪等信息,项目经理应记录在项目周报和里程碑总结报告的问题跟踪表或者 风险跟踪表中。
项目收尾是项目最后一个重要的工作环节,要完成项目的各项收尾工作,保存项目资产,移交工作责任、进行项目总结与评价,并最终释放项目资源。软件项目的管理需要依赖管理工具,一款符合需求的软件项目管理工具可以帮助团队更好的管理项目,更好的去实践开发模型。
跨部门沟通协作
由于产品的岗位职者就是要设计产品功能,产出产品需求文档,那么可以得出需要和产品沟通的阶段有以下四个:
- 需求评审会
-
- 在分析需求阶段
-
- 在测试用例编写阶段
-
- 在测试过程中
- 总之,只要涉及到需求方面的问题,都需要和产品进行深入沟通,这样才可以深入完整的理解产业务的逻辑和项目的需求。这样最终交出去的软件才是符合用户需求的。
-
- 在分析需求阶段
-
- 在测试用例编写阶段
-
- 在测试过程中
-
- 在线上监控发现 Bug 时
- 在需求分析和测试用例编写阶段,如果遇到一些需求的实现手段和逻辑不是很明确的话,就需要和研发进行进一步的沟通。
- 在测试过程中,如果发现 Bug 的话也要和研发进行沟通,接下来还有协助复现 Bug,提交 log,验证 Bug 等等,这些活动都需要和研发进行进一步沟通。
- 同理,在项目上线后,如果线上监控出现了 Bug 时,也需要同样的沟通步骤。
- 现在公司中的一个项目,往往会涉及多个团队,比如说服务端,客户端,数据库等等。那么在项目测试的时候,就需要多个团队的测试人员合作联调,这样会更加容易进行测试,并且可以更好的发现问题。
- 那么在这种上下游配合联调测试的时候,应该注意哪些问题呢?做到哪些可以使合作更加顺畅呢?
-
- 测试计划沟通:和上下游模块沟通各自负责的测试计划安排、测试范围、测试重要场景、跨团队测试数据的构造、配合的方式,把团队间的影响降到最低。
-
- 环境对接:了解相互之间接口的调用问题,接口是否沟通清楚,接口是否满足需求等,确保联调环境的可用。
-
- 熟悉业务:了解对方的业务、申请权限等,避免后续影响测试进度。
原文链接
- 熟悉业务:了解对方的业务、申请权限等,避免后续影响测试进度。
更多技术文章分享
在测试工作当中的一些工作流程,比如测试用例和 Bug 都可以用 JIRA 平台去进行跟踪管理。
JIRA中的基本概念
JIRA 中有一些基本的概念需要先了解一下。
首先是 Project,这个概念很简单,就是一个“项目”。开发一个 App 是一个项目,开发一个微信小程序也是一个项目。可以说,在项目管理范畴内可以看作“项目”的,都是 JIRA 中的项目。
Issue 则是 JIRA 的核心,也可以翻译成问题。项目就是由一个一个的问题组成的。管理不同的问题,可以用不同的问题类型。
JIRA 里有一些预制好的问题类型,比如说 Task 任务、Sub-Task 子任务。可以直接选择使用,也可以自己创建新的问题类型。
一个问题会有很多属性,比如说名称、详细描述、提交人、提交时间、优先级、状态等等。这些属性就是 Field 字段。系统已经定义好了一些常用的字段。也可以创建一些自定义的字段。
一个 Issue 也会有不同的状态,比如待办,进行中,已完成。Workflow 工作流就是用来定义 Issue 的状态以及状态间的流转的。
JIRA管理测试用例流程
接下来介绍一下在 JIRA 中如何管理测试用例。
在 JIRA 中创建一个流程管理类型的项目,命名为【测试用例管理项目】。测试用例可以在这个项目中进行管理。
在【测试用例管理项目】项目中创建一个新的 issue。点击【新建】,可以看到新建测试用例的界面。这里面可以填写测试用例的内容。
比如填写一条最基本的 UI 验证用例。
点击【新建】按钮即可创建一条测试用例。
可以点击编辑按钮,进入测试用例编辑页面修改测试用例的内容。
执行测试用例时,可以点击页面上的状态转换按钮,切换测试用例的不同状态。
通过这些状态,就可以对测试用例进行管理了。如果在执行测试用例的时候,执行的实际结果与预期结果不一致,这时就是发现了 Bug。这时就需要把 Bug 也提到 JIRA 当中进行管理。
JIRA管理Bug流程
要管理 Bug,同样的也需要先创建一个项目。创建好之后,Bug 可以都提交到这个项目中进行管理。
测试执行是通过执行用例发现 Bug,所以可以直接通过用例的链接问题来创建 Bug。
比如 Bug 可以这样来描述
这样就可以直接把 Bug 提交到对应的 Bug 管理项目中了。
创建好之后可以进入到 Bug issue 中进行详细描述。
除了这种关联的方式提交 Bug 之外,也可以直接到 Bug 管理项目中提交。
不管是项目的开展和推进,或是测试人员自己的工作闭环,都一定要管理好测试用例,这是工作中重要的一环。