轉(zhuǎn)載本文需注明出處:微信公眾號EAWorld寻咒,違者必究孟辑。
本文目錄:
一、為什么要做移動應用的持續(xù)集成與自動化測試
二尊惰、移動應用持續(xù)集成與自動化測試的四大挑戰(zhàn)
三柬姚、移動應用持續(xù)集成與自動化測試的最佳實踐
四拟杉、總結(jié)
一、為什么要做移動應用的
持續(xù)集成與自動化測試
持續(xù)集成與自動化測試是移動應用又快又穩(wěn)發(fā)展的催化劑
移動應用需要做持續(xù)集成與自動化測試嗎量承?我想告訴大家的是搬设,這事非常值得做。為什么呢撕捍?
近5年來移動業(yè)務快速發(fā)展拿穴,市場也日趨成熟,但是移動應用的開發(fā)在大部分企業(yè)里還是采用傳統(tǒng)的開發(fā)模式忧风,完全靠手工完成開發(fā)-編譯-打包-測試等一系列軟件研發(fā)過程默色,過程重復且單一,人會疲勞阀蒂,工作容易出錯该窗,無法實現(xiàn)敏捷研發(fā)弟蚀,更無法做到快速發(fā)布蚤霞,雖提出版本快速迭代目標,但未真正達到預期义钉。
引入持續(xù)集成與自動化測試昧绣,它利用空閑機器資源優(yōu)勢,可以將移動應用研發(fā)過程中的大部分工作實現(xiàn)自動化捶闸,釋放更多的人力投入到更有價值的工作當中去夜畴,持續(xù)集成與自動化測試才是移動應用又快又穩(wěn)發(fā)展的催化劑。
持續(xù)集成和自動化測試是加快移動應用快速發(fā)布的有效手段
與傳統(tǒng)企業(yè)應用相比删壮,移動應用是企業(yè)應用生態(tài)的有益補充贪绘,日趨得到重視,移動本身特點導致移動應用開發(fā)過程中測試回歸周期長央碟,質(zhì)量成本高税灌。
但由于投入的不足,移動應用發(fā)布周期長,響應市場慢菱涤,質(zhì)量低苞也,用戶體驗較差。持續(xù)集成與自動化測試支持快速回歸粘秆,縮短周期如迟,自動化執(zhí)行測試,穩(wěn)定高效攻走,持續(xù)集成和自動化測試組合拳是加快移動應用快速上線的有效手段殷勘,現(xiàn)在引入也正當時。
持續(xù)集成與自動化測試是移動應用測試發(fā)展的必然
從測試行業(yè)發(fā)展的角度來看昔搂,持續(xù)集成與自動化測試是移動應用測試發(fā)展的必然:
-
信息科技高速發(fā)展劳吠,企業(yè)的本土化信息也趨于國際化,削減企業(yè)營銷成本巩趁,提升企業(yè)形象痒玩,優(yōu)化用戶體驗,基于移動的信息展現(xiàn)也在影響著企業(yè)的品牌形象议慰,各企業(yè)開始對移動信息化平臺的質(zhì)量提出更高的要求蠢古,并開始重視質(zhì)量、看重測試别凹;
在移動互聯(lián)時代草讶,移動應用作為一種新的移動終端營銷服務,大部分企業(yè)都通過移動信息化來快速響應市場炉菲,要求公司移動產(chǎn)品的更新和發(fā)布能夠更快更穩(wěn)定堕战;
在測試行業(yè),持續(xù)集成與自動化測試不再是新概念拍霜,而且持續(xù)集成與自動化測試在很多企業(yè)內(nèi)部已開展實施嘱丢,大部分軟件巨頭還建立了自己的自動化測試體系與平臺,針對移動應用持續(xù)集成與自動化測試的工具相繼推出祠饺,有開源的也有商業(yè)的越驻,有條件的企業(yè)也正在組織預研,并嘗試落地道偷;
在移動應用質(zhì)量越來越受重視的今天缀旁,測試團隊的整體能力、測試效率和個人發(fā)展等方面也開始得到領導的特別關(guān)心勺鸦,希望測試團隊在能在移動應用的持續(xù)集成與自動化測試方面實現(xiàn)突破并巍,推動移動應用研發(fā)的創(chuàng)新。
持續(xù)集成和自動化測試是天生的一對
要真正實現(xiàn)移動應用的持續(xù)發(fā)布换途,開展持續(xù)集成懊渡、持續(xù)部署和持續(xù)測試是先決條件嘶窄,在無人值守的持續(xù)測試中,持續(xù)集成和自動化測試是絕配距贷,是天生的一對柄冲,它們相互依托,在移動應用的質(zhì)量保證中擔任重要角色忠蝗。
二现横、移動應用持續(xù)集成
與自動化測試的四大挑戰(zhàn)
挑戰(zhàn)一:要支持多技術(shù)、多平臺阁最,工具選型困難
對于好多企業(yè)來說戒祠,即使有了傳統(tǒng)應用測試經(jīng)驗的積累,要做好移動應用的持續(xù)集成與自動化測試速种,也不是一件很容易的事情姜盈,會面臨著諸多挑戰(zhàn)。
要面臨著著針對不同移動技術(shù)的持續(xù)集成配阵,除了傳統(tǒng)技術(shù)如Native馏颂、Hybrid和Web,還有新興的技術(shù)如驅(qū)動原生跨平臺技術(shù)(Primeton Mobile)棋傍,針對不同技術(shù)的持續(xù)集成該怎么做救拉?
持續(xù)集成和自動化測試如何支持多平臺,包括iOS瘫拣、Android等亿絮,我們需要為每個平臺部署一套,還是一套支持過個平臺麸拄,具體該如何做派昧?
要做持續(xù)集成和自動化測試,工具是不可缺少的拢切,現(xiàn)在市場上測試工具也層出不窮蒂萎,但成熟度、穩(wěn)定性方面還需要考究失球,是否同步移動技術(shù)發(fā)展岖是、是否含有技術(shù)支持帮毁,要從眾多的工具中選擇滿足自己應用的自動化測試要求的工具也不那么簡單实苞。
挑戰(zhàn)二:團隊規(guī)模小,自動化測試落地難
就大多數(shù)企業(yè)的移動發(fā)展來看烈疚,移動應用相對于傳統(tǒng)應用規(guī)模較小黔牵,麻雀雖小,五臟俱全爷肝,也需要做功能測試猾浦、服務接口測試陆错、兼容性測試、安全測試金赦、性能測試和用戶體驗測試等音瓷,測試任務也并不少,在有限測試投入的情況夹抗,自動化測試落地就比較難绳慎。
挑戰(zhàn)三:測試并行執(zhí)行互斥,測試數(shù)據(jù)難以管理
在移動應用的測試工作中漠烧,兼容性測試也是重中之重杏愤。
自動化測試需要在不同設備中執(zhí)行,測試用例需要為不同平臺準備一份嗎已脓?測試用例該怎么維護珊楼?測試數(shù)據(jù)又該如何管理?
根據(jù)行業(yè)調(diào)查結(jié)果顯示度液,并行測試在移動測試執(zhí)行中是一個基本的要求厕宗,大部分企業(yè)不可能為每個平臺準備一個獨立運行的后臺環(huán)境,
在測試資源共享的背景下堕担,要確保自動化測試支持多平臺并行執(zhí)行媳瞪,隨時并不限次數(shù)的執(zhí)行,對測試數(shù)據(jù)的組織與管理也是一個挑戰(zhàn)照宝。
挑戰(zhàn)四:測試的投入產(chǎn)出蛇受,收益平衡難以把握
少量的投入產(chǎn)生較大的回報,這是每個人都樂意見到的事情厕鹃。在測試過程中這是領導的要求兢仰,也是測試團隊努力的目標。
理想很豐滿剂碴,現(xiàn)實卻很骨感把将。
測試是無止境的,要做好持續(xù)集成與自動化測試忆矛,測試策略如何制定察蹲?測試人員如何分工?如何把握測試這個度催训?測試的投入和收益比較難以把握洽议。
三、移動應用持續(xù)集成
與自動化測試的最佳實踐
建立全面的持續(xù)測試管理體系
總的來說漫拭,移動應用引入持續(xù)集成與自動化測試要取得好的效果亚兄,僅僅依靠工具還是不夠的,建立一套全面的持續(xù)測試管理體系作為支撐也很有必要采驻,就我們的經(jīng)驗來講审胚,主要可以從測試體系匈勋、平臺與工具和組織保障三個維度入手,有計劃有步驟的開展實施膳叨,進行系統(tǒng)化建設洽洁。
首先,建立適合自身的測試體系:強調(diào)領導作用菲嘴,制訂質(zhì)量方針诡挂;制定測試過程與規(guī)范;制定測試標準临谱,準備過程文檔模板璃俗;在研發(fā)團隊內(nèi)部進行宣導,由質(zhì)量部門監(jiān)督實施悉默。
其次城豁,選擇適合自身發(fā)展的測試平臺與工具:引入持續(xù)集成與自動化測試平臺,搭建測試管理系統(tǒng)抄课,對測試需求唱星、測試計劃、測試環(huán)境跟磨、產(chǎn)品缺陷等管理间聊;
再次,提供強有力的組織保障:提高質(zhì)量是整個研發(fā)團隊的一致目標抵拘,我們要從團隊建設哎榴、技術(shù)能力、測試策略方法僵蛛、監(jiān)控度量技術(shù)等方面進行保障尚蝌,并在每個項目的迭代種針對度量結(jié)果進行分析、總結(jié)充尉,推動測試測試體系的不斷改進的良性循環(huán)飘言。
普元移動應用持續(xù)集成技術(shù)方案
從工具維度來講,移動應用的持續(xù)集成我們采用的是普元的持續(xù)集成平臺驼侠。普元的持續(xù)集成平臺支持以項目為單元進行持續(xù)集成管理姿鸿,以任務流驅(qū)動持續(xù)集成任務的完成;平臺支持分布式部署倒源,支持持續(xù)集成任務的分布式執(zhí)行苛预;平臺支持持續(xù)集成任務機的管理,可以完全勝任采用現(xiàn)有移動技術(shù)開發(fā)的移動應用的持續(xù)集成工作相速。
普元移動應用自動化測試技術(shù)方案
移動應用的自動化測試引入的是普元的統(tǒng)一測試平臺產(chǎn)品碟渺,這款產(chǎn)品采用行業(yè)內(nèi)典型的層次化體系架構(gòu),支持采用圖形化的測試用例開發(fā)突诬,入手容易苫拍;通過組件化方式構(gòu)件測試用例,后期維護簡單旺隙;不僅支持移動應用前端UI的自動化測試還支持后臺接口的自動化測試绒极,通過選件的擴展還能滿足更多的技術(shù)測試要求。
統(tǒng)一測試平臺與持續(xù)集成平臺無縫對接蔬捷,通過持續(xù)集成平臺能力垄提,則可以實現(xiàn)無人值守的對移動應用進行自動化的持續(xù)驗證。
針對移動應用的自動化測試周拐,引入普元的統(tǒng)一測試平臺铡俐,選擇移動測試選件MobileTest,使用產(chǎn)品自帶的移動技術(shù)組件妥粟,就能開發(fā)一套基于多平臺的自動化測試用例审丘,在裝有Android或iOS系統(tǒng)的手機、平板等設備上執(zhí)行勾给。
自動化測試設計原則與實施方法論
有了工具滩报,在自動化測試實施的時候還要遵守一些自動化測試的設計原則與實施方法論,設計原則主要把握四個方面:易實現(xiàn)性播急、易管理性脓钾、易維護性與易定位性。
在測試實施過程中桩警,無論被測對象是啥可训,我們通過選件提供自動化測試能力,通過組件封裝屏蔽技術(shù)細節(jié)捶枢,測試用例采用統(tǒng)一的實現(xiàn)方式沉噩,而且低學習曲線;
測試用例作為軟件資產(chǎn)進行規(guī)劃及管理柱蟀,測試用例實現(xiàn)與開發(fā)代碼的統(tǒng)一版本控制川蒙;測試用例資源的自包含,技術(shù)和業(yè)務進行分離长已,降低用例的耦合度畜眨,測試數(shù)據(jù)統(tǒng)一規(guī)劃,提高測試用例的可維護性术瓮;用例設計粒度適中康聂,降低邏輯復雜度,增加測試斷言胞四,輔以截圖恬汁、日志等提高用例執(zhí)行失敗的易定位性。
移動自動化測試用例開發(fā)流程化與標準化
在自動化測試設計原則和實施方法論的指導下辜伟,我們按照統(tǒng)一的流程與標準實現(xiàn)移動應用的自動化測試用例氓侧,并積累和沉淀測試知識庫脊另。
應用、數(shù)據(jù)及用例實行版本化管理
測試數(shù)據(jù)的管理在移動應用的自動化測試中也比較復雜约巷,因此在實施自動化測試前就要根據(jù)業(yè)務進行數(shù)據(jù)分析偎痛,根據(jù)被測對象的粒度及關(guān)系建立對應的數(shù)據(jù)模型,可以分為基礎數(shù)據(jù)独郎、項目數(shù)據(jù)踩麦、功能數(shù)據(jù)和用例數(shù)據(jù),基準數(shù)據(jù)在自動化測試執(zhí)行前由持續(xù)集成任務實現(xiàn)初始化或恢復氓癌,其他測試數(shù)據(jù)則可以在自動化測試執(zhí)行過程中準備谓谦。
測試基準數(shù)據(jù)集
基準測試數(shù)據(jù)環(huán)境是移動應用系統(tǒng)正常使用的前提,必須先恢復環(huán)境贪婉,才能繼續(xù)做接下來的測試數(shù)據(jù)準備工作反粥。
項目測試數(shù)據(jù)集
項目測試數(shù)據(jù)需要從版本管理工具中提取出來,通過腳本或者代碼的形式部署到測試環(huán)境中谓松,為模塊的正常執(zhí)行構(gòu)造條件星压。
功能測試數(shù)據(jù)集
功能模塊測試用例在執(zhí)行前,先在測試環(huán)境進行功能測試數(shù)據(jù)集的發(fā)布鬼譬,為功能模塊的測試用例執(zhí)行提供必要前提娜膘。
測試用例數(shù)據(jù)集
所有的數(shù)據(jù)環(huán)境和功能模塊準備完畢后,可以執(zhí)行用例自動化測試优质,測試中使用用例數(shù)據(jù)集竣贪。
在實施移動應用的持續(xù)集成與自動化測試項目時,要達到不限次數(shù)并且是無人值守對升級版本持續(xù)驗證的目標巩螃,我們必須對應用演怎、用例和數(shù)據(jù)統(tǒng)一實現(xiàn)版本化管理。
制定合理的自動化測試策略避乏,測試收益最大化
建立了體系爷耀,選擇了工具,面對移動應用的持續(xù)集成與自動化測試拍皮,該從哪里入手歹叮?
我們需要確定范圍,制定策略铆帽,以穩(wěn)定功能優(yōu)先作為自動化測試實施對象咆耿,像一些底層接口、關(guān)鍵集成場景爹橱、UI常用功能等萨螺,我們可以采用由點及面的方式展開,發(fā)揮自動化測試的執(zhí)行優(yōu)勢,爭取獲得測試收益最大化慰技。
建立金字塔層級結(jié)構(gòu)的自動化測試團隊
工具再完備椭盏,體系再好,沒有人也是不行的惹盼。真正實施持續(xù)集成與自動化測試的主體還是人庸汗,測試人員匱乏在移動應用項目團隊中比較常見惫确。
根據(jù)我們的經(jīng)驗手报,按照金字塔層級結(jié)構(gòu)建立起的自動化測試團隊,可以充分發(fā)揮團隊力量改化。在這樣的團隊里掩蛤,通過建立導師機制,讓每個測試團隊成員得到成長陈肛,形成個人的滿意感和歸屬感揍鸟。
四、總結(jié)
簡單總結(jié)一下句旱,移動應用持續(xù)集成與自動化測試的最佳實踐是通過持續(xù)集成阳藻、持續(xù)部署和持續(xù)測試,實現(xiàn)無人工值守對版本的持續(xù)驗證谈撒。
依靠普元移動測試盒子腥泥,移動應用的持續(xù)集成與自動化測試落地也不再是件難事。
關(guān)于作者
王俊其
普元軟件產(chǎn)品部統(tǒng)一測試平臺產(chǎn)品經(jīng)理啃匿,十余年的開發(fā)與測試工作經(jīng)驗蛔外,一直專注于持續(xù)集成與自動化測試領域技術(shù)的研究,帶領團隊成功實施多個有關(guān)金融溯乒、保險夹厌、證券等客戶的持續(xù)集成與自動化測試項目,現(xiàn)擔任普元統(tǒng)一測試平臺產(chǎn)品經(jīng)理裆悄,全面負責測試產(chǎn)品研發(fā)矛纹、售前咨詢、項目實施等工作光稼。
關(guān)于EAWorld
微服務或南,DevOps,元數(shù)據(jù)钟哥,企業(yè)架構(gòu)原創(chuàng)技術(shù)分享迎献,EAii(Enterprise?Architecture?Innovation?Institute)企業(yè)架構(gòu)創(chuàng)新研究院旗下官方微信公眾號。
微信號:eaworld腻贰,長按二維碼關(guān)注
普元信息于8月27日在北京主辦的PWorld MeetUp現(xiàn)已開放報名吁恍。活動主題“微服務&DevOps”,點擊閱讀全文即可報名冀瓦。
閱讀原文:http://mp.weixin.qq.com/s?timestamp=1502875551&src=3&ver=1&signature=SQAyAB6LCShQmhr45mmW1f48Ya2fu4-3cOJd85MMP6F-DKMhYtCsHYJEOTKiigjxP6*CBvubqXufPRRT4JJ-oYfLwBtsXNEaHcIBNQMhIxzhupjoCDha7afIEjRkkKXXCwB9Xgd4GynSyy9jOGvCL35A64Bb5K563F4VgTe5l3E=&devicetype=Windows-QQBrowser&version=61030004&pass_ticket=qMx7ntinAtmqhVn+C23mCuwc9ZRyUp20kIusGgbFLi0=&uin=MTc1MDA1NjU1&ascene=1