APP下载

基于Scrum的旅游类APP敏捷测试研究

2017-09-28冉晓娟

电子测试 2017年8期
关键词:单元测试测试人员测试用例

冉晓娟

(四川旅游学院信息与工程学院,四川成都,610100)

基于Scrum的旅游类APP敏捷测试研究

冉晓娟

(四川旅游学院信息与工程学院,四川成都,610100)

随着旅游产业移动互联网大时代的到来,旅游类APP产品的数量正与日俱增,如何保障APP产品的质量成为其敏捷开发过程中不容忽视的重要环节。本文通过分析敏捷测试的研究现状,结合峨眉山智慧旅游APP项目阐述基于Scrum的敏捷测试实施流程,为敏捷测试在旅游类移动应用领域中的实践提供了参考。

旅游类APP;敏捷测试 ;Scrum

0 引言

旅游产业与移动互联网产业的融合,催生了旅游类APP的诞生和发展,旅行者成为旅游主导者,并全程参与从策划、预定到实施的整个旅游生命周期。旅行者通过APP可获取旅游地的最新旅游资讯、民俗文化风情、餐饮住宿及天气交通等实时信息,并能随时制定或更改行程。近年来,旅游类APP的数量与日俱增,如何快速发布产品并迅速适应频繁变化的用户需求俨然成为APP开发的重点,具有高度迭代、支持变化特性的敏捷开发模式自然成为关注的焦点,但软件测试始终是APP质量保障的重要基石。然而频繁变更的需求以及急剧缩短的开发周期使得传统测试无所适从。因此,开展适用于旅游类APP的敏捷测试研究,有利于在App开发和质量保障之间找到平衡点,对提高测试效率具有十分重要的意义。

1 敏捷测试现状分析

2001年“敏捷联盟”提出了著名的敏捷宣言并定义了4个核心价值:相对于流程和工具而言,个体和互动更具价值;相对于详尽文档而言,工作的软件更具价值;相对于合同谈判而言,用户合作更具价值;相对于遵循计划而言,及时响应变化更具价值。

随着敏捷开发理论和实践的不断发展与完善,相继出现了许多敏捷开发方法,其中比较著名的有:极限编程XP、Scrum、特征驱动开发、自适应软件开发等等。它们不仅具有高度迭代,及时响应用户反馈的共性,而且都强调测试的延续性。

敏捷测试正是顺应敏捷开发迭代与增量的特点,与敏捷开发流程融为一体,在整个软件生命周期持续测试,以求达到效率与质量平衡的一系列测试方法与实践。同传统测试相比,敏捷测试的特性主要体现在以下三个方面。

(1)敏捷测试减少了测试计划、测试用例设计的比重,增加了测试人员与产品设计人员、开发人员的交流协作,强调从用户视角出发。

(2)在敏捷测试流程中,测试人员参与单元测试;重点关注持续迭代的新功能,并进行足够的验收测试;侧重依靠自动化测试对原有功能执行回归测试以保障软件质量。

(3)测试人员必须尽早开始并持续开展测试工作。软件开发初期,测试人员就应展开检测工作,需要对软件做好初期需求分析,对开发设计做好逻辑分析,并将需求评审结果及时、准确地反馈给设计和开发人员;在整个研发过程中,测试人员则需持续不断地参与各个迭代周期中的项目评审与测试工作,并对软件质量进行及时反馈。

目前,针对旅游类移动应用的研究,学者主要集中于移动互联平台的系统架构及分层与模块化设计方案的研究、数据库的设计以及GIS技术的运用等,针对APP测试的研究很少,对其进行敏捷测试的专项研究更是几乎没有。由此可见,开展敏捷测试在旅游类移动应用领域的探索和研究,对旅游互联网产业未来的发展具有重要的理论依据和应用价值。

2 旅游类APP的敏捷测试实施流程

目前, Scrum 是最为流行和有效的敏捷开发模型之一。以峨眉山智慧旅游APP项目为例,项目组引入了Scrum模型,根据其迭代开发的特点,在项目初期,通过与项目组所有成员的反复研究、讨论与尝试,最终确定3周作为一个迭代开发周期,制定了相应的测试计划,并指出了每轮迭代周期中具体某个时间点需要完成的关键工作,如表1所示。

表1 每轮迭代周期的测试计划

根据测试计划,峨眉山智慧旅游App项目在Scrum模型下一次迭代周期的敏捷测试实施流程及具体测试工作如图1所示,整个测试流程大致呈螺旋状。这种敏捷测试流程不仅能使测试工作提前介入,而且能在项目研发的任意时刻提出新需求,并在下一个迭代周期新需求都能得到响应,还可以有效解决软件小型版本的发布问题。

每轮迭代周期各个测试实施阶段测试人员需要做的具体工作如下。

(1)划分Story

测试人员需要和开发人员一起共同参与制定本轮迭代计划完成的任务以及具体的Story 如何划分。此外,测试人员还要进行需求的验证,包括评审迭代计划的制定以及Story划分是否合理等。

(2)澄清Story

测试人员需深入理解各个Story的设计,尽早发现系统可能存在的隐患,并参与制定迭代验收标准和可测试性需求。

(3)设计与编写验收测试用例

测试人员需要完成Story验收测试用例及迭代验收测试用例的设计与编写。在设计与编写Story的验收测试用例时,测试人员需与开发人员加强沟通,深入了解各Story模块的具体功能,然后根据模块对外接口标准,尽量构造出能全面覆盖模块内所有分支的测试数据以验证输出结果是否符合预期。而在设计与编写迭代验收测试用例时,测试人员则应着重关注 Story 之间的功能的交互。此外,在验收测试用例编写完成后,测试人员还需要再次与开发人员确认,并对测试用例进行项目组内部评审,并从测试的角度再次审查用例是否有遗漏。

(4)模块开发、单元测试、模块重构与模块集成

此阶段主要是开发人员进行,测试人员只需要在开发人员执行单元测试的基础上,根据其单元测试思路,对可能有遗漏的单元测试用例进行一些补充。

(5)Story 验收测试

测试人员根据前期制定好的验收标准,对开发人员交付的Story 进行验收测试。若发现 bug,测试人员将 Story 打回给开发人员,测试流程相应地回退到模块开发阶段。开发人员完成代码修改并对Story执行单元测试、模块重构与模块集成后,测试流程再次进入 Story 验收测试阶段。如果测试人员确认无误,则通过此次验收测试,进入联调测试阶段。

图1 Scrum模型一次迭代周期测试实施流程图

(6)联调测试

此阶段通常利用自动化测试工具运行基本的自动化用例集,以便在短时间内检测系统的基本功能。开发人员和测试人员都将参与此阶段的测试工作。如果所有用例全部测试通过,则进入迭代验收测试阶段;反之,则应分析失败原因,流程退回至模块编码阶段。

(7)迭代验收测试

在整个迭代周期,迭代验收测试是重中之重,其主要目的是对本轮迭代所交付的模块进行测试,以检验本轮迭代是否达到预期的验收标准。若迭代验收测试合格,则进入下一轮迭代的准备或者发布一个小型版本。否则,如果未达标或存在致命缺陷,测试人员可不接受此迭代版本,并将其打回给开发人员,流程退回至模块编码阶段。开发人员必须进行代码修改,并重新通过单元测试、模块重构、模块集成、Story 验收测试以及联调测试后才能再次回到迭代验收测试环节。除此以外,本阶段测试人员还可根据自身以往的经验以及自己对Story功能的理解,开展探索性测试,以便在项目早期尽可能地发现更多的系统缺陷,从而降低后期软件修改的成本。

3 结语

实践证明,峨眉山智慧旅游APP项目所实施的基于Scrum模型的敏捷测试流程是适用于敏捷开发过程的。它不仅汲取了传统软件测试的优点,而且能与“不断累加、迭代增长”的敏捷开发过程完全融合,使得测试工作能在整个项目生命周期中支持迭代开发,为以后旅游类移动应用领域的敏捷测试研究提供了借鉴和参考。

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

[2]毛陈诚,旅游类移动应用的用户需求分析研究[D],武汉理工大学,2013.

[3]王丽,移动应用软件测试探索[J],计算机系统应用,2013,22,(1).

[4]唐亚男,王振一,敏捷测试综述 [J],硅谷,2011.05:133-134.

Research on the Agile Test of Tourism APP Based on Scrum

Ran Xiaojuan
(Department of Information and Engineering Sichuan Tourism University,Chengdu Sichuan,610100)

With the arrival of the mobile industry in the era of mobile Internet, the number of tourism APP products is increasing, how to protect the quality of APP products become an important part of its agile development process which can’t be ignored. Based on the analysis of the status quo of agile testing, this paper expatiates the implementation process of Emei mountain tourism wisdom based on Scrum, and provides a reference for the practice of agile test in tourism mobile applications.

Tourism class APP;agile test; Scrum

冉晓娟(1982-),女,硕士研究生,讲师,研究方向为计算机应用、图形图像处理、软件测试等。

四川旅游学院校级科研项目(2016STUS10)。

猜你喜欢

单元测试测试人员测试用例
移动应用众包测试人员信誉度复合计算模型研究
基于SmartUnit的安全通信系统单元测试用例自动生成
基于混合遗传算法的回归测试用例集最小化研究
高校分析测试中心测试队伍建设方案初探
浅析软件测试中的心理学应用
基于依赖结构的测试用例优先级技术
一年级上册第五单元测试
一年级上册一、二单元测试
犯罪心理测试人员素质要求分析
第五单元测试卷