APP下载

基于Scrum的敏捷测试研究与应用

2020-12-04唐兰文吴海燕

科技视界 2020年33期
关键词:测试人员文档流程

王 倩 唐兰文 吴海燕

(中汽数据〈天津〉有限公司,中国 天津 300180)

0 引言

随着互联网行业的快速发展,企业之间的竞争力日趋激烈,对于快速变化的用户需求,高质量、快速度的项目开发能力越来越受大家欢迎。而现在的软件项目,普遍现象是在各种原因背景下开发过程不断延期,测试时间不断压缩,导致最后测试人员没有充足的时间去发现、挖掘业务逻辑性的bug,更没有信心交付产品。甚至,有些项目的需求一直未敲定或不断需求变更,导致开发修改太多版本,无法交付至测试手中,最后项目时间紧迫、压缩,约定时间内给客户演示手忙脚乱,成果漏洞百出。为了更好地聚焦研发产品的商业价值、有效地应对客户需求变化的业务环境、提高研发效率和产品质量、提升产品的客户满意度,在新产品研发项目的开发阶段、以及软件产品维护阶段引入Scrum敏捷开发方式。本文尝试基于Scrum开展敏捷测试应用进行概述。

1 敏捷测试概述

1.1 敏捷开发和敏捷测试介绍

敏捷开发方法是一类软件开发的泛称,其核心是测试驱动开发,整个开发过程灵活可变。与传统的瀑布模型开发模式不同,敏捷开发是以用户需求变化为核心,能快速响应用户需求变化的一种开发模式,更适应现今快速变化的用户需求。另外,敏捷测试有更大的优势,主要表现在测试人员和开发人员面对面沟通,节省了复现bug、提交bug和关闭bug时间,极大地降低了沟通成本,提高了沟通效率,及早地发现并解决了需求文档和代码问题。并且迭代测试由于功能点越来越多,测试点越来越多,可引入必要的自动化测试,进行模块复用,减少人力投入,加快项目进度。

2 Sc rum 框架和过程

Scrum是当前应用中最广泛的敏捷开发方法。流程清楚简单,适用于敏捷测试经验不足的团队,因此就此概述。

由于Scrum把整个开发测试团队比作一个有明确的更高目标,具有高度自主权。紧密地沟通合作,以高度弹性解决各种挑战,确保每天、每个阶段都朝向目标有明确的推进的橄榄球队,所以命名直接来源于英式橄榄球争球队形(Scrum)。Scrum流程可以理解为,在一个软件生命周期中,将整个开发周期分成若干个小的迭代周期,在每个迭代周期中,存在着三个主要角色(PO、Master和Team)一直贯穿项目的生命线,来把控整个团队的开发和测试节奏,以保障项目顺利迭代完成交付。

2.1 Scrum框架组成

三个角色:产品负责人 PO(Product Owner)、项目经理Master(Scrum Master)和产品研发团队Team(Scrum Team);四个会议:Sprint计划、Sprint验收、Sprint回顾、每日站立会议;三个输出:Productbacklog、Sprintbacklog、Sprint燃尽图。

在敏捷开发模式中,需求管理是个持续的过程,PO要负责对纳入本项目的需求进行持续收集、分析、细化,对需求相关文档(业务需求列表、软件需求说明书、Product Backlog)进行即时刷新、归档、基线,并完成Product Backlog中Story进行优先级排序。项目团队共同完成Story的估算。Master领导团队实现Scrum的实践及价值,排除团队遇到的困难,确保团队能胜任工作并保持高生产率,促使团队中所有的角色及其功能紧密合作。Team由编程、测试、用户界面设计、资料写作等全职团队成员组成,团队内部实现自我组织和管理。

2.2 Scrum过程

Scrum共分为四个步骤。会前准备阶段,产品负责人整理业务需求,形成 Product Backlog,组织对story进行规模估计,并确定迭代周期长度。项目开始阶段,以Sprint为单位迭代式地完成Sprint Backlog。项目执行阶段,每个Sprint以迭代计划开始,通过每日站立会议跟踪进度和issue。项目结束阶段,每个Sprint完成后,通过Sprint回顾发现问题和改进点,制定下个Sprint要引入的新的实践。Sprint结束时交付可运行的产品。

3 Sc rum 敏捷开发流程和产出

3.1 Scrum流程图

研发项目以“立项”开始,以“考核结项”结束,在进入迭代开发之前,需要梳理需求,完成系统架构的设计,以及一些敏捷准备工作。整个Scrum流程,核心更多在于Scrum迭代开发与测试的环节。敏捷测试流程如图1。

图1 基于Scrum的敏捷开发的流程图

3.2 Scrum产出文档

流程中需求开发节点至验收发布节点,每个节点,都需要有相应的文档输出,若时间有限,可省去部分文档的产出,保证迭代结果符合上线标准即可。具体的输出文档如图2。

图2 Scrum流程节点输出文档

4 Sc rum 在软件项目管理中应用存在的问题

4.1 时间管理和成本管理问题

一个产品的生命周期短则几个月,长达1年,如果产品负责人起初对项目规划模糊不清,后续团队运作会出现接二连三的问题,最直观的一项就是成本问题。第一,外跑业务的员工不熟悉一个项目开发过程,承诺客户短时间交付产品,导致产品研发团队,一方面为满足给客户按期交付,加班赶工,时间和人力成本过多,最后项目的实际总投入成本远大于客户报价。另一方面对于不可实现的需求,反复解释并反馈给客户沟通,加大了所有人的时间成本,也降低了客户对这个产品的满意度及对团队人员的期望值。第二,Scrum团队人员未经过专业培训,不仅个人性格突出,且不熟悉迭代流程,团队默契度不高,无形中加大了项目阻力,消耗的成本直线上升。

4.2 Scrum中团队人员问题

在阻碍项目进展中,主观因素也会起很大的作用。首先,可能PO、Master责任心不高,或者PO、Master同时肩负太多项目,无法做到全程监控并且推动项目的工作,导致项目运行不畅甚至阻塞。其次,研发产品团队没有足够的专业技术知识,无法从用户角度出发设计,缺少灵活性,造成项目延期。最后,可能有些公司迭代Team中存在一些从其他公司借来的外援,研发过程中不好管理外援并且人员流动可能性很大,导致团队内部人员经常换新,代码地雷越埋越多。

5 结论

为了满足现今快速变化的用户需求,敏捷测试的推进势在必行。测试人员需要快速熟练掌握敏捷测试流程,改变传统测试的思维,提高自己的敏捷测试能力,才能赶上社会科技发展的潮流。另外,流程的细节、文档的规范,传统测试中的一些方法应用到敏捷测试中等,需要深入探讨的问题仍然很多。软件开发企业若想在这时代潮流中脱颖而出,就要勇于创新,团队协作,找出最适合自己的一套敏捷测试流程和方案。

猜你喜欢

测试人员文档流程
浅谈Matlab与Word文档的应用接口
吃水果有套“清洗流程”
有人一声不吭向你扔了个文档
高校分析测试中心测试队伍建设方案初探
浅析软件测试中的心理学应用
基于RI码计算的Word复制文档鉴别
本刊审稿流程
析OGSA-DAI工作流程
Persistence of the reproductive toxicity of chlorpiryphos-ethyl in male Wistar rat
犯罪心理测试人员素质要求分析