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