冉曉娟
(四川旅游學院信息與工程學院,四川成都,610100)
基于Scrum的旅游類APP敏捷測試研究
冉曉娟
(四川旅游學院信息與工程學院,四川成都,610100)
隨著旅游產(chǎn)業(yè)移動互聯(lián)網(wǎng)大時代的到來,旅游類APP產(chǎn)品的數(shù)量正與日俱增,如何保障APP產(chǎn)品的質(zhì)量成為其敏捷開發(fā)過程中不容忽視的重要環(huán)節(jié)。本文通過分析敏捷測試的研究現(xiàn)狀,結(jié)合峨眉山智慧旅游APP項目闡述基于Scrum的敏捷測試實施流程,為敏捷測試在旅游類移動應(yīng)用領(lǐng)域中的實踐提供了參考。
旅游類APP;敏捷測試 ;Scrum
旅游產(chǎn)業(yè)與移動互聯(lián)網(wǎng)產(chǎn)業(yè)的融合,催生了旅游類APP的誕生和發(fā)展,旅行者成為旅游主導者,并全程參與從策劃、預(yù)定到實施的整個旅游生命周期。旅行者通過APP可獲取旅游地的最新旅游資訊、民俗文化風情、餐飲住宿及天氣交通等實時信息,并能隨時制定或更改行程。近年來,旅游類APP的數(shù)量與日俱增,如何快速發(fā)布產(chǎn)品并迅速適應(yīng)頻繁變化的用戶需求儼然成為APP開發(fā)的重點,具有高度迭代、支持變化特性的敏捷開發(fā)模式自然成為關(guān)注的焦點,但軟件測試始終是APP質(zhì)量保障的重要基石。然而頻繁變更的需求以及急劇縮短的開發(fā)周期使得傳統(tǒng)測試無所適從。因此,開展適用于旅游類APP的敏捷測試研究,有利于在App開發(fā)和質(zhì)量保障之間找到平衡點,對提高測試效率具有十分重要的意義。
2001年“敏捷聯(lián)盟”提出了著名的敏捷宣言并定義了4個核心價值:相對于流程和工具而言,個體和互動更具價值;相對于詳盡文檔而言,工作的軟件更具價值;相對于合同談判而言,用戶合作更具價值;相對于遵循計劃而言,及時響應(yīng)變化更具價值。
隨著敏捷開發(fā)理論和實踐的不斷發(fā)展與完善,相繼出現(xiàn)了許多敏捷開發(fā)方法,其中比較著名的有:極限編程XP、Scrum、特征驅(qū)動開發(fā)、自適應(yīng)軟件開發(fā)等等。它們不僅具有高度迭代,及時響應(yīng)用戶反饋的共性,而且都強調(diào)測試的延續(xù)性。
敏捷測試正是順應(yīng)敏捷開發(fā)迭代與增量的特點,與敏捷開發(fā)流程融為一體,在整個軟件生命周期持續(xù)測試,以求達到效率與質(zhì)量平衡的一系列測試方法與實踐。同傳統(tǒng)測試相比,敏捷測試的特性主要體現(xiàn)在以下三個方面。
(1)敏捷測試減少了測試計劃、測試用例設(shè)計的比重,增加了測試人員與產(chǎn)品設(shè)計人員、開發(fā)人員的交流協(xié)作,強調(diào)從用戶視角出發(fā)。
(2)在敏捷測試流程中,測試人員參與單元測試;重點關(guān)注持續(xù)迭代的新功能,并進行足夠的驗收測試;側(cè)重依靠自動化測試對原有功能執(zhí)行回歸測試以保障軟件質(zhì)量。
(3)測試人員必須盡早開始并持續(xù)開展測試工作。軟件開發(fā)初期,測試人員就應(yīng)展開檢測工作,需要對軟件做好初期需求分析,對開發(fā)設(shè)計做好邏輯分析,并將需求評審結(jié)果及時、準確地反饋給設(shè)計和開發(fā)人員;在整個研發(fā)過程中,測試人員則需持續(xù)不斷地參與各個迭代周期中的項目評審與測試工作,并對軟件質(zhì)量進行及時反饋。
目前,針對旅游類移動應(yīng)用的研究,學者主要集中于移動互聯(lián)平臺的系統(tǒng)架構(gòu)及分層與模塊化設(shè)計方案的研究、數(shù)據(jù)庫的設(shè)計以及GIS技術(shù)的運用等,針對APP測試的研究很少,對其進行敏捷測試的專項研究更是幾乎沒有。由此可見,開展敏捷測試在旅游類移動應(yīng)用領(lǐng)域的探索和研究,對旅游互聯(lián)網(wǎng)產(chǎn)業(yè)未來的發(fā)展具有重要的理論依據(jù)和應(yīng)用價值。
目前, Scrum 是最為流行和有效的敏捷開發(fā)模型之一。以峨眉山智慧旅游APP項目為例,項目組引入了Scrum模型,根據(jù)其迭代開發(fā)的特點,在項目初期,通過與項目組所有成員的反復(fù)研究、討論與嘗試,最終確定3周作為一個迭代開發(fā)周期,制定了相應(yīng)的測試計劃,并指出了每輪迭代周期中具體某個時間點需要完成的關(guān)鍵工作,如表1所示。
表1 每輪迭代周期的測試計劃
根據(jù)測試計劃,峨眉山智慧旅游App項目在Scrum模型下一次迭代周期的敏捷測試實施流程及具體測試工作如圖1所示,整個測試流程大致呈螺旋狀。這種敏捷測試流程不僅能使測試工作提前介入,而且能在項目研發(fā)的任意時刻提出新需求,并在下一個迭代周期新需求都能得到響應(yīng),還可以有效解決軟件小型版本的發(fā)布問題。
每輪迭代周期各個測試實施階段測試人員需要做的具體工作如下。
(1)劃分Story
測試人員需要和開發(fā)人員一起共同參與制定本輪迭代計劃完成的任務(wù)以及具體的Story 如何劃分。此外,測試人員還要進行需求的驗證,包括評審迭代計劃的制定以及Story劃分是否合理等。
(2)澄清Story
測試人員需深入理解各個Story的設(shè)計,盡早發(fā)現(xiàn)系統(tǒng)可能存在的隱患,并參與制定迭代驗收標準和可測試性需求。
(3)設(shè)計與編寫驗收測試用例
測試人員需要完成Story驗收測試用例及迭代驗收測試用例的設(shè)計與編寫。在設(shè)計與編寫Story的驗收測試用例時,測試人員需與開發(fā)人員加強溝通,深入了解各Story模塊的具體功能,然后根據(jù)模塊對外接口標準,盡量構(gòu)造出能全面覆蓋模塊內(nèi)所有分支的測試數(shù)據(jù)以驗證輸出結(jié)果是否符合預(yù)期。而在設(shè)計與編寫迭代驗收測試用例時,測試人員則應(yīng)著重關(guān)注 Story 之間的功能的交互。此外,在驗收測試用例編寫完成后,測試人員還需要再次與開發(fā)人員確認,并對測試用例進行項目組內(nèi)部評審,并從測試的角度再次審查用例是否有遺漏。
(4)模塊開發(fā)、單元測試、模塊重構(gòu)與模塊集成
此階段主要是開發(fā)人員進行,測試人員只需要在開發(fā)人員執(zhí)行單元測試的基礎(chǔ)上,根據(jù)其單元測試思路,對可能有遺漏的單元測試用例進行一些補充。
(5)Story 驗收測試
測試人員根據(jù)前期制定好的驗收標準,對開發(fā)人員交付的Story 進行驗收測試。若發(fā)現(xiàn) bug,測試人員將 Story 打回給開發(fā)人員,測試流程相應(yīng)地回退到模塊開發(fā)階段。開發(fā)人員完成代碼修改并對Story執(zhí)行單元測試、模塊重構(gòu)與模塊集成后,測試流程再次進入 Story 驗收測試階段。如果測試人員確認無誤,則通過此次驗收測試,進入聯(lián)調(diào)測試階段。
圖1 Scrum模型一次迭代周期測試實施流程圖
(6)聯(lián)調(diào)測試
此階段通常利用自動化測試工具運行基本的自動化用例集,以便在短時間內(nèi)檢測系統(tǒng)的基本功能。開發(fā)人員和測試人員都將參與此階段的測試工作。如果所有用例全部測試通過,則進入迭代驗收測試階段;反之,則應(yīng)分析失敗原因,流程退回至模塊編碼階段。
(7)迭代驗收測試
在整個迭代周期,迭代驗收測試是重中之重,其主要目的是對本輪迭代所交付的模塊進行測試,以檢驗本輪迭代是否達到預(yù)期的驗收標準。若迭代驗收測試合格,則進入下一輪迭代的準備或者發(fā)布一個小型版本。否則,如果未達標或存在致命缺陷,測試人員可不接受此迭代版本,并將其打回給開發(fā)人員,流程退回至模塊編碼階段。開發(fā)人員必須進行代碼修改,并重新通過單元測試、模塊重構(gòu)、模塊集成、Story 驗收測試以及聯(lián)調(diào)測試后才能再次回到迭代驗收測試環(huán)節(jié)。除此以外,本階段測試人員還可根據(jù)自身以往的經(jīng)驗以及自己對Story功能的理解,開展探索性測試,以便在項目早期盡可能地發(fā)現(xiàn)更多的系統(tǒng)缺陷,從而降低后期軟件修改的成本。
實踐證明,峨眉山智慧旅游APP項目所實施的基于Scrum模型的敏捷測試流程是適用于敏捷開發(fā)過程的。它不僅汲取了傳統(tǒng)軟件測試的優(yōu)點,而且能與“不斷累加、迭代增長”的敏捷開發(fā)過程完全融合,使得測試工作能在整個項目生命周期中支持迭代開發(fā),為以后旅游類移動應(yīng)用領(lǐng)域的敏捷測試研究提供了借鑒和參考。
[1]張曉靜,敏捷測試在移動App開發(fā)中旳研究與應(yīng)用[J],電子科學技術(shù),2015,02(02):211-213.
[2]毛陳誠,旅游類移動應(yīng)用的用戶需求分析研究[D],武漢理工大學,2013.
[3]王麗,移動應(yīng)用軟件測試探索[J],計算機系統(tǒng)應(yīng)用,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-),女,碩士研究生,講師,研究方向為計算機應(yīng)用、圖形圖像處理、軟件測試等。
四川旅游學院校級科研項目(2016STUS10)。