加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

基于数据驱动的酒店对账自动化测试系统

发布时间:2019-02-22 22:15:07 所属栏目:教程 来源:高攀
导读:跟着马蜂窝旅馆营业局限的不绝扩大,旅馆平台与各 OTA 的营业往来越来越频仍。现实营业中,在向各 OTA 平台结算金额前,我们必要通过对账环节与自身体系订单举办比对,确认两边订单金额、状态等是否存在非常,并以此作为结算金额的计较依据。 为什么必要自
副问题[/!--empirenews.page--]

跟着马蜂窝旅馆营业局限的不绝扩大,旅馆平台与各 OTA 的营业往来越来越频仍。现实营业中,在向各 OTA 平台结算金额前,我们必要通过对账环节与自身体系订单举办比对,确认两边订单金额、状态等是否存在非常,并以此作为结算金额的计较依据。

为什么必要自动化测试?

各人都知道,账务数据对准确性的要求很是高。之前旅馆账务数据同等性的测试,根基是依赖财政职员手工处理赏罚。

基于数据驱动的旅馆对账自动化测试体系

图1:已往我们是这样的

营业的增添使对账体系的测试使命越来越多,传统的测试要教育致的题目愈加明明:

1)多源数据。账务数据来自差异的 OTA 平台,数据名目没有同一尺度和类型,影响数据处理赏罚服从。

2)大量数据的处理赏罚服从以及精确性。数据的测试功效由账务职员手动比拟 Excel 文件得到,每月都必要处理赏罚海量的流水数据,处理赏罚慢、精度低,而且不行停止的有错误呈现。

3)多循环归测试。测试时使命流程长且一再单调,人工在多轮测试后,很是轻易疲劳厌倦,导致错误率上升,影响接下来的测试功效。

4)题目定位。行使手工测试,很难完备地记录测试功效和测试陈诉,在测试进程中碰着的非常环境,许多环境下无法举办及时记录,使得题目定位时耗费较长时刻。

基于旅馆对账使命的近况和题目,,我们抉择抉择回收以 Excel 表格作为数据源,行使 Java 说话来整合、筛选以及数据比拟的方法,搭建一套旅馆对账自动化测试平台,一方面可以有用地在短时刻内处理赏罚大量数据;另一方面可以将财政职员从错乱的手工对账测试中解放出来,进步事变服从。

基于数据驱动的旅馆对账自动化测试体系

图2:此刻我们是这样的

通过本文,但愿和各人分享已往几个月马蜂窝旅馆财政对账项目标试探和实践,并对对账自动化测试平台举办一个总结。

基于数据驱动的自动化测试体系

上文提到过,旅馆的对账数据来自于差异的 OTA,数据名目存在必然的差别。怎样行使统一套代码,来处理赏罚这些数据方面的差别,进步剧本的复用性呢?我们回收了基于数据驱动的测试方法。

1.怎样领略数据驱动

假如测试数据和代码团结在一路,每一次修改数据,两者都要同时变革,这种测试的方法不得当旅馆营业数据的处理赏罚。数据驱动的方法将测式数据参数化,通过给测试剧本类的结构函数转达参数,从而到达数据的改变驱动自动化测试的执行,最终使得测试功效的改变。

通过这种方法,可以使测试数据和测试代码相疏散,各自维护,只必要较少的代码发生的大量测试用例,进步剧本的复用率和可维护性。

2.技能实现

团结上文我们可以明晰,在数据驱动的自动化测试框架中,一是必必要有与电子表格、文本文件、数据库等集成的手段;二是必需稀有据来节制测试的营业流。整套框架我们回收的是 Maven + TestNG + Java +POI 来实现。

-- Maven 是一个通过设置文件来打点项目标构建器材,应用在自动化测试中时,无论是对 Jar 包的打点照旧执行测试案例,示意都很精彩。

-- TestNG 是一套可以操作注释来节制测试流程,从而到达强化测试成果的测试框架。它插手了单位测试、注解、组观念、套件、非常、参数化、依靠等测试头脑,使其可以很好地支持和打点自动化测试使命。

-- Apache POI 是一种风行的 API , 它应承措施员建设、修改和表现 MS Office 文件。它是由 Apache 软件基金会开拓和宣布的一个开源库,用于行使 Java 措施计划或修改 MS-Office 文件。 它包括将用户输入数据或文件到 MS Office 文档举办解码的类和要领(详见官网:http://poi.apache.org/)。

通过行使 Apache POI 来理会 Excel 文档,团结 Java 说话对文档内容进一步处理赏罚,可以到达自动化的测试结果。

详细到一个测试用例的执行进程为:

基于数据驱动的旅馆对账自动化测试体系

图3:测试用例执行进程

自动化测试框架大抵布局图:

基于数据驱动的旅馆对账自动化测试体系

图4:自动化测试框架布局图

各模块成果:

  • DataProvider:通过结构函数向测试剧本转达测试数据,从而到达数据驱动的目标;
  • TestScript:封装测试剧本;
  • commonFunction 将一些常用的要领抽离出来放到该模块中;
  • Data:将一些共享的常用的数据抽离出来放到该模块;
  • Report:测试功效模块;
  • 执行进口: xml 文件,可以用来设置测试的范畴。

整个框架的事变流程大抵可以描写为:

  1. Testng.xml 作为测试进口;
  2. DataProvider 通过测试数据驱动测试剧本的执行;
  3. 测试剧本中通过 POI 读取测试数据,Java 说明测试数据,然后输出Report(在 Testscipt 中必要用到 Data 模块和 CommonFunc 模块。)

3.框架优化

一个好的测试框架的方针是可以或许镌汰代码量,大大进步测试剧本开拓的服从。但它不是一挥而就的,而是跟着项目标不绝的深入举办一连地改造。从上线投入行使开始,我们的框架也在不绝优化,首要和各人分享以下几点履历:

1)Data 模块。在测试进程中发明一些测试数据会常常被行使到,并且常常必要改变,每次窜改必要窜改许多几何文件。我们对就对这部门数据举办了收取,放到 Data 模块中。

2)commonFunction 模块。在对 Excel 读写时,通过对差异的单位格数据范例的判定,举办差异的处理赏罚,来使单位格操纵的结实性加强。

3)对付 Excel 文件的读写必要多个轮回,为了进步机能,应该事先对数据举办预处理赏罚,停止多个轮回的嵌套。

近期筹划及演进偏向

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读