CN108399130A - 自动生成测试案例的方法、装置、设备及可读存储介质 - Google Patents

自动生成测试案例的方法、装置、设备及可读存储介质 Download PDF

Info

Publication number
CN108399130A
CN108399130A CN201810173069.2A CN201810173069A CN108399130A CN 108399130 A CN108399130 A CN 108399130A CN 201810173069 A CN201810173069 A CN 201810173069A CN 108399130 A CN108399130 A CN 108399130A
Authority
CN
China
Prior art keywords
test cases
structure table
sql
table information
database structure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN201810173069.2A
Other languages
English (en)
Inventor
孙中熙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Ping An Technology Shenzhen Co Ltd
Original Assignee
Ping An Technology Shenzhen Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Ping An Technology Shenzhen Co Ltd filed Critical Ping An Technology Shenzhen Co Ltd
Priority to CN201810173069.2A priority Critical patent/CN108399130A/zh
Priority to PCT/CN2018/083934 priority patent/WO2019165691A1/zh
Publication of CN108399130A publication Critical patent/CN108399130A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof

Abstract

本发明公开了一种自动生成测试案例的方法,所述方法包括以下步骤:根据接收到的指令创建数据库结构表,获取所述数据库结构表信息;通过所述数据库结构表信息与sql语句的对应关系,将所述结构表信息转换为sql语句,形成sql测试数据;提取预设的固定模板,并将sql测试数据以及数据库结构表信息添加至所述固定模板,生成对应的测试案例;根据生成的测试案例对JAVA实体类代码测试。本发明还公开了一种自动生成测试案例的装置、设备及计算机可读存储介质。本发明能够简化开发人员编写代码的工作,减少代码开发时间,提高代码开发效率,提高测试代码的编写、以及代码测试效率。

Description

自动生成测试案例的方法、装置、设备及可读存储介质
技术领域
本发明涉及软件技术领域,尤其涉及一种自动生成测试案例的方法、装置、设备及计算机可读存储介质。
背景技术
随着人类各种应用以及硬件芯片技术的发展,各种应用软件越来越复杂和庞大,应用软件一般是由程序代码经过编译器转化的硬件处理单元能够识别的文件组成。复杂的软件需要开发大量的复杂的程序代码,因此程序代码管理问题己经变得日益突出。
目前在程序代码测试过程中几乎都是人工撰写测试用例,以及人工进行用例测试,人工成本和时间成本高,从一定程度上导致人力资源浪费,并且会造成开发效率降低,测试效率低下。
发明内容
本发明的主要目的在于提出一种自动生成测试案例的方法、装置、设备及计算机可读存储介质,旨在解决现有的测试用例编写方法人工成本和时间成本高,造成开发效率降低,测试效率低下的技术问题。
为实现上述目的,本发明提供一种自动生成测试案例的方法,所述方法包括:
根据接收到的指令创建数据库结构表,获取所述数据库结构表信息;
通过所述数据库结构表信息与sql语句的对应关系,将所述结构表信息转换为sql语句,形成sql测试数据;
提取预设的固定模板,并将sql测试数据以及数据库结构表信息添加至所述固定模板,生成对应的测试案例;
根据生成的测试案例对JAVA实体类代码测试。
可选地,所述根据生成的测试案例对JAVA实体类代码测试的步骤之前,还包括:
将生成的测试案例反馈至客户,接收用户挑选的测试案例,并将用户挑选的测试案例作为进行JAVA实体类代码测试的案例。
可选地,所述提取预设的固定模板,并将sql测试数据以及数据库结构表信息添加至所述固定模板,生成对应的测试案例的步骤包括:
将数据库结构表信息中的表名和\或字段名进行名称转换,转换成大驼峰或小驼峰的形式,形成JAVA实体类表名和\或字段名;
将所述sql测试数据及转换后数据库结构表信息添加至提取到的固定模板中,生成对应的测试案例。
可选地,所述数据库结构表信息包括行或列字段类型,所述sql语句包括预设sql字段类型,
所述通过所述数据库结构表信息与sql语句的对应关系,将所述结构表信息转换为sql语句,形成sql测试数据的步骤包括:
根据所述预设sql字段类型查找对应的行或列字段类型,提取查找到的行或列字段值;
获取预设的sql模板,并将查找到的行或列字段值添加至获取到的sql模板中,获得转换后的sql语句,形成sql测试数据。
可选地,所述根据接收到的指令创建数据库结构表,获取所述数据库结构表信息的步骤之后,还包括:
当接收到转换指令时,提取对应的字段类型对应关系表,并根据提取到的字段类型对应关系表将所述结构表信息转换为JAVA实体类代码。
可选地,所述提取对应的字段类型对应关系表,并根据提取到的字段类型对应关系表将所述结构表信息转换为JAVA实体类代码的步骤包括:
提取对应的字段类型对应关系表,并通过所述对应关系表将结构表信息映射成JAVA类型;
将数据库表名转换成大驼峰或小驼峰的形式,作为JAVA实体类名称;
根据映射的JAVA类型及JAVA实体类名称将所述结构表信息转换为JAVA实体类代码。
可选地,所述提取预设的固定模板,并将sql测试数据以及数据库结构表信息添加至所述固定模板,生成对应的测试案例的步骤之后,还包括:
通过所述结构表信息的对应关系,获取对应的中文注释名,并将提取到的中文注释名添加至生成的测试案例中。
此外,为实现上述目的,本发明还提供一种自动生成测试案例的装置,所述装置包括:
获取模块,用于根据接收到的指令创建数据库结构表,获取所述数据库结构表信息;
转换模块,用于通过所述数据库结构表信息与sql语句的对应关系,将所述结构表信息转换为sql语句,形成sql测试数据;
提取模块,用于提取预设的固定模板,并将sql测试数据以及数据库结构表信息添加至所述固定模板,生成对应的测试案例;
生成模块,用于根据生成的测试案例对JAVA实体类代码测试。
此外,为实现上述目的,本发明还提供一种自动生成测试案例的设备,所述自动生成测试案例的设备包括处理器、网络接口、用户接口及存储器,所述存储器中存储有自动生成测试案例的程序;所述处理器用于执行所述自动生成测试案例的程序,以实现如上所述的自动生成测试案例的方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有自动生成测试案例的程序,所述自动生成测试案例的程序被处理器执行时实现如上所述的自动生成测试案例的方法的步骤。
本发明提出的自动生成测试案例的方法、装置、设备及计算机可读存储介质,首先根据接收到的指令创建数据库结构表,获取所述数据库结构表信息;通过所述数据库结构表信息与sql语句的对应关系,将所述结构表信息转换为sql语句,形成sql测试数据;提取预设的固定模板,并将sql测试数据以及数据库结构表信息添加至所述固定模板,生成对应的测试案例;根据生成的测试案例对JAVA实体类代码测试,通过上述方式,即可根据数据库结构表信息、sql测试数据及所述固定模板生成测试案例,不需要用户手动进行编写,从而提高代码开发效率,提高测试代码的编写、以及代码测试的效率。
附图说明
图1为本发明自动生成测试案例的方法第一实施例的流程示意图;
图2为本发明自动生成测试案例的方法提取预设的固定模板,并将sql测试数据以及数据库结构表信息添加至所述固定模板,生成对应的测试案例的步骤的细化流程示意图;
图3为本发明自动生成测试案例的方法通过所述数据库结构表信息与sql语句的对应关系,将所述结构表信息转换为sql语句,形成sql测试数据的步骤的细化流程示意图;
图4为本发明自动生成测试案例的方法第二实施例的流程示意图;
图5为本发明实施例方案涉及的硬件运行环境的设备结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明实施例的主要解决方案是:首先根据接收到的指令创建数据库结构表,获取所述数据库结构表信息;通过所述数据库结构表信息与sql语句的对应关系,将所述结构表信息转换为sql语句,形成sql测试数据;提取预设的固定模板,并将sql测试数据以及数据库结构表信息添加至所述固定模板,生成对应的测试案例;根据生成的测试案例对JAVA实体类代码测试,通过上述方式,即可根据数据库结构表信息、sql测试数据及所述固定模板生成测试案例,不需要用户手动进行编写,从而提高代码开发效率,提高测试代码的编写、以及代码测试的效率。
本发明考虑到,目前在程序代码测试过程中几乎都是人工撰写测试用例,以及人工进行用例测试,人工成本和时间成本高,从一定程度上导致人力资源浪费,并且会造成开发效率降低,测试效率低下。
为此,本发明提供一种自动生成测试案例的方法。
参照图1,图1为本发明自动生成测试案例的方法第一实施例的流程示意图。
在本实施例中,该方法包括:
步骤S10,根据接收到的指令创建数据库结构表,获取所述数据库结构表信息;
在本实施例中,采用通过数据库结构表的方式生成测试案例,不需要用户进行手动编写,提高代码编写的效率,具体可以通过PowerDesigner的Notes的可扩展标记语言(XML,Extensible MarkupLanguage)格式进行创建。并建立拓展查询文件,该拓展查询文件名唯一映射一预先创建的拓展查询文件,该拓展查询文件为多表关联查询的结构化查询语言(SQL Structured Query Language)信息文件。比如用于测试的表cust_test_info,获取所述数据库结构表信息,所述结构表信息可以包括表名、字段名、中文注释名、字段类型及字段长度等;比如假设字段名可以为test_name,字段类型为varchar(10),不为空为notnull,中文注释名为“测试名称”。
步骤S20,通过所述数据库结构表信息与sql语句的对应关系,将所述结构表信息转换为sql语句,形成sql测试数据;
具体地,所述数据库结构表信息包括行或列字段类型,所述sql语句包括预设sql字段类型,然后根据所述数据库结构表信息中的行或列字段类型与预设的sql字段类型的对应关系,查找对应的行或列字段值,并提取预设的sql模板,根据查找到的行或列字段值以及预设的sql模板,将所述结构表信息转换为sql语句,形成sql测试数据。
进一步地,参照图2,所述步骤S20还包括:
步骤S21,根据所述预设sql字段类型查找对应的行或列字段类型,提取查找到的行或列字段值;
具体地,根据所述预设sql字段类型查找对应的行或列字段类型,提取查找到的行或列字段值,其中所述预设的sql字段类型可以为数据库结构表名,所述数据库结构表名可以通过用户进行输入,在接收到用户输入的数据库结构表名之后,即可根据接收到的数据库结构表名查找对应的行或列字段类型、字段名称等字段值;
步骤S22,获取预设的sql模板,并将查找到的行或列字段值添加至获取到的sql模板中,获得转换后的sql语句,形成sql测试数据。
然后获取预设的sql模板,并将查找到的行或列字段值添加至获取到的sql模板中,即可获得转换后的sql语句,形成sql测试数据,其中预设的sql模板为sql语句的通用语句,比如DELETE FROM、WHERE等。
步骤S30,提取预设的固定模板,并将sql测试数据以及数据库结构表信息添加至所述固定模板,生成对应的测试案例;
在生成测试数据之后,可以进一步提取预设的JAVA测试固定模板,并将sql测试数据以及数据库结构表信息添加至所述固定模板,即可生成对应的测试案例。
进一步地,参照图3,所述步骤S30包括:
步骤S31,将数据库结构表信息中的表名和\或字段名进行名称转换,转换成大驼峰或小驼峰的形式,形成JAVA实体类表名和\或字段名;
具体地,首先将数据库结构表信息中的表名和\或字段名进行名称转换,转换成大驼峰或小驼峰的形式,比如把test_name修改为驼峰形式的testName,形成JAVA实体类表名和\或字段名;
步骤S32,将所述sql测试数据及转换后数据库结构表信息添加至提取到的固定模板中,生成对应的测试案例。
将所述sql测试数据及转换后数据库结构表信息添加至提取到的固定模板中,生成对应的测试案例,具体地,将sql测试数据的标题添加至所述固定模板中的预设位置即可,比如添加至固定模板中的表现形式为:@Sql("classpath:initdata/Test Cust TestInfoServiceInitData.sql"),其中,Test Cust Test InfoServiceInitData.sql为sql测试数据的文件名,在执行测试案例过程中,通过所述sql文件名即可查找到具体的sql测试数据,因此在添加过程中,将sql文件名添加至固定模板即可,其实,所述固定模板为JAVA实体类代码的通用语句。
步骤S40,根据生成的测试案例对JAVA实体类代码测试。
在生成测试案例之后,即可根据生成的测试案例对JAVA实体类代码测试。
本实施例提出的自动生成测试案例的方法,首先根据接收到的指令创建数据库结构表,获取所述数据库结构表信息;通过所述数据库结构表信息与sql语句的对应关系,将所述结构表信息转换为sql语句,形成sql测试数据;提取预设的固定模板,并将sql测试数据以及数据库结构表信息添加至所述固定模板,生成对应的测试案例;根据生成的测试案例对JAVA实体类代码测试,通过上述方式,即可根据数据库结构表信息、sql测试数据及所述固定模板生成测试案例,不需要用户手动进行编写,从而提高代码开发效率,提高测试代码的编写、以及代码测试的效率。
进一步地,参照图4,基于本发明自动生成测试案例的方法第一实施例提出本发明自动生成测试案例的方法第二实施例。
在本实施例中,所述步骤S40之前的步骤还包括:
步骤S50,将生成的测试案例反馈至客户,接收用户挑选的测试案例,并将用户挑选的测试案例作为进行JAVA实体类代码测试的案例。
在本实施例中,生成的测试案例可以包括多个,用户可以对生成的测试案例进行挑选,在接收到用户选择的测试案例之后,即可将用户挑选的测试案例作为进行JAVA实体类代码测试的案例。
进一步地,基于本发明自动生成测试案例的方法第一实施例提出本发明自动生成测试案例的方法第三实施例。
在本实施例中,所述步骤S10之后的步骤还包括:
当接收到转换指令时,提取对应的字段类型对应关系表,并根据提取到的字段类型对应关系表将所述结构表信息转换为JAVA实体类代码。
在本实施例中,可以采用通过数据库结构表的方式生成JAVA实体类代码,具体地,当接收到转化指令时,首先根据上述拓展查询文件名读取相应的拓展查询文件,其中,上述拓展查询文件中包含:update语句和拓展查询入参字段。转换装置在上述update语句的指示下,根据获取的结构表信息和上述拓展查询入参字段生成输入字段域:根据上述输入字段域和预设的第一update函数模板,生成拓展查询的update函数。进一步,上述拓展查询文件中还可以包含:select语句、拓展查询结果字段以及用于指示单记录查询或多记录查询的指示信息。数据库操作代码生成装置在上述select语句的指示下,根据获取的结构表信息和上述拓展查询结果字段生成输出字段域:若上述指示信息指示的是多记录查询,则根据上述输出字段域和预设的多记录查询函数模板,生成拓展查询的多记录查询函数:若上述指示信息指示的是单记录查询,则根据上述输出字段域和预设的单记录查询字段类型对应关系表,生成拓展查询的单记录查询函数。上述单记录查询是指在调用完成后游标即被关闭,上述多记录查询是指第一次调用时打开游标并读取数据装满给定的结构数组,如果该结构数组一次装不完,则循环调用直到装满该结构数组,最后一次取完数据将自动关闭游标,或者没有取完数据时显示关闭游标;通过查找到的字段域以及字段类型对应关系表,将数据库结构表中的字段名转换为JAVA实体类代码。
进一步地,所述提取对应的字段类型对应关系表,并根据提取到的字段类型对应关系表将所述结构表信息转换为JAVA实体类代码的步骤包括:
提取对应的字段类型对应关系表,并通过所述对应关系表将结构表信息映射成JAVA类型;
在提取得到对应的字段类型对应关系表之后,即可通过所述对应关系表将结构表信息映射成JAVA类型,比如,假设字段类型对应关系表中,结构表信息类型为BIGINT,对应的JAVA类型为Long,则当结构表信息为BIGINT时,根据所述字段类型对应关系表将其映射为Long即可;
将数据库表名转换成大驼峰或小驼峰的形式,作为JAVA实体类名称;
在将所有的结构表信息映射为对应的JAVA类型之后,进一步将数据库表名转换成大驼峰或小驼峰的形式,作为JAVA实体类名称,比如把test_name修改为驼峰形式的testName,作为JAVA实体类名称。
根据映射的JAVA类型及JAVA实体类名称将所述结构表信息转换为JAVA实体类代码。
然后按照结构表信息的顺序,将转换后的JAVA类型进行整理,即可将所述结构表信息转换为JAVA实体类代码。
本实施例提出的自动生成测试案例的方法,通过当接收到转换指令时,提取对应的字段类型对应关系表,并根据提取到的字段类型对应关系表将所述结构表信息转换为JAVA实体类代码,即可自动生成代码,不需要用户手动进行编写,从而提高代码开发效率。
进一步地,基于本发明自动生成测试案例的方法第一实施例提出本发明自动生成测试案例的方法第四实施例。
在本实施例中,所述步骤S30之后的步骤还包括:
通过所述结构表信息的对应关系,获取对应的中文注释名,并将提取到的中文注释名添加至生成的测试案例中。
在本实施例中,在生成测试案例之后,可以进一步对生成的测试案例添加对应的中文注释,从而便于用户进行阅读,具体地,通过所述结构表信息的对应关系,比如,根据表名,查找对应的中文注释名等,获取对应的中文注释名,并将提取到的中文注释名添加至生成的测试案例中,具体地,将提取到的中文注释名添加至生成的测试案例中的方法可以为,为生成的测试案例中每一句JAVA实体类代码添加对应提取到的中文注释名,或者遍历转换后的JAVA实体类代码,获得代码中的重复语句,然后在重复代码语句中首先出现的代码添加中文注释名即可,不需要为每一句代码添加中文注释,具体可以按照代码排列的先后,进行遍历,从而获取生成的JAVA实体类代码中的相同代码,不需要在重复代码语句中的每一句都添加中文注释,从而减少存储空间,或者在预设空间中遍历所有的JAVA实体类代码,比如每个显示页面中的JAVA实体类代码,具体可以按照各个页面中代码排列的先后,进行遍历,从而获取各个页面的JAVA实体类代码中的相同代码,从而获得预设空间中重复的代码语句,然后在预设空间中首次出现的重复代码语句添加中文注释名,从而减少存储空间,同时便于用户阅读,当然,还可以采用其他方式将中文注释名添加至JAVA实体类代码,在此不做限制。
本实施例提出的自动生成测试案例的,通过所述结构表信息的对应关系,获取对应的中文注释名,并将提取到的中文注释名添加至生成的测试案例中,实现自动灵活添加中文注释,不需要用户进行手动添加,从而提高开发效率,并且提高中文注释的准确性,从而减少存储空间,并且便于用户阅读。
本发明进一步提供一种自动生成测试案例的装置,所述装置包括:
获取模块,用于根据接收到的指令创建数据库结构表,获取所述数据库结构表信息;
转换模块,用于通过所述数据库结构表信息与sql语句的对应关系,将所述结构表信息转换为sql语句,形成sql测试数据;
提取模块,用于提取预设的固定模板,并将sql测试数据以及数据库结构表信息添加至所述固定模板,生成对应的测试案例;
生成模块,用于根据生成的测试案例对JAVA实体类代码测试。
本发明自动生成测试案例的装置的具体实施例与上述自动生成测试案例的方法各实施例基本相同,在此不作赘述。
本发明实施例进一步提供一种自动生成测试案例的设备。
参照图5,图5为本发明实施例方案涉及的硬件运行环境的设备结构示意图。
如图5所示,该自动生成测试案例的设备可以包括:处理器1001,例如CPU,网络接口1002,用户接口1003,存储器1004。这些组件之间的连接通信可以通过通信总线实现。网络接口1002可选的可以包括标准的有线接口(用于连接有线网络)、无线接口(如WI-FI接口、蓝牙接口、红外线接口等,用于连接无线网络)。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选用户接口1003还可以包括标准的有线接口(例如用于连接有线键盘、有线鼠标等)和/或无线接口(例如用于连接无线键盘、无线鼠标)。存储器1004可以是高速RAM存储器,也可以是稳定的存储器(non-volatile memory),例如磁盘存储器。存储器1004可选的还可以是独立于前述处理器1001的存储装置。
可选地,该自动生成测试案例的设备还可以包括摄像头、RF(Radio Frequency,射频)电路,传感器、音频电路、WiFi模块等等。
本领域技术人员可以理解,图中示出的自动生成测试案例的设备结构并不构成对自动生成测试案例的设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图5所示,作为一种计算机存储介质的存储器1004中可以包括操作系统、网络通信模块、用户接口模块以及自动生成中文注释的程序。其中,操作系统是管理和控制自动生成测试案例的设备硬件与软件资源的程序,支持网络通信模块、用户接口模块、自动生成测试案例的程序以及其他程序或软件的运行;网络通信模块用于管理和控制网络接口1002;用户接口模块用于管理和控制用户接口1003。
在图5所示的自动生成测试案例的设备中,网络接口1002主要用于连接数据库,与数据库进行数据通信;用户接口1003主要用于连接客户端(可以理解为用户端),与客户端进行数据通信,如通过窗口展示信息给客户端,或者接收客户端发送的操作信息;而处理器1001可以用于执行存储器1004中存储的自动生成测试案例的程序,以实现如上述的自动生成测试案例的方法各个实施例的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述的自动生成测试案例的方法各个实施例的步骤。
还需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

Claims (10)

1.一种自动生成测试案例的方法,其特征在于,所述方法包括以下步骤:
根据接收到的指令创建数据库结构表,获取所述数据库结构表信息;
通过所述数据库结构表信息与sql语句的对应关系,将所述结构表信息转换为sql语句,形成sql测试数据;
提取预设的固定模板,并将sql测试数据以及数据库结构表信息添加至所述固定模板,生成对应的测试案例;
根据生成的测试案例对JAVA实体类代码测试。
2.如权利要求1所述的自动生成测试案例的方法,其特征在于,所述根据生成的测试案例对JAVA实体类代码测试的步骤之前,还包括:
将生成的测试案例反馈至客户,接收用户挑选的测试案例,并将用户挑选的测试案例作为进行JAVA实体类代码测试的案例。
3.如权利要求1所述的自动生成测试案例的方法,其特征在于,所述提取预设的固定模板,并将sql测试数据以及数据库结构表信息添加至所述固定模板,生成对应的测试案例的步骤包括:
将数据库结构表信息中的表名和\或字段名进行名称转换,转换成大驼峰或小驼峰的形式,形成JAVA实体类表名和\或字段名;
将所述sql测试数据及转换后数据库结构表信息添加至提取到的固定模板中,生成对应的测试案例。
4.如权利要求1所述的自动生成测试案例的方法,其特征在于,所述数据库结构表信息包括行或列字段类型,所述sql语句包括预设sql字段类型,所述通过所述数据库结构表信息与sql语句的对应关系,将所述结构表信息转换为sql语句,形成sql测试数据的步骤包括:
根据所述预设sql字段类型查找对应的行或列字段类型,提取查找到的行或列字段值;
获取预设的sql模板,并将查找到的行或列字段值添加至获取到的sql模板中,获得转换后的sql语句,形成sql测试数据。
5.如权利要求1所述的自动生成测试案例的方法,其特征在于,所述根据接收到的指令创建数据库结构表,获取所述数据库结构表信息的步骤之后,还包括:
当接收到转换指令时,提取对应的字段类型对应关系表,并根据提取到的字段类型对应关系表将所述结构表信息转换为JAVA实体类代码。
6.如权利要求5所述的自动生成测试案例的方法,其特征在于,所述提取对应的字段类型对应关系表,并根据提取到的字段类型对应关系表将所述结构表信息转换为JAVA实体类代码的步骤包括:
提取对应的字段类型对应关系表,并通过所述对应关系表将结构表信息映射成JAVA类型;
将数据库表名转换成大驼峰或小驼峰的形式,作为JAVA实体类名称;
根据映射的JAVA类型及JAVA实体类名称将所述结构表信息转换为JAVA实体类代码。
7.如权利要求1所述的自动生成测试案例的方法,其特征在于,所述提取预设的固定模板,并将sql测试数据以及数据库结构表信息添加至所述固定模板,生成对应的测试案例的步骤之后,还包括:
通过所述结构表信息的对应关系,获取对应的中文注释名,并将提取到的中文注释名添加至生成的测试案例中。
8.一种自动生成测试案例的装置,其特征在于,所述装置包括:
获取模块,用于根据接收到的指令创建数据库结构表,获取所述数据库结构表信息;
转换模块,用于通过所述数据库结构表信息与sql语句的对应关系,将所述结构表信息转换为sql语句,形成sql测试数据;
提取模块,用于提取预设的固定模板,并将sql测试数据以及数据库结构表信息添加至所述固定模板,生成对应的测试案例;
生成模块,用于根据生成的测试案例对JAVA实体类代码测试。
9.一种自动生成测试案例的设备,其特征在于,所述自动生成测试案例的设备包括处理器、网络接口、用户接口及存储器,所述存储器中存储有自动生成测试案例的程序;所述处理器用于执行所述自动生成测试案例的程序,以实现如权利要求1至7中任一项所述的自动生成测试案例的方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有自动生成测试案例的程序,所述自动生成测试案例的程序被处理器执行时实现如权利要求1至7中任一项所述的自动生成测试案例的方法的步骤。
CN201810173069.2A 2018-02-28 2018-02-28 自动生成测试案例的方法、装置、设备及可读存储介质 Pending CN108399130A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201810173069.2A CN108399130A (zh) 2018-02-28 2018-02-28 自动生成测试案例的方法、装置、设备及可读存储介质
PCT/CN2018/083934 WO2019165691A1 (zh) 2018-02-28 2018-04-20 自动生成测试案例的方法、装置、设备及可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810173069.2A CN108399130A (zh) 2018-02-28 2018-02-28 自动生成测试案例的方法、装置、设备及可读存储介质

Publications (1)

Publication Number Publication Date
CN108399130A true CN108399130A (zh) 2018-08-14

Family

ID=63091583

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810173069.2A Pending CN108399130A (zh) 2018-02-28 2018-02-28 自动生成测试案例的方法、装置、设备及可读存储介质

Country Status (2)

Country Link
CN (1) CN108399130A (zh)
WO (1) WO2019165691A1 (zh)

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109582563A (zh) * 2018-10-26 2019-04-05 平安科技(深圳)有限公司 测试案例的测试方法、装置、计算机设备及存储介质
CN109614315A (zh) * 2018-11-06 2019-04-12 武汉达梦数据库有限公司 一种数据同步测试用例的自动生成方法及系统
CN109992508A (zh) * 2019-03-22 2019-07-09 恒生电子股份有限公司 测试用例自动化生成方法、装置和电子设备
CN110162459A (zh) * 2019-04-15 2019-08-23 深圳壹账通智能科技有限公司 测试案例生成方法、装置及计算机可读存储介质
CN110750442A (zh) * 2019-09-06 2020-02-04 平安医疗健康管理股份有限公司 测试用例的生成方法、装置、设备及存储介质
CN110955600A (zh) * 2019-11-27 2020-04-03 中国银行股份有限公司 接口测试方法及装置
CN110968591A (zh) * 2018-09-30 2020-04-07 北京国双科技有限公司 查询语句的生成方法、装置、存储介质及处理器
CN111078205A (zh) * 2019-11-22 2020-04-28 北京锐安科技有限公司 一种模块化编程方法、装置、存储介质及电子设备
CN111459830A (zh) * 2020-04-07 2020-07-28 中国建设银行股份有限公司 测试案例生成方法及装置
CN112860580A (zh) * 2021-03-17 2021-05-28 厦门极致互动网络技术股份有限公司 一种基于Erlang的数据探测方法
CN112988595A (zh) * 2021-04-25 2021-06-18 深圳壹账通智能科技有限公司 动态同步测试方法、装置、设备及存储介质
CN113609128A (zh) * 2021-07-21 2021-11-05 深圳市元征未来汽车技术有限公司 生成数据库实体类的方法、装置、终端设备及存储介质
CN114416727A (zh) * 2021-12-21 2022-04-29 北京达佳互联信息技术有限公司 数据处理方法、装置、电子设备及存储介质
CN114510410A (zh) * 2020-11-16 2022-05-17 国际商业机器公司 合成去识别的测试数据

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110781074A (zh) * 2019-09-18 2020-02-11 平安银行股份有限公司 自动化测试方法、装置及存储介质
CN110837471B (zh) * 2019-11-06 2023-06-09 中国农业银行股份有限公司 一种测试方法、装置、服务器及存储介质
CN110825638B (zh) * 2019-11-08 2023-06-09 中国农业银行股份有限公司 一种测试案例生成方法、装置、服务器及存储介质
CN111143221B (zh) * 2019-12-28 2024-01-30 中国银行股份有限公司 一种测试方法及装置
CN111240967B (zh) * 2020-01-03 2023-09-15 北京字节跳动网络技术有限公司 一种代码生成方法及装置
CN111522748B (zh) * 2020-04-26 2023-06-13 中国农业银行股份有限公司 一种自动化测试案例生成方法、装置、服务器及存储介质
CN113569547A (zh) * 2020-04-28 2021-10-29 北京国双科技有限公司 警务系统测试方法及相关装置
CN111881220A (zh) * 2020-06-22 2020-11-03 北京城市网邻信息技术有限公司 列表存储下的数据操作方法、装置、电子设备和存储介质
CN111831561B (zh) * 2020-06-28 2024-01-12 许昌开普检测研究院股份有限公司 一种插件式测试案例库系统
CN111782193A (zh) * 2020-07-03 2020-10-16 紫光云技术有限公司 一种基于java语言代码自动生成方法
CN111930623B (zh) * 2020-08-10 2023-07-25 中国工商银行股份有限公司 一种测试案例构建方法、装置及电子设备
CN112860774A (zh) * 2021-01-06 2021-05-28 宝能(西安)汽车研究院有限公司 信号接口匹配方法及装置、计算机设备和可读存储介质
CN113515454A (zh) * 2021-07-01 2021-10-19 深圳创维-Rgb电子有限公司 测试用例生成方法、装置、设备及存储介质
CN114153911A (zh) * 2021-12-21 2022-03-08 浪潮软件集团有限公司 基于vba技术自定义生成数据库测试数据的方法与系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473325A (zh) * 2013-09-13 2013-12-25 中国工商银行股份有限公司 一种实现生成测试案例数据的系统及方法
CN103838672A (zh) * 2014-03-04 2014-06-04 中国工商银行股份有限公司 一种通用报表的自动化测试方法及装置
CN105373472A (zh) * 2015-10-10 2016-03-02 北京中创信测信息技术有限公司 一种基于数据库的统计准确性的测试方法及测试系统

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103473325A (zh) * 2013-09-13 2013-12-25 中国工商银行股份有限公司 一种实现生成测试案例数据的系统及方法
CN103838672A (zh) * 2014-03-04 2014-06-04 中国工商银行股份有限公司 一种通用报表的自动化测试方法及装置
CN105373472A (zh) * 2015-10-10 2016-03-02 北京中创信测信息技术有限公司 一种基于数据库的统计准确性的测试方法及测试系统

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110968591A (zh) * 2018-09-30 2020-04-07 北京国双科技有限公司 查询语句的生成方法、装置、存储介质及处理器
CN109582563A (zh) * 2018-10-26 2019-04-05 平安科技(深圳)有限公司 测试案例的测试方法、装置、计算机设备及存储介质
CN109582563B (zh) * 2018-10-26 2024-04-05 平安科技(深圳)有限公司 测试案例的测试方法、装置、计算机设备及存储介质
CN109614315B (zh) * 2018-11-06 2021-11-23 武汉达梦数据库股份有限公司 一种数据同步测试用例的自动生成方法及系统
CN109614315A (zh) * 2018-11-06 2019-04-12 武汉达梦数据库有限公司 一种数据同步测试用例的自动生成方法及系统
CN109992508A (zh) * 2019-03-22 2019-07-09 恒生电子股份有限公司 测试用例自动化生成方法、装置和电子设备
CN110162459A (zh) * 2019-04-15 2019-08-23 深圳壹账通智能科技有限公司 测试案例生成方法、装置及计算机可读存储介质
CN110750442A (zh) * 2019-09-06 2020-02-04 平安医疗健康管理股份有限公司 测试用例的生成方法、装置、设备及存储介质
CN111078205A (zh) * 2019-11-22 2020-04-28 北京锐安科技有限公司 一种模块化编程方法、装置、存储介质及电子设备
CN111078205B (zh) * 2019-11-22 2024-01-26 北京锐安科技有限公司 一种模块化编程方法、装置、存储介质及电子设备
CN110955600B (zh) * 2019-11-27 2023-11-10 中国银行股份有限公司 接口测试方法及装置
CN110955600A (zh) * 2019-11-27 2020-04-03 中国银行股份有限公司 接口测试方法及装置
CN111459830A (zh) * 2020-04-07 2020-07-28 中国建设银行股份有限公司 测试案例生成方法及装置
CN111459830B (zh) * 2020-04-07 2024-03-08 建信金融科技有限责任公司 测试案例生成方法及装置
CN114510410A (zh) * 2020-11-16 2022-05-17 国际商业机器公司 合成去识别的测试数据
CN112860580A (zh) * 2021-03-17 2021-05-28 厦门极致互动网络技术股份有限公司 一种基于Erlang的数据探测方法
CN112988595A (zh) * 2021-04-25 2021-06-18 深圳壹账通智能科技有限公司 动态同步测试方法、装置、设备及存储介质
CN113609128A (zh) * 2021-07-21 2021-11-05 深圳市元征未来汽车技术有限公司 生成数据库实体类的方法、装置、终端设备及存储介质
CN114416727A (zh) * 2021-12-21 2022-04-29 北京达佳互联信息技术有限公司 数据处理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
WO2019165691A1 (zh) 2019-09-06

Similar Documents

Publication Publication Date Title
CN108399130A (zh) 自动生成测试案例的方法、装置、设备及可读存储介质
CN108509199A (zh) 自动生成中文注释的方法、装置、设备及存储介质
CN108287694A (zh) 应用程序构建方法、系统、计算机设备和存储介质
CN109254907B (zh) 一种基于Java的接口测试报告生成方法及系统
CN104461898A (zh) 应用测试的方法、中控服务器、测试终端及系统
US20020091968A1 (en) Object-oriented data driven software GUI automated test harness
CN111818123B (zh) 网络前端远程回放方法、装置、设备及存储介质
US20070061641A1 (en) Apparatus and method for generating test driver
CN111259067B (zh) 一种基于Spring实现DAO接口的方法、装置及设备
WO2016026328A1 (zh) 一种信息处理方法、装置及计算机存储介质
EP1626359A2 (en) Methods and systems for electronic device modelling
CN104834600A (zh) 一种测试Android应用控件的方法
CN104049974A (zh) 控件动态组装方法和系统
CN103136100A (zh) 一种Android测试的方法和系统
CN106776779B (zh) 基于Mac平台的JSON数据生成实体文件的方法
CN111078217A (zh) 脑图生成方法、装置和计算机可读存储介质
CN111143228B (zh) 基于决策表法的测试代码生成方法及装置
CN111158665B (zh) 代码生成方法及装置、电子设备和存储介质
CN111881043A (zh) 页面测试方法、装置、存储介质和处理器
CN110162299A (zh) web程序及其快速开发框架、开发方法与相关设备
CN113641594B (zh) 跨端自动化测试方法以及相关装置
CN116303359A (zh) 一种数据库结构多类型文档导出的实现方法
CN106293862A (zh) 一种可扩展标记语言xml数据的解析方法和装置
CN115098368A (zh) 一种识别脑图用例的智能验证方法和装置
CN115562989A (zh) 一种自动化测试序列转化方法、系统、设备和介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20180814