APP下载

基于Scrum的敏捷测试的应用

2017-06-03王小妮

电子技术与软件工程 2017年9期
关键词:研究

王小妮

摘 要敏捷开发模式是适应竞争日趋激烈的软件开发市场环境而发展出来的一种软件开发项目管理策略,在敏捷软件开发过程中开展的测试便可称为敏捷软件测试。敏捷测试以沟通、简单、反馈、勇气、尊重为核心价值观,不仅是测试软件本身,还包括软件测试的过程与模式。敏捷测试的目的是为了尽可能使发布功能与客户预期一致,确保开发、管理过程正确。基于Scrum的敏捷测试包含设计计划与体系结构、迭代、交付三个过程,需关注Scrum测试管理、模型设计与过程管理。

【关键词】敏捷测试 Scrum 研究

21世纪是信息化技术全面高速发展的时代,企业之间的竞争日趋激烈,产品质量对于企业的发展重要性得以凸显,并成为企业核心竞争力的突出表现之一。软件行业也面临类似的问题,软件系统变得越来越复杂,传统的软件工程理论下软件开发周期过长、无法保证软件质量、开发过程冗长、笨重,加之频繁的人员流动、迅速变化的市场,都让传统的软件开发方法无法适应新的市场竞争环境,软件的失败率变高。软件测试越来越受到重视,敏捷测试是软件测试的重要组成部分,本文尝试基于Scrum开展敏捷测试应用进行概述。

1 敏捷测试概述

敏捷开发模式正处于逐步推广阶段,具有较大的发展潜力。现代经济生活中,很难甚至无法预测基于计算的系统如何随着时间的推移而进行演化,市场情况瞬息万变,最终用户的需求也在不断变化,新的竞争危险也毫无征兆的出现,故对于轻量级的软件开发而言,需要不断变化,以应对以上软件开发问题。敏捷开发以人为核心,迭代,循序渐进,拥抱变化是其基本动力。

敏捷过程有以下要点:

(1)通过频繁迭代与客户形成早期良好合作,及时反馈提高产品质量;

(2)客户、需求人员、开发人员进行有意义频繁的交互,以及早发现问题;

(3)衡量功能实现的唯一标准是该功能的开发测试已完成,并测试通过。

敏捷测试以沟通、简单、反馈、勇气、尊重为核心价值观,在敏捷软件开发过程中开展的测试便可称为敏捷软件测试,测试人员适应变化,与技术人员、业务人员进行良好的协作,立即测试记录需求、驱动开发思想。敏捷测试法继承了敏捷软件开发原则,作为一个优秀的敏捷测试人员,需要遵守以下原则:提供持续的反馈,为客户创造价值,进行面对面的沟通,勇气,简单化,持续改进,相应变化,自我组织,关注人,享受乐趣。敏捷测试不仅仅是测试软件本身,而是包括软件测试的过程与模式,敏捷测试的目的是为了尽可能使发布功能与客户预期一致,确保开发、管理过程正确。敏捷测试人员需要参与所有的团队讨论与决策,测试人员需要开展更多的与测试无关,但与团队目标直接相关的工作。

相较于传统的测试,敏捷测试与开发并行,甚至优先于开发,测试团队也是开发团队的一部分,除却绝对的必要,工作软件即是文档,及时应对变化参与所有的团队会议、团队决策,极力促进团队沟通、团队与客户沟通。

2 基于Scrum的敏捷测试

Scrum是当前应用最广泛的敏捷开发方法,过程清晰有效,适合敏捷经验不足的团队使用,以下就此进行概述。

2.1 Scrum过程

Scrum过程包含三个过程:

(1)设计计划与体系结构,即将产品功能需求、缺陷、更新用户需求等待开发项,作为优先级排成等待开发项目,然后根据列表,进行风险评估,制定产品交付规则。其次,需建立体系结构,将待开发的项目分解为一系列的“问题包”,每个问题包包含一组对象集合,再将问题包按照同样的原则划分为迭代小组,在此基础上,团队建立独立的开发测试运行环境。

(2)迭代过程,包含多个迭代,每个迭代都对应相应的时间段,通常而言,一个迭代周期为2-4周,每个周期结束后开始下一个周期,每个迭代周期都需要相应的设计、测试、编码活动,每个迭代结束后,都需要完成计划内的待开发项目。

(3)交付过程:当开发产品经风险评估后,边可以进行验收测试,进入交付阶段,组装项目组,系统测试、回归测试,完成最终文档等步骤。在基于Scrum过程开发过程之中,需要达到风险评估标准才能停止开发,交付过程的最终目的在于是否在迭代过程中出现被忽视问题,为下一阶段的开发做准备。每次迭代,订单订单项不允许修改。

2.2 Scrum测试管理

(1)需要做好人员的配置,按照与项目的关系,将人员分为实际参与人员以及项目组外人员,包括经理以及最终用户等,前者主要包括管理者、产品负责人与团队,Scrum管理者不是项目经理,由能力较强熟悉Scrum成员承担。产品负责人是指一个角色,来自于用户、客户、销售部或开发部门的需求分析者,易于协作、沟通,具有代表性,有一定的授权,熟悉需求。

(2)需明确测试角色,软件开发工程师复杂编写代码,完成白盒、黑盒测试、单元测试。自动化测试工程师需要负责测试脚本、工具代码。测试工程师需要了解产品需求、编写测试案例、追踪产品,客户负责验收。

2.3 Scrum测试模型

Scrum测试过程中,做好需求分析、分解测试的需求,及时与研发产品人员沟通的是关键。测试的一阶段,需要根据软件设计、需求,完成确认对所需要使用的测试工具,包括需求管理工具、测试案例、缺陷管理工具等,大规模公司可开发适应本公司的管理工具。在迭代阶段,每个迭代周期结束前,都需要提交方针,测试该周期或上个周期完成功能,以评价开发功能是否达到预期。

2.4 Scrum测试过程管理

首选,需要编制Scrum下的测试计划,以文档形式呈现,对整个测试过程都需要有相应的测试计划书,每个迭代阶段计划书都有相应的功能性文档修改。

计划书需要突出以下几点:

(1)产品的基本信息,记录Sprint各个阶段测试情况与结果,开发测试所有角色任务列表;

(2)确认测试计划包含的测试范围,根据新开发的功能及其相关的原有功能,需要定义划入测试产品功能,进行冒烟测试;

(3)划分测试阶段、明确方法与任务。在每个测试过程中,都需要有计划书、案例,测试过程中需要提交缺陷至相应的管理系统,在测试过程中需要明確监控测试的方法,搭建测试环境,评估进度计划风险,安排测试时间。

3 小结

基于Scrum的敏捷测试非常适合小型软件开发企业,容易上手,但作为一种科学管理方法,想要完整的掌握也有一定的难度。软件开发企业需要与时俱进,掌握该方法的精髓,即重视迭代管理、团队协作,勇于创新。

参考文献

[1]杨娜,严振亚.基于Scrum方法的敏捷测试探讨[J].数字技术与应用,2017(01):51-53.

[2]张晓静.敏捷测试在移动App开发中的研究与应用[J].电子科学技术,2015(02):211-213.

[3]孙笑,张小晶.Scrum敏捷测试——从敏捷测试中寻找发展机遇[J].科技创新导报,2014(25):255.

[4]曹栋.敏捷测试在银行IT领域中的研究与分析[J].电子技术与软件工程,2014(16):98-99.

作者单位

中兴通讯股份有限公司 天津市 300300

猜你喜欢

研究
FMS与YBT相关性的实证研究
2020年国内翻译研究述评
辽代千人邑研究述论
视错觉在平面设计中的应用与研究
关于辽朝“一国两制”研究的回顾与思考
EMA伺服控制系统研究
基于声、光、磁、触摸多功能控制的研究
新版C-NCAP侧面碰撞假人损伤研究
关于反倾销会计研究的思考
焊接膜层脱落的攻关研究