偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

基于數(shù)據(jù)驅(qū)動(dòng)的酒店對(duì)賬自動(dòng)化測(cè)試系統(tǒng)

開發(fā) 開發(fā)工具 自動(dòng)化
實(shí)際業(yè)務(wù)中,在向各 OTA 平臺(tái)結(jié)算金額前,我們需要通過(guò)對(duì)賬環(huán)節(jié)與自身系統(tǒng)訂單進(jìn)行比對(duì),確認(rèn)雙方訂單金額、狀態(tài)等是否存在異常,并以此作為結(jié)算金額的計(jì)算依據(jù)。

 隨著馬蜂窩酒店業(yè)務(wù)規(guī)模的不斷擴(kuò)大,酒店平臺(tái)與各 OTA 的業(yè)務(wù)往來(lái)越來(lái)越頻繁。實(shí)際業(yè)務(wù)中,在向各 OTA 平臺(tái)結(jié)算金額前,我們需要通過(guò)對(duì)賬環(huán)節(jié)與自身系統(tǒng)訂單進(jìn)行比對(duì),確認(rèn)雙方訂單金額、狀態(tài)等是否存在異常,并以此作為結(jié)算金額的計(jì)算依據(jù)。

為什么需要自動(dòng)化測(cè)試?

大家都知道,賬務(wù)數(shù)據(jù)對(duì)精確性的要求非常高。之前酒店賬務(wù)數(shù)據(jù)一致性的測(cè)試,基本是依靠財(cái)務(wù)人員手工處理。

 

圖1:過(guò)去我們是這樣的

業(yè)務(wù)的增長(zhǎng)使對(duì)賬系統(tǒng)的測(cè)試任務(wù)越來(lái)越多,傳統(tǒng)的測(cè)試方法導(dǎo)致的問(wèn)題愈加明顯:

1)多源數(shù)據(jù)。賬務(wù)數(shù)據(jù)來(lái)自不同的 OTA 平臺(tái),數(shù)據(jù)格式?jīng)]有統(tǒng)一標(biāo)準(zhǔn)和規(guī)范,影響數(shù)據(jù)處理效率。

2)大量數(shù)據(jù)的處理效率以及準(zhǔn)確性。數(shù)據(jù)的測(cè)試結(jié)果由賬務(wù)人員手動(dòng)對(duì)比 Excel 文件獲得,每月都需要處理海量的流水?dāng)?shù)據(jù),處理慢、精度低,并且不可避免的有錯(cuò)誤出現(xiàn)。

3)多輪回歸測(cè)試。測(cè)試時(shí)任務(wù)流程長(zhǎng)且重復(fù)單調(diào),人工在多輪測(cè)試后,非常容易疲憊厭倦,導(dǎo)致錯(cuò)誤率上升,影響接下來(lái)的測(cè)試結(jié)果。

4)問(wèn)題定位。使用手工測(cè)試,很難完整地記錄測(cè)試結(jié)果和測(cè)試報(bào)告,在測(cè)試過(guò)程中遇到的異常情況,很多情況下無(wú)法進(jìn)行實(shí)時(shí)記錄,使得問(wèn)題定位時(shí)花費(fèi)較長(zhǎng)時(shí)間。

基于酒店對(duì)賬任務(wù)的現(xiàn)狀和問(wèn)題,我們決定決定采用以 Excel 表格作為數(shù)據(jù)源,使用 Java 語(yǔ)言來(lái)整合、篩選以及數(shù)據(jù)對(duì)比的方式,搭建一套酒店對(duì)賬自動(dòng)化測(cè)試平臺(tái),一方面可以有效地在短時(shí)間內(nèi)處理大量數(shù)據(jù);另一方面可以將財(cái)務(wù)人員從龐雜的手工對(duì)賬測(cè)試中解放出來(lái),提高工作效率。

 

圖2:現(xiàn)在我們是這樣的

通過(guò)本文,希望和大家分享過(guò)去幾個(gè)月馬蜂窩酒店財(cái)務(wù)對(duì)賬項(xiàng)目的探索和實(shí)踐,并對(duì)對(duì)賬自動(dòng)化測(cè)試平臺(tái)進(jìn)行一個(gè)總結(jié)。

基于數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試系統(tǒng)

上文提到過(guò),酒店的對(duì)賬數(shù)據(jù)來(lái)自于不同的 OTA,數(shù)據(jù)格式存在一定的差異。如何使用同一套代碼,來(lái)處理這些數(shù)據(jù)方面的差異,提高腳本的復(fù)用性呢?我們采用了基于數(shù)據(jù)驅(qū)動(dòng)的測(cè)試方式。

1.如何理解數(shù)據(jù)驅(qū)動(dòng)

如果測(cè)試數(shù)據(jù)和代碼結(jié)合在一起,每一次修改數(shù)據(jù),兩者都要同時(shí)變化,這種測(cè)試的方式不適合酒店業(yè)務(wù)數(shù)據(jù)的處理。數(shù)據(jù)驅(qū)動(dòng)的方式將測(cè)式數(shù)據(jù)參數(shù)化,通過(guò)給測(cè)試腳本類的構(gòu)造函數(shù)傳遞參數(shù),從而達(dá)到數(shù)據(jù)的改變驅(qū)動(dòng)自動(dòng)化測(cè)試的執(zhí)行,最終使得測(cè)試結(jié)果的改變。

通過(guò)這種方式,可以使測(cè)試數(shù)據(jù)和測(cè)試代碼相分離,各自維護(hù),只需要較少的代碼產(chǎn)生的大量測(cè)試用例,提高腳本的復(fù)用率和可維護(hù)性。

2.技術(shù)實(shí)現(xiàn)

結(jié)合上文我們可以明確,在數(shù)據(jù)驅(qū)動(dòng)的自動(dòng)化測(cè)試框架中,一是必須要有與電子表格、文本文件、數(shù)據(jù)庫(kù)等集成的能力;二是必須有數(shù)據(jù)來(lái)控制測(cè)試的業(yè)務(wù)流。整套框架我們采用的是 Maven + TestNG + Java +POI 來(lái)實(shí)現(xiàn)。

-- Maven 是一個(gè)通過(guò)配置文件來(lái)管理項(xiàng)目的構(gòu)建工具,應(yīng)用在自動(dòng)化測(cè)試中時(shí),無(wú)論是對(duì) Jar 包的管理還是執(zhí)行測(cè)試案例,表現(xiàn)都很出色。

-- TestNG 是一套可以利用注釋來(lái)控制測(cè)試流程,從而達(dá)到強(qiáng)化測(cè)試功能的測(cè)試框架。它加入了單元測(cè)試、注解、組概念、套件、異常、參數(shù)化、依賴等測(cè)試思想,使其可以很好地支持和管理自動(dòng)化測(cè)試任務(wù)。

-- Apache POI 是一種流行的 API , 它允許程序員創(chuàng)建、修改和顯示 MS Office 文件。它是由 Apache 軟件基金會(huì)開發(fā)和發(fā)布的一個(gè)開源庫(kù),用于使用 Java 程序設(shè)計(jì)或修改 MS-Office 文件。 它包含將用戶輸入數(shù)據(jù)或文件到 MS Office 文檔進(jìn)行解碼的類和方法(詳見官網(wǎng):http://poi.apache.org/)。

通過(guò)使用 Apache POI 來(lái)解析 Excel 文檔,結(jié)合 Java 語(yǔ)言對(duì)文檔內(nèi)容進(jìn)一步處理,可以達(dá)到自動(dòng)化的測(cè)試效果。

具體到一個(gè)測(cè)試用例的執(zhí)行過(guò)程為:

 

圖3:測(cè)試用例執(zhí)行過(guò)程

自動(dòng)化測(cè)試框架大致結(jié)構(gòu)圖:

 

圖4:自動(dòng)化測(cè)試框架結(jié)構(gòu)圖

各模塊功能:

  • DataProvider:通過(guò)構(gòu)造函數(shù)向測(cè)試腳本傳遞測(cè)試數(shù)據(jù),從而達(dá)到數(shù)據(jù)驅(qū)動(dòng)的目的;
  • TestScript:封裝測(cè)試腳本;
  • commonFunction 將一些常用的方法抽離出來(lái)放到該模塊中;
  • Data:將一些共享的常用的數(shù)據(jù)抽離出來(lái)放到該模塊;
  • Report:測(cè)試結(jié)果模塊;
  • 執(zhí)行入口: xml 文件,可以用來(lái)配置測(cè)試的范圍。

整個(gè)框架的工作流程大致可以描述為:

  1. Testng.xml 作為測(cè)試入口;
  2. DataProvider 通過(guò)測(cè)試數(shù)據(jù)驅(qū)動(dòng)測(cè)試腳本的執(zhí)行;
  3. 測(cè)試腳本中通過(guò) POI 讀取測(cè)試數(shù)據(jù),Java 分析測(cè)試數(shù)據(jù),然后輸出Report(在 Testscipt 中需要用到 Data 模塊和 CommonFunc 模塊。)

3.框架優(yōu)化

一個(gè)好的測(cè)試框架的目標(biāo)是能夠減少代碼量,大大提高測(cè)試腳本開發(fā)的效率。但它不是一蹴而就的,而是隨著項(xiàng)目的不斷的深入進(jìn)行持續(xù)地改進(jìn)。從上線投入使用開始,我們的框架也在不斷優(yōu)化,主要和大家分享以下幾點(diǎn)經(jīng)驗(yàn):

1)Data 模塊。在測(cè)試過(guò)程中發(fā)現(xiàn)一些測(cè)試數(shù)據(jù)會(huì)經(jīng)常被使用到,而且經(jīng)常需要改變,每次改動(dòng)需要改動(dòng)好多文件。我們對(duì)就對(duì)這部分?jǐn)?shù)據(jù)進(jìn)行了收取,放到 Data 模塊中。

2)commonFunction 模塊。在對(duì) Excel 讀寫時(shí),通過(guò)對(duì)不同的單元格數(shù)據(jù)類型的判斷,進(jìn)行不同的處理,來(lái)使單元格操作的健壯性增強(qiáng)。

3)對(duì)于 Excel 文件的讀寫需要多個(gè)循環(huán),為了提高性能,應(yīng)該事先對(duì)數(shù)據(jù)進(jìn)行預(yù)處理,避免多個(gè)循環(huán)的嵌套。

近期規(guī)劃及演進(jìn)方向

現(xiàn)在測(cè)試數(shù)據(jù)的數(shù)據(jù)源是通過(guò) Excel 文件來(lái)獲取的,需要人為手工的進(jìn)行數(shù)據(jù)的整合,對(duì)于持續(xù)化集成是一個(gè)阻礙。通過(guò)給接口傳參來(lái)獲取數(shù)據(jù)的方式,是一個(gè)比較理想的構(gòu)想。通過(guò)接口獲取數(shù)據(jù)的方式,可以通過(guò) Jenkins 實(shí)現(xiàn)持續(xù)集成,測(cè)試人員可以給財(cái)務(wù)人員提供可視化的參數(shù)輸入入口,實(shí)現(xiàn)財(cái)務(wù)人員觸發(fā)測(cè)試腳本進(jìn)行測(cè)試。這樣做可以釋放測(cè)試資源,提高回歸頻率,減少財(cái)務(wù)風(fēng)險(xiǎn)。

本文作者:高攀,馬蜂窩酒店研發(fā)團(tuán)隊(duì)高級(jí)測(cè)試工程師。主要負(fù)責(zé)酒店自動(dòng)化體系的搭建和優(yōu)化,以及財(cái)務(wù)訂單業(yè)務(wù)線整體測(cè)試工作。

【本文是51CTO專欄作者馬蜂窩技術(shù)的原創(chuàng)文章,作者微信公眾號(hào)馬蜂窩技術(shù)(ID:mfwtech)】

戳這里,看該作者更多好文

責(zé)任編輯:武曉燕 來(lái)源: 51CTO專欄
相關(guān)推薦

2018-05-11 08:29:10

Python自動(dòng)化測(cè)試數(shù)據(jù)驅(qū)動(dòng)

2018-05-11 13:39:05

PythonCSV接口測(cè)試

2024-02-26 09:00:00

生成式AI主機(jī)自動(dòng)化

2012-02-27 17:34:12

Facebook自動(dòng)化

2022-02-17 10:37:16

自動(dòng)化開發(fā)團(tuán)隊(duì)預(yù)測(cè)

2023-12-25 09:52:32

2023-03-27 15:37:43

自動(dòng)化測(cè)試開發(fā)

2025-06-20 02:11:00

2023-11-15 18:02:52

2022-05-10 11:18:42

自動(dòng)化測(cè)試軟件測(cè)試

2022-06-08 14:22:55

自動(dòng)化測(cè)試測(cè)試

2021-09-03 09:56:18

鴻蒙HarmonyOS應(yīng)用

2023-05-11 15:32:05

物聯(lián)網(wǎng)酒店業(yè)

2013-05-16 10:58:44

Android開發(fā)自動(dòng)化測(cè)試

2024-03-08 13:13:05

人工智能自動(dòng)化

2014-04-16 14:15:01

QCon2014

2011-12-23 17:09:57

自動(dòng)化測(cè)試

2024-11-01 15:05:12

2021-06-30 19:48:21

前端自動(dòng)化測(cè)試Vue 應(yīng)用

2012-12-24 22:54:31

點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)