掌桥专利:专业的专利平台
掌桥专利
首页

自动化测试中数据库操作代码快速生成的方法

文献发布时间:2023-06-19 11:16:08


自动化测试中数据库操作代码快速生成的方法

技术领域

本发明涉及计算机程序开发技术领域,具体涉及一种自动化测试中数据库操作代码快速生成的方法。

背景技术

在传统银行的接口自动化测试中,对于数据库访问操作主要靠测试人员手动编写功能代码,然后在具体的接口测试代码中引用测试人员编写好的代码。由于这种方式下对数据库操作使用的SQL语句主要是嵌入在功能代码中,就会导致具体数据库操作的SQL语句和对外暴露的数据库访问耦合在一起,修改的时候有可能由于一个SQL语句的修改导致数据库访问的方法的逻辑也要一并修改。也即SQL语句和操作对象没有做到分离,增加了接口自动化测试代码后期维护的困难,维护成本增加。另外如果接口自动化测试代码所涉及的接口关联度较多,测试的业务项目中不仅需要操作大量数据库表外,还要测试人员编写数据库的访问和操作代码,增加了测试人员的代码开发成本,导致自动化测试编码和管理效率较大降低。

发明内容

本发明所解决的技术问题在于提供一种自动化测试中数据库操作代码快速生成的方法,通过数据库操作代码批量自动生成,降低了开发人员的代码开发成本,提高了自动化代码编写效率。

本发明提供的基础方案:

自动化测试中数据库操作代码快速生成的方法,包括:

基于MyBatis框架对数据库的操作配置映射文件代码、数据访问对象文件代码、数据对象文件代码进行配置,以生成配置文件;

在所述配置文件中,生成所述数据访问对象文件代码的代码注释和所述数据对象文件代码的代码注释,并将所述操作配置映射文件代码、所述数据访问对象文件代码和所述数据对象文件代码分目录存放;

根据所述配置文件,生成数据库操作代码,所述数据库操作代码包括操作配置映射文件代码、数据访问对象文件代码和数据对象文件代码。

基础方案的原理及效果为:

通过MyBatis框架的继承和扩展,以及结合数据访问对象文件代码的代码注释、数据对象文件代码的代码注释、以及数据库的操作配置映射文件代码的配置,实现数据库操作代码中数据对象、数据操作对象和数据库操作配置映射文件代码的生成,以及实现操作配置映射文件代码、数据对象文件代码、数据访问对象文件代码分目录存放,在需要的时候便于根据使用的需要分别对应进行检索,在系统中有故障问题产生时,也便于对故障问题的定位,以此提升了调试接口自动化代码时对故障问题的定位效率。

通过MyBatis框架对数据库的操作配置映射文件代码、数据访问对象文件代码、数据对象文件代码进行配置,其对数据库的各文件代码进行配置具体可以包括访问数据库的地址、用户名、密码、需要生成的操作配置映射文件代码的数据表,及其将要生成操作配置映射文件代码、数据访问对象文件代码和数据对象文件代码的存储路径。数据库操作代码包括操作配置映射文件代码、数据访问对象文件代码和数据对象文件代码,数据访问对象文件代码用于指定数据库的数据对象代码文件为数据库的操作对象,比如数据库的返回结果会以数据对象文件代码存放,数据访问对象文件代码和数据对象文件代码是以java格式存放文件代码。而操作配置映射文件代码是数据访问对象文件代码和数据对象文件代码在数据库的一个具体实现的映射文件,操作配置映射文件代码是以XML格式存放的文件代码。

根据MyBatis框架配置生成的数据库操作代码,生成数据访问对象的代码注释和数据对象的代码注释,以及生成所述数据库的操作配置映射文件代码,提高了接口自动化测试中生成代码的可阅读性。

另外,由于对数据对象、数据操作对象和数据库操作配置映射文件代码采取的分类结构,当需要修改具体数据库中文件代码的逻辑时,只需要在操作配置映射文件代码上进行相应配置即可,由于此时没有改动数据对象文件代码和数据操作对象文件,原有的接口自动化测试代码并不需要进行修改;而在接口自动化测试中,涉及到数据库操作一般都是在结构化查询语句上的操作,采用本方案的分类结构方式,可以使得在后续的代码维护中极大减少修改自动化测试代码的频率,提升了整个接口自动化测试代码的可维护性。

本方案中,MyBatis框架即是MyBatis数据库开源访问框架,代码开发人员可以借助于MyBatis框架提供的方法对不同的数据库进行配置批量生成。数据库的操作配置映射文件代码,也即是数据库的具体操作逻辑文件,以XML格式保存,主要是一些数据库操作的结构化查询语句,以及数据库的操作逻辑到对应数据操作对象的映射,每个数据库操作逻辑中需要的入参和出参到数据对象的映射,都放在数据库操作配置映射文件代码中。

上述方案中,数据库操作代码批量自动生成,极大降低了开发人员手动编写代码的带来的时间成本,提高了自动化代码编写效率。数据库中分类分层化的代码结构,更加清晰易读。数据库逻辑变化只需要修改操作配置映射文件代码,不需要修改具体的测试代码,后期维护修改更加方便高效。

进一步,在所述配置文件中,生成所述数据访问对象文件代码的代码注释和所述数据对象文件代码的代码注释,并将所述操作配置映射文件代码、所述数据访问对象文件代码和所述数据对象文件代码分目录存放的步骤包括:

继承所述MyBatis框架的CommentGenerator基类,添加基于类级别和基于方法级别的注释至所述配置文件。

通过继承MyBatis框架的CommentGenerator基类,为要生成的数据库操作代码中添加基于类级别和基于方法级别的注释,以此提升所生成数据库操作代码的可阅读性。

进一步,所述代码注释包括:

对所述数据对象类级别和属性级别的说明,以及对所述数据访问对象类级别和方法作用的说明。

本方案中,分别对数据对象类级别和属性级别进行说明,以及分别对数据访问对象类级别和方法作用进行说明,进一步提升了基于MyBatis框架生成的操作代码的可阅读性。

进一步,在所述配置文件中,生成所述数据访问对象文件代码的代码注释和所述数据对象文件代码的代码注释,并将所述操作配置映射文件代码、所述数据访问对象文件代码和所述数据对象文件代码分目录存放的步骤还包括:

继承所述MyBatis框架的PluginAdaper基类,生成所述数据库的操作配置映射文件代码。

通过继承MyBatis框架的PluginAdaper基类,每一文件数据表会生成一个操作配置映射文件代码,并自动对应到相应的数据访问对象文件代码,以便于后期对数据库操作的结构化查询语句修改均可直接在数据库的操作配置映射文件代码中进行配置。

进一步,在所述配置文件中,生成所述数据访问对象文件代码的代码注释和所述数据对象文件代码的代码注释,并将所述操作配置映射文件代码、所述数据访问对象文件代码和所述数据对象文件代码分目录存放的步骤还包括:

继承所述MyBatis框架的PluginAdaper基类,将生成的数据对象文件代码重命名为具有DO后缀的java文件并存放到数据对象目录下,将生成的数据访问对象文件代码重命名为具有DAO后缀的java文件并存放在数据访问对象目录下。

通过继承MyBatis框架的PluginAdaper基类,分别将生成的数据对象文件代码和数据访问对象重命名,且分别重命名为具有DO后缀的java文件和具有DAO后缀的java文件,并一一对应存放到数据对象目录和数据访问对象目录,以便于接口自动化测试中对数据库操作代码进行调用。

进一步,还包括:

根据所述生成的数据对象文件代码,动态输出所述数据对象具有的属性和所述数据对象的值。

通过动态输出数据对象具有的属性及值,便于开发人员在调试接口自动化测试代码时使用。

进一步,根据所述生成的数据对象文件代码,动态输出所述数据对象具有的属性和所述数据对象的值包括:

继承所述MyBatis的PluginAdaper基类,在所述数据对象中生成一个字符串代码,以打印数据对象中任一属性的名词和值。

通过继承MyBatis的PluginAdaper基类,在任一数据对象中生成一个字符串代码,打印其字符串代码属性的名词和值,便于开发人员在调试接口自动化测试代码时使用。

进一步,所述数据库操作代码为银行接口自动化测试的代码。

本方案中,数据对象文件代码、数据操作对象文件和数据库操作配置映射文件代码主要用于在银行接口自动化测试中需要对数据库进行操作的场景。

进一步,所述数据库为MySQL数据库或者oracle数据库。

本方案中基于MyBatis框架配置生成的数据库为MySQL数据库或者oracle数据库,通过基础java类文件进行继承并实现二次开发,对不同的数据库进行配置,以便于生成满足银行接口自动化测试的代码,适用范围更广。

附图说明

图1为本发明自动化测试中数据库操作代码快速生成的方法一实施例的流程示意图;

图2为本发明自动化测试中数据库操作代码快速生成的方法中一实施例涉及的模块示意图。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本发明的说明,其本身没有特定的意义。因此,“模块”、“部件”或“单元”可以混合地使用。

下面通过具体实施方式进一步详细说明:

本发明提供一种自动化测试中数据库操作代码快速生成的方法,该自动化测试中数据库操作代码快速生成的方法包括:

通过对MyBatis框架的CommentGenerator基类和PluginAdaper基类的重写,快速生成编写银行接口自动化测试代码中需要用到的对数据库的数据进行访问的代码;对需要操作的数据表较多的场景实现操作代码批量生成;以及结构化的操作代码管理,将对数据库的操作按照数据对象、数据访问对象、底层操作配置三种类型的文件进行管理。需要说明的是,本方案中操作代码,即是数据库生成的操作配置映射文件代码、数据访问对象文件代码、数据对象文件代码。

具体地,请参照图1和图2,图1为本发明自动化测试中数据库操作代码快速生成的方法一实施例的流程示意图,图2为本发明一种自动化测试中数据库操作代码快速生成的方法一实施例中所涉及模块示意图。

本发明实施例提供了自动化测试中数据库操作代码快速生成的方法的实施例,需要说明的是,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本发明实施例自动化测试中数据库操作代码快速生成的方法包括:

步骤S100,基于MyBatis框架对数据操作对象和数据库操作的操作配置映射文件代码、数据访问对象文件代码、数据对象文件代码进行配置,以生成配置文件;

本方案中,配置MySQL数据库或者oracle数据库操作代码的生成,并获取数据库的操作配置映射文件代码、数据访问对象文件代码、数据对象文件代码的存放路径,以及操作配置映射文件代码对应的文件数据表,以形成数据库的配置文件。需要说明的是,每一文件数据表会生成一个操作配置映射文件代码,并自动对应到相应的数据访问对象文件代码,以便于后期对数据库操作的结构化查询语句修改均可直接在数据库的操作配置映射文件代码中进行配置。

步骤S200,在所述配置文件中,生成所述数据访问对象文件代码的代码注释和所述数据对象文件代码的代码注释,并将所述数据访问对象文件代码和所述数据对象分目录存放。

通过MyBatis框架生成的配置文件,添加代码注释生成模块和操作配置映射文件代码生成模块,代码注释生成模块生成数据访问对象的代码注释和数据对象的代码注释,操作配置映射文件代码生成模块生成数据库的操作配置映射文件代码,各代码注释提高了接口自动化测试中生成代码的可阅读性。

进一步地,在一种可行的实施例中,步骤S200中,“在所述配置文件中,生成所述数据访问对象文件代码的代码注释和所述数据对象文件代码的代码注释,并将所述数据访问对象文件代码和所述数据对象分目录存放”的步骤,可以包括:

继承所述MyBatis框架的CommentGenerator基类,添加基于类级别和基于方法级别的注释至所述配置文件。

继承所述MyBatis框架的PluginAdaper基类,生成所述数据库的操作配置映射文件代码。

本方案中,参照如图2所示,通过添加代码注释生成模块和操作配置映射文件代码生成模块,通过对MyBatis框架的CommentGenerator基类的重建,为要生成的操作代码中添加基于类级别和基于方法级别的注释以提升操作代码的可阅读性。需要说明的是,本方案中代码注释包括对数据对象类级别的说明,如该数据对象的作用;以及数据对象属性级别的说明,如数据对象每一属性的具体作用是什么。对于数据访问对象类级别的说明,如该数据访问对象的作用,以及数据访问对象中的方法作用的说明。也即通过此类代码注释,便于开发人员在接口自动化测试中对于操作代码的阅读。

通过对MyBatis框架的PluginAdaper基类的重建,可以快速生成数据库的操作配置映射文件代码,每一文件数据表会生成一个操作配置映射文件代码,并自动对应到相应的数据访问对象文件代码,以便于开发人员对数据库操作的结构化语句修改时直接进行配置。

数据库的操作配置映射文件代码,也即是数据库的具体操作逻辑文件,以XML格式保存,主要是一些数据库操作的结构化查询语句,以及数据库的操作逻辑到对应数据操作对象的映射,每个数据库操作逻辑中需要的入参和出参到数据对象的映射,都放在数据库操作配置映射文件代码中。需要说明的是,入参的值是被调函数需要的,出参的值是主调函数需要的。

步骤S300,执行所述配置文件,生成数据库操作代码,所述数据库操作代码包括操作配置映射文件代码、数据访问对象文件代码和数据对象文件代码。

在一实施例中,通过MyBatis框架的继承和扩展,实现数据库操作代码的数据对象、数据操作对象和数据库操作配置映射文件代码的生成,以及实现数据对象、数据操作对象和数据库操作配置映射文件代码分目录存放,在需要的时候便于根据使用的需要进行检索。具体地,比如需要对数据对象进行修改就通过数据对象目录检索到对应的数据对象进行修改;需要对数据访问对象进行修改就通过数据访问对象目录检索到对应的数据访问对象进行修改;需要对底层SQL逻辑进行修改时,那么就通过操作配置映射文件代码存放的目录检索到对应的操作配置映射文件代码进行修改。而不会因为具体数据库操作的SQL语句和对外暴露的数据库访问耦合在一起,以致修改时由于一个SQL结构化查询语句的修改导致数据库访问的方法逻辑也要一并修改。也即本方案使得SQL结构化查询语句和操作对象分离,使得接口自动化测试代码后期维护更加简单,降低了后期的维护成本。同时,由于本方案将操作配置映射文件代码、数据访问对象文件代码、数据对象文件代码分目录存放,在调试接口自动化的代码时,更加便捷的定位故障位置,提升了故障问题的定位效率。

进一步地,在一种可行的实施例中,步骤S300中,“执行所述配置文件,生成数据库操作代码,所述数据库操作代码包括操作配置映射文件代码、数据访问对象文件代码和数据对象文件代码”的步骤,可以包括:

继承所述MyBatis框架的PluginAdaper基类,将生成的数据对象文件代码重命名为具有DO后缀的java文件并存放到数据对象目录下,将生成的数据访问对象文件代码重命名为具有DO后缀的java文件并存放在数据访问对象目录下。

本方案中,DO指数据对象文件,以java文件的形式保存,对数据库操作需要的入参和数据库操作后的结果都封装到数据对象中,以便于在接口自动化测试的代码的其他部分进行调用。DAO指数据访问对象文件,以java文件的形式保存,数据库的操作对外暴露的方法接口的集合,以java接口的方式来进行定义,接口自动化测试的代码其他部分可以通过调用本方案的方法以实现对数据库的操作。

上述实施例中,是为了解决传统技术的银行接口自动化测试中测试代码后期维护的困难,维护成本增加的问题。以及解决银行接口自动化测试代码所涉及的接口关联度较多,测试的业务项目中不仅需要操作大量数据库表外,还要开发人员编写数据库的访问和操作代码,增加了开发人员的代码开发成本,导致自动化测试编码和管理效率较大降低的问题。

本方案中,通过对MyBatis的CommentGenerator基类和PluginAdaper基类的重写,快速的生成编写自动化测试代码中需要用到的对数据库的数据进行操作的代码,对需要操作的数据表较多的场景实现操作代码批量生成,即是降低了开发人员的代码开发成本,提高了自动化代码编写效率;以及结构化代码管理,将对数据库的操作按照数据对象、数据访问对象、底层操作配置三种类型的文件进行管理,即是提升了银行调试接口自动化代码时对故障问题的定位效率,同时提升了整个接口自动化测试代码的可维护性。具体地,即是通过对数据库的操作分为数据对象文件代码DO、数据访问对象文件代码DAO、操作配置映射文件代码Mapper三种类型的文件,并分目录进行存放,在需要的时候便于根据使用的需要进行检索,在调试接口自动化的代码时,更加便捷的定位故障位置,提升了故障问题的定位效率。进一步地,由于本方案采取的分类分目录结构,在需要修改具体SQL的逻辑时,只需要在操作配置映射文件代码Mapper上进行相应配置即可,由于此时没有改动数据对象文件代码DO和数据访问对象文件代码DAO,原有的银行接口自动化测试代码并不需要进行修改。在银行接口自动化测试中,减少了后续的代码维护中修改自动化测试代码的频率,提升了整个接口自动化测试代码的可维护性。

以上的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属技术领域所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知系统不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。

相关技术
  • 自动化测试中数据库操作代码快速生成的方法
  • 计算机软件系统中实现快速生成管理实体代码的方法
技术分类

06120112859857