資料介紹
【摘要】本文講述某個(gè)企業(yè)級(jí)SaaS產(chǎn)品自動(dòng)化測(cè)試項(xiàng)目的實(shí)踐過(guò)程。文章介紹了項(xiàng)目遇到的挑戰(zhàn)、應(yīng)對(duì)策略和實(shí)施過(guò)程,最后總結(jié)了企業(yè)級(jí)SaaS產(chǎn)品給自動(dòng)化測(cè)試帶來(lái)的新挑戰(zhàn)和項(xiàng)目的六點(diǎn)實(shí)踐經(jīng)驗(yàn)。
項(xiàng)目背景
奧博杰天中國(guó)測(cè)試團(tuán)隊(duì)負(fù)責(zé)一套云端人力資源管理產(chǎn)品的自動(dòng)化測(cè)試,產(chǎn)品簡(jiǎn)稱WHMC (Workforce Management and HCM Could Solution )。 該產(chǎn)品幫助大型企業(yè)管理員工考勤、排班優(yōu)化,以及缺勤等復(fù)雜業(yè)務(wù)邏輯。它的客戶包含制造商、零售商、醫(yī)療機(jī)構(gòu)、服務(wù)機(jī)構(gòu)、交通運(yùn)輸和物流等全球數(shù)千家各種規(guī)模機(jī)構(gòu)。由于業(yè)務(wù)復(fù)雜,WHMC被拆分成15個(gè)組件,每個(gè)組件配備10-20人的研發(fā)團(tuán)隊(duì)。 研發(fā)團(tuán)隊(duì)以項(xiàng)目為單位分布在美國(guó),加拿大,印度和中國(guó)多個(gè)不同的城市。WHMC作為一套SaaS云端解決方案,支持客戶按月購(gòu)買(mǎi)服務(wù), 同時(shí)也支持整套解決方案駐場(chǎng)部署在客戶的機(jī)房?jī)?nèi)。該產(chǎn)品在研發(fā)上有以下幾個(gè)特點(diǎn):
作為企業(yè)級(jí)SaaS,產(chǎn)品的功能組件多、集成和測(cè)試難度大。
國(guó)際化特征明顯,研發(fā)團(tuán)隊(duì)分布全球,溝通交流不便。
產(chǎn)品迭代更新快,每個(gè)研發(fā)團(tuán)隊(duì)都有自己的進(jìn)度,測(cè)試團(tuán)隊(duì)無(wú)法控制研發(fā)團(tuán)隊(duì)的工作安排。
面臨的挑戰(zhàn)
保證自動(dòng)化測(cè)試用例集可持續(xù)運(yùn)行是企業(yè)級(jí)SaaS產(chǎn)品進(jìn)行持續(xù)集成和自動(dòng)化部署(CI/CD)、實(shí)現(xiàn)敏捷開(kāi)發(fā)的核心。這一挑戰(zhàn)由奧博杰天的測(cè)試團(tuán)隊(duì)來(lái)?yè)?dān)當(dāng)。我們的測(cè)試團(tuán)隊(duì)雖然之前做過(guò)很多國(guó)外大型項(xiàng)目的自動(dòng)化測(cè)試,但是對(duì)測(cè)試功能點(diǎn)多、項(xiàng)目干系人分散、交付質(zhì)量要求又高的企業(yè)級(jí)SaaS還是第一次碰到。用之前的項(xiàng)目經(jīng)驗(yàn)去實(shí)施項(xiàng)目碰到了不少挑戰(zhàn),主要集中在以下三方面:
測(cè)試技術(shù)的挑戰(zhàn)
自動(dòng)化測(cè)試用例集分為UI 測(cè)試, API 測(cè)試, 和混合場(chǎng)景測(cè)試。我們使用TestNG (版本6.8.8)、Selenium (版本2.53.0) 的WebDriver、REST-Assured(版本2.9.0)作為測(cè)試框架的核心工具。開(kāi)發(fā)完成的自動(dòng)化測(cè)試用例上傳到Git倉(cāng)庫(kù)進(jìn)行版本管理,由Jenkins進(jìn)行CI/CD。測(cè)試用例生命周期及測(cè)試結(jié)果通過(guò)惠普的ALM (Application Lifecycle Management) 進(jìn)行管理。 整體測(cè)試框架如下圖:
其中開(kāi)發(fā)和執(zhí)行UI測(cè)試用例有兩個(gè)技術(shù)難點(diǎn):
一、Selenium判斷異步加載的網(wǎng)頁(yè)元素是否完成和如何定位網(wǎng)頁(yè)元素。
這是Selenium 的WebDriver進(jìn)行UI測(cè)試的經(jīng)典技術(shù)問(wèn)題。WHMC的很多網(wǎng)頁(yè)數(shù)據(jù)是通過(guò)Angular JS異步加載的,測(cè)試用例有時(shí)很難判斷待檢查網(wǎng)頁(yè)元素是否裝載完畢,造成超時(shí)或執(zhí)行失敗。例如,在計(jì)算工資的頁(yè)面,我們需要等員工的工時(shí)加載完然后點(diǎn)擊“計(jì)算”按鈕來(lái)計(jì)算應(yīng)付工資。由于工時(shí)的表格會(huì)動(dòng)態(tài)刷新,則可能計(jì)算錯(cuò)誤。
還有就是定位網(wǎng)頁(yè)元素,我們使用XPath定位,最常使用的是網(wǎng)頁(yè)元素的屬性值定位元素實(shí)例,例如div標(biāo)簽的ID、 img標(biāo)簽的href,input標(biāo)簽的type等屬性值。但是這些屬性在新版本中可能變化,造成查詢條件不穩(wěn)定。
二、SaaS模式下的多租戶測(cè)試。
SaaS產(chǎn)品不同租戶能使用的功能、 API限制、和數(shù)據(jù)隔離等方式等都不完全相同,多租戶測(cè)試場(chǎng)景有別于傳統(tǒng)自動(dòng)化測(cè)試項(xiàng)目。
產(chǎn)品更新快帶來(lái)的挑戰(zhàn)
WHMC的 15個(gè)組件都有自己的開(kāi)發(fā)計(jì)劃,開(kāi)發(fā)團(tuán)隊(duì)沒(méi)有及時(shí)通知到測(cè)試團(tuán)隊(duì),測(cè)試團(tuán)隊(duì)也很難去控制這些變化。組件發(fā)生變化后,其API文檔更新不及時(shí)或非常有限,很多變化的接口只有API的定義沒(méi)有參數(shù)說(shuō)明,測(cè)試團(tuán)隊(duì)在理解和修改API測(cè)試用例時(shí)遇到很大麻煩。
另外,因?yàn)闇y(cè)試框架是和測(cè)試用例開(kāi)發(fā)同步進(jìn)行的,測(cè)試框架發(fā)生的變化也對(duì)測(cè)試造成影響。測(cè)試框架新增了功能,意味著需要對(duì)已開(kāi)發(fā)的測(cè)試用例進(jìn)行更新。 頻繁更新的測(cè)試框架,對(duì)發(fā)現(xiàn)測(cè)試用例失敗的原因也帶來(lái)新的不確定因素。
多團(tuán)隊(duì)跨國(guó)溝通的挑戰(zhàn)
由于研發(fā)團(tuán)隊(duì)分散在不同的國(guó)家,項(xiàng)目的測(cè)試流程和溝通流程都存在不足。如圖:
測(cè)試用例的需求溝通完全通過(guò)ALM(Application Lifecycle Management)獲取。一些測(cè)試用例需求都寫(xiě)得比較模糊,測(cè)試團(tuán)隊(duì)需要花費(fèi)很長(zhǎng)時(shí)間和各組件負(fù)責(zé)人在ALM系統(tǒng)中來(lái)回澄清細(xì)節(jié)。
由于研發(fā)團(tuán)隊(duì)都在國(guó)外,我們很難得到關(guān)于產(chǎn)品的技術(shù)支持。在測(cè)試用例開(kāi)發(fā)過(guò)程中,一些測(cè)試用例執(zhí)行失敗的原因需要技術(shù)團(tuán)隊(duì)確認(rèn),只能通過(guò)郵件,對(duì)方回應(yīng)不及時(shí)。
開(kāi)發(fā)完測(cè)試用例,需要需求方review并接收。需求方確認(rèn)不及時(shí)造成大量已完成的測(cè)試用例停留在待提交狀態(tài)不能提交到Git進(jìn)行代碼管理,大量積壓的測(cè)試用例產(chǎn)生版本沖突。
項(xiàng)目從2017年1月開(kāi)始啟動(dòng),經(jīng)過(guò)3個(gè)月的實(shí)施,上訴問(wèn)題帶來(lái)的結(jié)果是每次回歸的通過(guò)率徘徊在40-50%;測(cè)試用例的產(chǎn)出效率很低,近40人的團(tuán)隊(duì)每天只能產(chǎn)出平均1個(gè)合格的自動(dòng)化測(cè)試用例;因?yàn)榈貌坏窖邪l(fā)團(tuán)隊(duì)的支持和理解,測(cè)試團(tuán)隊(duì)士氣低落,內(nèi)部彌漫著失敗的氣息。
應(yīng)對(duì)策略
測(cè)試團(tuán)隊(duì)意識(shí)到按照現(xiàn)有的流程再繼續(xù)下去是行不通的,于是在4月初果斷停止了所有進(jìn)行中的任務(wù),商量應(yīng)對(duì)方法。 在總結(jié)了前述的各種的挑戰(zhàn)后, 提出了如下應(yīng)對(duì)策略:
測(cè)試框架對(duì)常見(jiàn)的測(cè)試難點(diǎn)進(jìn)行封裝
對(duì)于異步數(shù)據(jù)加載問(wèn)題,我們將問(wèn)題分為不同的場(chǎng)景,提供一個(gè)示例來(lái)描述問(wèn)題的細(xì)節(jié)以及我們?nèi)绾翁幚硭漠?dāng)前方式。 同時(shí)負(fù)責(zé)測(cè)試框架的小組系統(tǒng)地了解這些場(chǎng)景,并封裝成標(biāo)準(zhǔn)方法,并為每個(gè)場(chǎng)景設(shè)置最大延遲時(shí)間,如果到時(shí)不返回期望值,則拋出異常。
對(duì)于Web元素定位器問(wèn)題,我們列出典型的情況,并與測(cè)試框架小組和國(guó)外各組件研發(fā)團(tuán)隊(duì)合作,將穩(wěn)定的查詢條件封裝成一個(gè)明確的查找方法。測(cè)試人員調(diào)用統(tǒng)一的方法進(jìn)行測(cè)試。
加強(qiáng)配置管理
包括:正確使用git工具和提交流程;使用JIRA配合AML對(duì)需求進(jìn)行管理;測(cè)試團(tuán)隊(duì)內(nèi)部代碼審查等。加強(qiáng)配置管理對(duì)于解決SaaS產(chǎn)品更新快這一挑戰(zhàn)非常有效。關(guān)于配置管理業(yè)界討論得比較多我就不詳細(xì)展開(kāi),只重點(diǎn)強(qiáng)調(diào)一下對(duì)于測(cè)試數(shù)據(jù)集的配置管理。
- 一個(gè)自動(dòng)化的測(cè)試流程 0次下載
- 批生產(chǎn)衛(wèi)星的桌面電接口自動(dòng)化測(cè)試系統(tǒng)綜述 15次下載
- 基于聚類分析的精密零件輪廓自動(dòng)化測(cè)量 12次下載
- 可提升樣本程序軟件質(zhì)量的自動(dòng)化測(cè)試工具 19次下載
- 面向Java的Randoop自動(dòng)化單元測(cè)試生成工具 8次下載
- 基于PC的自動(dòng)化SIMATIC-WinAC產(chǎn)品概述 9次下載
- NSAT-1000放大器自動(dòng)化測(cè)試系統(tǒng)的詳細(xì)資料簡(jiǎn)介 1次下載
- 自動(dòng)化與工程技術(shù)實(shí)例 7次下載
- 藍(lán)牙RF自動(dòng)化測(cè)試系統(tǒng)的簡(jiǎn)介和系統(tǒng)功能的詳細(xì)概述 1次下載
- 配電自動(dòng)化潮流計(jì)算測(cè)試平臺(tái)設(shè)計(jì) 2次下載
- GUI自動(dòng)化測(cè)試系統(tǒng) 1次下載
- 基于Lab引信自動(dòng)化測(cè)試系統(tǒng)設(shè)計(jì) 14次下載
- 基于Web的自動(dòng)化測(cè)試框架的研究 0次下載
- 自動(dòng)化測(cè)試趨勢(shì)展望2012 0次下載
- 軟件自動(dòng)化測(cè)試方案的效益分析
- OTA自動(dòng)化測(cè)試解決方案——實(shí)車(chē)級(jí)OTA測(cè)試系統(tǒng)PAVELINK.OTABOX 357次閱讀
- 工業(yè)自動(dòng)化和自動(dòng)化區(qū)別是什么 1028次閱讀
- 過(guò)程自動(dòng)化控制和運(yùn)動(dòng)自動(dòng)化控制的原理詳解 1349次閱讀
- 基于數(shù)據(jù)平臺(tái)流量的自動(dòng)化測(cè)試 634次閱讀
- OpenHarmony自動(dòng)化測(cè)試框架開(kāi)發(fā)指南 1108次閱讀
- 解密?chē)?guó)內(nèi)首款“無(wú)源通道信號(hào)自動(dòng)化測(cè)試”軟件 998次閱讀
- Selenium在自動(dòng)化中有何用處 1612次閱讀
- 自動(dòng)化測(cè)試框架unittes詳解 2730次閱讀
- 必看知識(shí):自動(dòng)化測(cè)試的十大疑問(wèn)和解答 3353次閱讀
- 自動(dòng)化測(cè)試系統(tǒng)面臨的設(shè)計(jì)挑戰(zhàn)及解決方案分析 1321次閱讀
- 如何縮短周期的Android手機(jī)自動(dòng)化測(cè)試方案 790次閱讀
- Python自動(dòng)化測(cè)試框架有哪些? 4575次閱讀
- ATE自動(dòng)化測(cè)試系統(tǒng)是什么_ATE自動(dòng)化測(cè)試系統(tǒng)介紹 3.2w次閱讀
- 自動(dòng)化領(lǐng)域初涉水 非標(biāo)自動(dòng)化和自動(dòng)化到底有哪些區(qū)別? 6087次閱讀
- 構(gòu)建以軟件為中心的下一代自動(dòng)化測(cè)試系統(tǒng) 1183次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1490次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 93次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識(shí)別和講解說(shuō)明
- 4.28 MB | 18次下載 | 4 積分
- 5開(kāi)關(guān)電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7基于單片機(jī)和 SG3525的程控開(kāi)關(guān)電源設(shè)計(jì)
- 0.23 MB | 3次下載 | 免費(fèi)
- 8基于單片機(jī)的紅外風(fēng)扇遙控
- 0.23 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開(kāi)關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評(píng)論
查看更多