基于数据驱动的酒店对账自动化测试系统
副问题[/!--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:自动化测试框架布局图 各模块成果:
整个框架的事变流程大抵可以描写为:
3.框架优化 一个好的测试框架的方针是可以或许镌汰代码量,大大进步测试剧本开拓的服从。但它不是一挥而就的,而是跟着项目标不绝的深入举办一连地改造。从上线投入行使开始,我们的框架也在不绝优化,首要和各人分享以下几点履历: 1)Data 模块。在测试进程中发明一些测试数据会常常被行使到,并且常常必要改变,每次窜改必要窜改许多几何文件。我们对就对这部门数据举办了收取,放到 Data 模块中。 2)commonFunction 模块。在对 Excel 读写时,通过对差异的单位格数据范例的判定,举办差异的处理赏罚,来使单位格操纵的结实性加强。 3)对付 Excel 文件的读写必要多个轮回,为了进步机能,应该事先对数据举办预处理赏罚,停止多个轮回的嵌套。 近期筹划及演进偏向 (编辑:湖南网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |