CN109460349A - 一种基于日志的测试用例生成方法和装置 - Google Patents

一种基于日志的测试用例生成方法和装置 Download PDF

Info

Publication number
CN109460349A
CN109460349A CN201811094201.7A CN201811094201A CN109460349A CN 109460349 A CN109460349 A CN 109460349A CN 201811094201 A CN201811094201 A CN 201811094201A CN 109460349 A CN109460349 A CN 109460349A
Authority
CN
China
Prior art keywords
server
log
data
test case
database
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.)
Granted
Application number
CN201811094201.7A
Other languages
English (en)
Other versions
CN109460349B (zh
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.)
Wuhan Dameng Database Co Ltd
Original Assignee
Wuhan Dameng Database 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 Wuhan Dameng Database Co Ltd filed Critical Wuhan Dameng Database Co Ltd
Priority to CN201811094201.7A priority Critical patent/CN109460349B/zh
Publication of CN109460349A publication Critical patent/CN109460349A/zh
Application granted granted Critical
Publication of CN109460349B publication Critical patent/CN109460349B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明涉及数据库技术领域,提供了一种基于日志的测试用例生成方法和装置。其中方法包括获取待测试服务器的待生成的测试用例所包含的测试要素;其中,测试要素包括数据表格对象、各软件对象、数据库环境类型和各关联数据库交互中的一项或者多项;向网络中的各服务器发送携带测试要素的日志请求;接收各服务器在分析测试要素和自身存储的标定信息后返回的日志文件片段;根据目标日志文件片段生成测试用例。本发明提出了针对特定应用场景下的差异化的测试用例的生成,通过对表格对象、各软件对象、数据库环境类型和/或各关联数据库交互数据进行标定,从而能够为特定应用场景下的待测服务器提供了专属测试用例生成的可能。

Description

一种基于日志的测试用例生成方法和装置
【技术领域】
本发明涉及数据库技术领域,特别是涉及一种基于日志的测试用例生成方法和装置。
【背景技术】
在数据同步软件测试中,由于需要测试源端数据库的各类数据定义语言 (DataDefinition Language,简写为:DDL)和数据操纵语言(Data Manipulation Language,简写为:DML)语句操作是否均能正常同步至目的端,因此需要编写大量的DDL SQL和DML SQL测试语句,并将结构化查询语言(Structured Query Language,简写为:SQL)语句作为测试用例在源端执行。生成SQL测试语句的方法测试效率低下,劳动强度大,且因为人为原因容易造成测试用例集覆盖不完全的情况发生。尽管当前有部分方法可以实现SQL测试语句的自动化生成,如:某专利实现了一种从表示文法的BNF文件生成SQL测试用例集合的自动化过程(该专利具体信息:《一种自动生成SQL语句的系统和方法》——天津南大通用),但这些自动化方法并不能很好的解决测试用例覆盖不完全的问题,因为在实际的数据同步环境中,用户在源端会进行各种各样的操作,尽管有方法能够实现SQL测试用例的自动化生成,但无法覆盖到各类场景下实际用户的操作,例如:用户可能会创建多张表,有的表有主键,有的表有索引,有的表包含10 个字段,有的表包含8个字段,每个字段又有可能是不同的数据类型(如int, char,clob等),在这种情况下,测试用例很难覆盖到所有实际场景。
鉴于此,克服该现有技术所存在的缺陷是本技术领域亟待解决的问题。
【发明内容】
本发明要解决的技术问题是目前测试用例无法完全覆盖用户实际操作的不足。
本发明进一步要解决的技术问题是现有的基于日志生成的测试用例都是普适性的,并没有专项测试用例生成的先例和途径。
本发明采用如下技术方案:
第一方面,本发明提出了一种基于日志的测试用例生成方法,网络中的各服务器周期性的梳理本地记录的日志文件,对于日志文件中记录的各数据表格对象、各软件对象、数据库环境类型和/或各关联数据库交互数据进行标定,所述生成方法包括:
获取待测试服务器的待生成的测试用例所包含的测试要素;其中,所述测试要素包括所述数据表格对象、各软件对象、数据库环境类型和各关联数据库交互中的一项或者多项;
向所述网络中的各服务器发送携带所述测试要素的日志请求;
接收各服务器在分析所述测试要素和自身存储的标定信息后返回的日志文件片段;
根据所述目标日志文件片段生成测试用例。
优选的,所述对于日志文件中记录的各数据表格对象、各软件对象、数据库环境类型和/或各关联数据库交互数据进行标定,具体包括:
对于数据表格对象的生成和/或删除动作所在时间节点进行标定;和/或,
对于软件对象在服务器中的数据访问量进行统计,并根据预设时间段内数据访问量的大小,按照相应分级进行标定;和/或,
对于数据库环境类型,按照特定数据库所适用的环境类型进行标定,包括:备份类型数据库的工作时间节点的标定、金融类型数据库的按照金融环境进行标定、企业类型数据库的按照企业规模进行标定;和/或,
对于关联数据库交互数据的标定,包括数据库之间交互数据量和耗时的标定。
优选的,所述标定具体包括:
根据数据库的系统表确定事务中数据表变更的行信息所对应的索引信息,并将所述事务中数据表变更的行信息和其对应的索引信息,确定为事务的变更数据信息;
根据所述事务的标记信息和事务的变更数据信息,得到用于表示日志文件里对应的事务的变化数据的事务逻辑信息,并依据所述事物逻辑信息生成所述标定信息。
优选的,测试平台中存储有网络中的各服务器的标定信息,所述向所述网络中的各服务器发送携带所述测试要素的日志请求,具体包括:
测试平台确定所述待测试服务器中对应待测试内容的测试要素,并根据所述测试要素,筛选所述存储的网络中的各服务器的标定信息类型,确定一个或者多个相似度超过预设阈值的目标服务器;
测试平台向所述一个或者多个目标服务器发送日志请求;其中,对应于不同的目标服务器,相应日志请求中携带所述筛选后的与各目标服务器相匹配的测试要素。
优选的,所述确定一个或者多个相似度超过预设阈值的目标服务器,具体包括:
所述测试平台在根据所述测试要素,筛选所述存储的网络中的各服务器的标定信息类型后,匹配各服务器与所述待测服务器之间的配置参数,进行配置参数的第二轮筛选,得到所述一个或者多个相似度超过预设阈值的目标服务器。
优选的,所述各服务器在分析所述测试要素和自身存储的标定信息后返回的日志文件片段,具体包括:
各服务器确定所接收的日志请求中携带的所述测试要素中包含的对象标识、数据规模、时间信息和操作类型中的一项或者多项;
依据所述对象标识、数据规模和操作类型中的一项或者多项,筛选各服务器中对应日志文件记录的标定信息,截取筛选结果生成日志文件片段。
优选的,所述根据所述目标日志文件片段生成测试用例,具体包括:
按照测试要素的编排顺序,组织所述目标日志文件片段,生成测试用例。
优选的,所述各服务器对应所述标定信息,还生成有标定环境下的服务器数据承载状态描述信息;则所述按照测试要素的编排顺序,组织所述目标日志文件片段,生成测试用例之前,所述方法还包括:
测试平台按照待测服务器和生成所述目标日志文件片段的所在一个或者多个服务器之间的配置参数关系,按比例调整所述目标日志文件片段。
第二方面,本发明还提供了一种基于日志的测试用例生成装置,用于实现第一方面所述的基于日志的测试用例生成方法,所述装置包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被程序设置为执行第一方面所述的基于日志的测试用例生成方法。
第三方面,本发明还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,用于完成第一方面所述的基于日志的测试用例生成方法。
本发明在自动化生成SQL语句的前提下,提供一种基于数据库日志解析的方法,该方法直接解析数据库日志,从日志中抽取出用户的实际操作(例如:基于日志文件获取事务逻辑信息,该事务逻辑信息表示数据库中每次事务的数据新增、更新、删除等变化情况)并将其转化为对应的SQL语句,这样既可以自动的生成SQL测试用例,又能够完全覆盖用户的各类操作,从而可以有效地减少测试人员的工作量,提高测试的完整性(覆盖面)和效率。
进一步的,本发明还提出了针对特定应用场景下的差异化的测试用例的生成,通过对表格对象、各软件对象、数据库环境类型和/或各关联数据库交互数据进行标定,从而能够为特定应用场景下的待测服务器提供了专属测试用例生成的可能。
【附图说明】
为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例中所需要使用的附图作简单地介绍。显而易见地,下面所描述的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的一种基于日志的测试用例生成方法流程示意图;
图2是本发明实施例提供的一种基于日志的测试用例生成方法流程中测试要素精细化处理示意图;
图3是本发明实施例提供的一种基于日志的测试用例生成方法流程中各服务器侧处理测试要素流程示意图;
图4是本发明实施例提供的一种基于日志的测试用例生成装置结构示意图。
【具体实施方式】
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
在实际场景中(以重做日志为例),重做日志中会记录一段时间内所提交的事务相关信息,其中会包含这些事务的变化数据,这些变化数据即对应该段时间内数据库中数据所发生的变化,通过获取能够表示这些变化数据的事务逻辑信息,从而提供生成SQL语句的依据。
本发明基于重做日志获取事务逻辑信息,其中,事务逻辑信息用于表示重做日志对应的事务的变化数据,然后根据重做日志对应的事务的变化数据生成与之对应的SQL语句,并将SQL语句写入测试用例文件中。
基于重做日志获取与事务相关的预解析数据,这些预解析数据包括事务的标记信息以及事务中数据表变更的行信息。
然后根据数据库的系统表确定事务中数据表变更的行信息所对应的索引信息,并将这些事务中数据表变更的行信息和其对应的索引信息确定为事务的变更数据信息,根据这些事务的标记信息和事务的变更数据信息,生成用于表示重做日志里对应的事务的变化数据的事务逻辑信息。
重做日志对应的事务的变化数据至少包括事务的标记信息和事务的变更数据信息。其中,事务的标记信息是指用于唯一确定某一事务的信息,比如:可以是事务标识、事务开始时间、事务提交时间等信息,通过这些信息区分各个事务,在实际场景中,事务标识可以是事务ID,事务开始时间和事务提交时间可以由与事务相关的时间戳中确定;而事务的变更数据信息是指每一个事务所涉及的数据变化的内容,即在某一事务中,关于数据表中的数据所发生的变化的信息,对于数据库事务来说,数据变化类型包括DDL:create,alter,truncate 和drop以及DML:insert,update和delete,举例来说,事务中数据表变更的信息可以是新建了一张表,或者某张表添加了一个字段或删除了一个字段,或者某一张数据表中第N行中的一个数据“10”修改成了“11”,或者第M行中的数据“A”被删除,还可能是新增了一行数据等等。由此,通过事务的标记信息和事务的变更数据信息可以确定重做日志对应的事务的变化数据。
上述分析仅仅是支撑本发明实施例实现的现有日志机制中的一种,但是,并非是唯一的方式。在本发明实施例诸多可选的实现方式中,对于日志记录内容的标定,可以是在生成日志的同时便通过应用层或者TCP/IP层能获取的相关信息进行与日志记录内容的同步标定了,在此,不做特殊限定。接下来,本发明将侧重于如何实现定制化测试用例生成的角度。
实施例1:
本发明实施例1提供了一种基于日志的测试用例生成方法,网络中的各服务器(这些服务器是出于真实的用户生产环境中的)周期性的梳理本地记录的日志文件,对于日志文件中记录的各数据表格对象、各软件对象、数据库环境类型和/或各关联数据库交互数据进行标定,通常情况下这里的梳理文件和生成日志文件片段可能会对数据库的日常使用造成一定影响,通常对于这些操作的执行时间会做相应的限定,比如设置个定时任务,一般安排在晚上/半夜来做。如图1所示,所述生成方法包括:
在步骤201中,获取待测试服务器的待生成的测试用例所包含的测试要素;其中,所述测试要素包括所述数据表格对象、各软件对象、数据库环境类型和各关联数据库交互中的一项或者多项。
上述列举的测试要素是根据当前数据库典型的应用场景进行列举的,而实际情况中可能涉及的测试要素并不局限于上述列举的情况,因此,在本发明实施例所提出的技术框架下,还能引申出的其它测试要素,也属于本发明保护范围内。
其中,虽然对测试要素做了上述分化,但是,实际应用中可能比上述分化更为简单,例如:针对软件对象的服务器日志,可以是该服务器自身是专供某一软件访问使用的,此时,仅需要确定哪几个服务器是供目标软件对象专属访问的,则相应获取该服务器的日志文件便实现了上述测试要素中软件对象的划分意义,并进一步可通过后续步骤202完成相应日志文件的获取。
其中,各软件对象包括不同厂商开发的,针对访问同一数据库服务器的不同软件应用;还可以是同一厂商开发的,不同版本的软件应用,例如:普通版本应用和旗舰版本应用等等。
在步骤202中,向所述网络中的各服务器发送携带所述测试要素的日志请求。
其中,发给各服务器的日志请求中的测试要素,可以是经由测试平台预先筛选过的,即对应各服务器的日志请求中携带的测试要素是不一致的;除此以外,也可以采用一种对应各服务器的日志请求中携带的测试要素是一致的方式。
但是,对于本发明实施例来说,如果测试平台的计算能力足够的话,优选的还是采用对应各服务器的日志请求中携带的测试要素是不一致的方案,其优势是能够减轻网络传输数据的承载压力,以及提高各服务器的响应效率。发明后续也将通过扩展方案,具体阐述所述对应各服务器的日志请求中携带的测试要素是不一致的方案如何实现。
在步骤203中,接收各服务器在分析所述测试要素和自身存储的标定信息后返回的日志文件片段。
其中,对于表格对象的日志文件片段是最直观也是最容易获取的,因为,表格对象是数据库管理的最小单元之一,因此,直接根据表格名搜索日志文件便可以通过组合相应操作指令条得到所述日志文件片段。
其中,对于各软件对象和数据库环境类型,通常都需要第三方的记录来支撑,而对于软件对象存在一种情况是可以是上述介绍的从专属数据库服务器中获取;而对于数据库环境类型,则需要通过数据库访问数据统计和/或数据库环境特性两个方面综合分析,例如:对于过节环境下铁路局的数据库数据,则可以通过节日所表征的环境特性(即节日时间)来指定日志文件片段。
其中,所述数据库交互,则更多的是要回溯相应服务器中数据库的事件记录,并将日志文件中的时间标签与数据库交互的事件记录配合起来,从而可以获取到相应数据库交互的日志文件片段。例如:服务器的更新、备份服务器的工作等等。
在步骤204中,根据所述目标日志文件片段生成测试用例。
本发明实施例在自动化生成SQL语句的前提下,提供一种基于数据库日志解析的方法,该方法直接解析数据库日志,从日志中抽取出用户的实际操作(例如:基于日志文件获取事务逻辑信息,该事务逻辑信息表示数据库中每次事务的数据新增、更新、删除等变化情况)并将其转化为对应的SQL语句,这样既可以自动的生成SQL测试用例,又能够完全覆盖用户的各类操作,从而可以有效地减少测试人员的工作量,提高测试的完整性(覆盖面)和效率。
在本发明实施例中,所述标定信息除了标识不同类型的日志对象获取外,还有一个重要的作用便是标识一个对象从出现到消失的完整周期,从而使得最终生成的测试用例能顾有源有果的执行。
进一步的,本发明实施例还提出了针对特定应用场景下的差异化的测试用例的生成,通过对表格对象、各软件对象、数据库环境类型和/或各关联数据库交互数据进行标定,从而能够为特定应用场景下的待测服务器提供了专属测试用例生成的可能。
在本发明实施例中,对所述对于日志文件中记录的各数据表格对象、各软件对象、数据库环境类型和/或各关联数据库交互数据进行标定,还给与了一种具体展开后的描述内容,具体包括:
1)、对于数据表格对象的生成和/或删除动作所在时间节点进行标定。即上述的数据表格的完整生命周期的标定。
2)、对于软件对象在服务器中的数据访问量进行统计,并根据预设时间段内数据访问量的大小,按照相应分级进行标定。
3)、对于数据库环境类型,按照特定数据库所适用的环境类型进行标定,包括:备份类型数据库的工作时间节点的标定、金融类型数据库的按照金融环境进行标定、企业类型数据库的按照企业规模进行标定。上述几种标定内容仅仅是诸多可能情况中的几种,因此,不应以此来限缩本发明的保护范围;在此基础上无需创造性劳动能够延伸出的其它情况也属于本发明实施例的保护范围内。
4)、对于关联数据库交互数据的标定,包括数据库之间交互数据量和耗时的标定。
对于上述标定过程,落脚到日志文件时,所述标定具体包括:
根据数据库的系统表确定事务中数据表变更的行信息所对应的索引信息,并将所述事务中数据表变更的行信息和其对应的索引信息,确定为事务的变更数据信息;
根据所述事务的标记信息和事务的变更数据信息,得到用于表示日志文件里对应的事务的变化数据的事务逻辑信息,并依据所述事物逻辑信息生成所述标定信息。
在实际操作中,日志文件通常不会对于软件对象、数据库环境类型和关联数据库交互数据进行记录,因此,上述对于事物逻辑信息的整理直观可以被使用的是数据表格对象,而对于本发明实施例中所提出的,类似上述软件对象、数据库环境类型和关联数据库交互数据的标定,则除了所述日志文件之外,还需要引入数据库服务器应用层和/或TCP/IP层,从而能够识别出各数据库操作指令的来源方,从而识别出上述的软件对象和关联数据库交互,而对于数据库环境类型则可以在数据库被创建的时候或者被配置的时候就能够获得初步的信息,并且,还可以在运行过程中的数据的监控,完成数据库环境类型下的精细化阶段划分。
在本发明诸多具体实现方案中,存在一种优选的实现方案,能够对于测试平台向各服务器发送的日志请求进行预先处理,从而简化了个服务器分析日志请求的资源占用,能够更为快速的完成响应消息的内容的寻找和响应消息的生成。具体的,测试平台中存储有网络中的各服务器的标定信息,所述向所述网络中的各服务器发送携带所述测试要素的日志请求,如图2所示,具体包括:
在步骤301中,测试平台确定所述待测试服务器中对应待测试内容的测试要素,并根据所述测试要素,筛选所述存储的网络中的各服务器的标定信息类型,确定一个或者多个相似度超过预设阈值的目标服务器。
在本发明实施例中,对于一个待测试服务器,其包含的测试要素可以是上面介绍的一种或者多种,因此,在向各服务器发送日志请求前,优选的是进行一轮筛选,从而能够有的放矢,避免对于无关服务器的正常数据业务处理,带来不必要的困扰(即无实质关联性的日志请求消息的分析和处理)。此优势,尤其针对测试平台所能够访问的各服务器数量较多,而最终所涉及日志请求消息响应的目标服务器又很少的情况,此时对于整个网络的资源的节省是非常突出的。
在步骤302中,测试平台向所述一个或者多个目标服务器发送日志请求;其中,对应于不同的目标服务器,相应日志请求中携带所述筛选后的与各目标服务器相匹配的测试要素。
在上述步骤301中所涉及的,所述确定一个或者多个相似度超过预设阈值的目标服务器,存在一种优选的实现方式,具体包括:
所述测试平台在根据所述测试要素,筛选所述存储的网络中的各服务器的标定信息类型后,匹配各服务器与所述待测服务器之间的配置参数,进行配置参数的第二轮筛选,得到所述一个或者多个相似度超过预设阈值的目标服务器。
基于上述步骤301-302带来的实现方法中特征的调整,相应的,在步骤203 中所涉及的所述各服务器在分析所述测试要素和自身存储的标定信息后返回的日志文件片段,同样也存在一种由步骤301-302带来的调整后实现的方式,如图3所示,具体包括:
在步骤401中,各服务器确定所接收的日志请求中携带的所述测试要素中包含的对象标识、数据规模、时间信息和操作类型中的一项或者多项。
此处是对测试要素的进一步细化,其中对象标识在不同情况下可以表现为软件类型名、也可以表现为表格名、还可以表现为事件名等等。而所述操作类型则可以根据实际情况进行复杂化或者简化,具体的:在对象为表格时,所述操作类型包括创建、插入、删除等等;而在对象为软件类型为,所述操作对象包括创建、更新、替换、插入、删除等等。
在步骤402中,依据所述对象标识、数据规模和操作类型中的一项或者多项,筛选各服务器中对应日志文件记录的标定信息,截取筛选结果生成日志文件片段。
其中,日志文件片段可以通过离散的方式组合而成,也可以是原本日志文件中连续的一段,在此不做特殊限定,根据具体的筛选结果,依据类型归队和/ 或时间先后顺序进行排列。
在本发明实施例的步骤204中所涉及的,所述根据所述目标日志文件片段生成测试用例,具体包括:
按照测试要素的编排顺序,组织所述目标日志文件片段,生成测试用例。其中,所述各服务器对应所述标定信息,还生成有标定环境下的服务器数据承载状态描述信息;则所述按照测试要素的编排顺序,组织所述目标日志文件片段,生成测试用例之前,所述方法还包括:
测试平台按照待测服务器和生成所述目标日志文件片段的所在一个或者多个服务器之间的配置参数关系,按比例调整所述目标日志文件片段。
实施例2:
如图4所示,是本发明实施例的基于日志的测试用例生成装置的架构示意图。本实施例的基于日志的测试用例生成装置包括一个或多个处理器21以及存储器22。其中,图4中以一个处理器21为例。
处理器21和存储器22可以通过总线或者其他方式连接,图4中以通过总线连接为例。
存储器22作为一种基于日志的测试用例生成方法和装置非易失性计算机可读存储介质,可用于存储非易失性软件程序和非易失性计算机可执行程序,如实施例1中的基于日志的测试用例生成方法。处理器21通过运行存储在存储器 22中的非易失性软件程序和指令,从而执行基于日志的测试用例生成方法。
存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器22可选包括相对于处理器21远程设置的存储器,这些远程存储器可以通过网络连接至处理器21。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
所述程序指令/模块存储在所述存储器22中,当被所述一个或者多个处理器21执行时,执行上述实施例1中的基于日志的测试用例生成方法,例如,执行以上描述的图1-3所示的各个步骤。
本领域普通技术人员可以理解实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取存储器(RAM,Random AccessMemory)、磁盘或光盘等。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种基于日志的测试用例生成方法,其特征在于,网络中的各服务器周期性的梳理本地记录的日志文件,对于日志文件中记录的各数据表格对象、各软件对象、数据库环境类型和/或各关联数据库交互数据进行标定,所述生成方法包括:
获取待测试服务器的待生成的测试用例所包含的测试要素;其中,所述测试要素包括所述数据表格对象、各软件对象、数据库环境类型和各关联数据库交互中的一项或者多项;
向所述网络中的各服务器发送携带所述测试要素的日志请求;
接收各服务器在分析所述测试要素和自身存储的标定信息后返回的日志文件片段;
根据所述目标日志文件片段生成测试用例。
2.根据权利要求1所述的基于日志的测试用例生成方法,其特征在于,所述对于日志文件中记录的各数据表格对象、各软件对象、数据库环境类型和/或各关联数据库交互数据进行标定,具体包括:
对于数据表格对象的生成和/或删除动作所在时间节点进行标定;和/或,
对于软件对象在服务器中的数据访问量进行统计,并根据预设时间段内数据访问量的大小,按照相应分级进行标定;和/或,
对于数据库环境类型,按照特定数据库所适用的环境类型进行标定,包括:备份类型数据库的工作时间节点的标定、金融类型数据库的按照金融环境进行标定、企业类型数据库的按照企业规模进行标定;和/或,
对于关联数据库交互数据的标定,包括数据库之间交互数据量和耗时的标定。
3.根据权利要求2所述的基于日志的测试用例生成方法,其特征在于,所述标定具体包括:
根据数据库的系统表确定事务中数据表变更的行信息所对应的索引信息,并将所述事务中数据表变更的行信息和其对应的索引信息,确定为事务的变更数据信息;
根据所述事务的标记信息和事务的变更数据信息,得到用于表示日志文件里对应的事务的变化数据的事务逻辑信息,并依据所述事物逻辑信息生成所述标定信息。
4.根据权利要求1所述的基于日志的测试用例生成方法,其特征在于,测试平台中存储有网络中的各服务器的标定信息,所述向所述网络中的各服务器发送携带所述测试要素的日志请求,具体包括:
测试平台确定所述待测试服务器中对应待测试内容的测试要素,并根据所述测试要素,筛选所述存储的网络中的各服务器的标定信息类型,确定一个或者多个相似度超过预设阈值的目标服务器;
测试平台向所述一个或者多个目标服务器发送日志请求;其中,对应于不同的目标服务器,相应日志请求中携带所述筛选后的与各目标服务器相匹配的测试要素。
5.根据权利要求4所述的基于日志的测试用例生成方法,其特征在于,所述确定一个或者多个相似度超过预设阈值的目标服务器,具体包括:
所述测试平台在根据所述测试要素,筛选所述存储的网络中的各服务器的标定信息类型后,匹配各服务器与所述待测服务器之间的配置参数,进行配置参数的第二轮筛选,得到所述一个或者多个相似度超过预设阈值的目标服务器。
6.根据权利要求4所述的基于日志的测试用例生成方法,其特征在于,所述各服务器在分析所述测试要素和自身存储的标定信息后返回的日志文件片段,具体包括:
各服务器确定所接收的日志请求中携带的所述测试要素中包含的对象标识、数据规模、时间信息和操作类型中的一项或者多项;
依据所述对象标识、数据规模和操作类型中的一项或者多项,筛选各服务器中对应日志文件记录的标定信息,截取筛选结果生成日志文件片段。
7.根据权利要求1所述的基于日志的测试用例生成方法,其特征在于,所述根据所述目标日志文件片段生成测试用例,具体包括:
按照测试要素的编排顺序,组织所述目标日志文件片段,生成测试用例。
8.根据权利要求7所述的基于日志的测试用例生成方法,其特征在于,所述各服务器对应所述标定信息,还生成有标定环境下的服务器数据承载状态描述信息;则所述按照测试要素的编排顺序,组织所述目标日志文件片段,生成测试用例之前,所述方法还包括:
测试平台按照待测服务器和生成所述目标日志文件片段的所在一个或者多个服务器之间的配置参数关系,按比例调整所述目标日志文件片段。
9.根据权利要求1-8任一所述的基于日志的测试用例生成方法,其特征在于,所述日志文件具体为重做日志文件。
10.一种基于日志的测试用例生成装置,其特征在于,所述装置包括:
至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被程序设置为执行权利要求1-8任一所述的基于日志的测试用例生成方法。
CN201811094201.7A 2018-09-19 2018-09-19 一种基于日志的测试用例生成方法和装置 Active CN109460349B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811094201.7A CN109460349B (zh) 2018-09-19 2018-09-19 一种基于日志的测试用例生成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811094201.7A CN109460349B (zh) 2018-09-19 2018-09-19 一种基于日志的测试用例生成方法和装置

Publications (2)

Publication Number Publication Date
CN109460349A true CN109460349A (zh) 2019-03-12
CN109460349B CN109460349B (zh) 2021-09-21

Family

ID=65606759

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811094201.7A Active CN109460349B (zh) 2018-09-19 2018-09-19 一种基于日志的测试用例生成方法和装置

Country Status (1)

Country Link
CN (1) CN109460349B (zh)

Cited By (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110321280A (zh) * 2019-05-22 2019-10-11 梁俊杰 一种数据处理方法以及相关设备
CN110413516A (zh) * 2019-07-15 2019-11-05 杭州数梦工场科技有限公司 识别慢sql代码的方法及装置和电子设备
CN110716865A (zh) * 2019-09-06 2020-01-21 苏宁云计算有限公司 测试用例生成方法及装置
CN110888806A (zh) * 2019-11-15 2020-03-17 天津联想协同科技有限公司 一种接口测试方法、电子设备及存储介质
CN110968468A (zh) * 2019-12-18 2020-04-07 广州唯品会信息科技有限公司 压力测试方法、终端设备及计算机存储介质
CN111159020A (zh) * 2019-12-20 2020-05-15 武汉达梦数据库有限公司 一种应用于同步软件测试的方法和装置
CN111538663A (zh) * 2020-04-26 2020-08-14 中国工商银行股份有限公司 测试用例的生成方法、装置、计算设备以及介质
CN111651356A (zh) * 2020-06-03 2020-09-11 北京奇艺世纪科技有限公司 一种应用程序测试方法、装置及系统
CN111767213A (zh) * 2020-06-18 2020-10-13 北京同邦卓益科技有限公司 数据库检查点的测试方法、装置、电子设备及存储介质
CN111885051A (zh) * 2020-07-22 2020-11-03 微医云(杭州)控股有限公司 数据验证方法、装置及电子设备
CN112100052A (zh) * 2020-08-07 2020-12-18 北京奇艺世纪科技有限公司 一种接口测试场景的回放方法及装置
CN112162914A (zh) * 2020-07-27 2021-01-01 上海金融期货信息技术有限公司 一种测试用例自动生成的方法和装置
CN112559316A (zh) * 2020-09-03 2021-03-26 中国银联股份有限公司 软件测试方法和设备、计算机存储介质以及服务器
CN112559195A (zh) * 2020-12-25 2021-03-26 恒生电子股份有限公司 数据库死锁的检测方法、装置、测试终端及介质
CN112788640A (zh) * 2021-03-04 2021-05-11 惠州Tcl移动通信有限公司 通信设备测试方法、装置、存储介质及终端
CN113127312A (zh) * 2019-12-30 2021-07-16 北京金山云网络技术有限公司 用于数据库性能测试的方法、装置、电子设备及存储介质
CN113297058A (zh) * 2020-04-27 2021-08-24 阿里巴巴集团控股有限公司 一种用例生成方法、测试方法、装置及服务器
CN113704077A (zh) * 2020-05-20 2021-11-26 中国移动通信集团浙江有限公司 测试用例生成方法及装置
CN114265729A (zh) * 2021-11-09 2022-04-01 北京云宽志业网络技术有限公司 压力测试方法、装置、存储介质及电子设备
CN112162914B (zh) * 2020-07-27 2024-06-04 上海金融期货信息技术有限公司 一种测试用例自动生成的方法和装置

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636257A (zh) * 2015-03-13 2015-05-20 胡兢玉 基于sql覆盖的数据库应用软件自动化测试方法
CN106021079A (zh) * 2016-05-06 2016-10-12 华南理工大学 一种基于用户频繁访问序列模型的Web应用性能测试方法
CN106951373A (zh) * 2017-04-25 2017-07-14 国家电网公司 一种用于电网网管移动运维软件的自动化测试方法及装置
CN107678948A (zh) * 2017-09-18 2018-02-09 Tcl海外电子(惠州)有限公司 测试用例生成方法、终端及存储介质
US20180089252A1 (en) * 2016-09-28 2018-03-29 Linkedin Corporation Verifying correctness in graph databases
CN107908549A (zh) * 2017-10-24 2018-04-13 北京小米移动软件有限公司 测试用例生成方法、装置及计算机可读存储介质
CN108319547A (zh) * 2017-01-17 2018-07-24 阿里巴巴集团控股有限公司 测试用例生成方法、装置和系统

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104636257A (zh) * 2015-03-13 2015-05-20 胡兢玉 基于sql覆盖的数据库应用软件自动化测试方法
CN106021079A (zh) * 2016-05-06 2016-10-12 华南理工大学 一种基于用户频繁访问序列模型的Web应用性能测试方法
US20180089252A1 (en) * 2016-09-28 2018-03-29 Linkedin Corporation Verifying correctness in graph databases
CN108319547A (zh) * 2017-01-17 2018-07-24 阿里巴巴集团控股有限公司 测试用例生成方法、装置和系统
CN106951373A (zh) * 2017-04-25 2017-07-14 国家电网公司 一种用于电网网管移动运维软件的自动化测试方法及装置
CN107678948A (zh) * 2017-09-18 2018-02-09 Tcl海外电子(惠州)有限公司 测试用例生成方法、终端及存储介质
CN107908549A (zh) * 2017-10-24 2018-04-13 北京小米移动软件有限公司 测试用例生成方法、装置及计算机可读存储介质

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
彭树深 等: "Web 应用测试用例生成研究", 《计算机科学》 *

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110321280B (zh) * 2019-05-22 2022-03-22 梁俊杰 一种数据处理方法以及相关设备
CN110321280A (zh) * 2019-05-22 2019-10-11 梁俊杰 一种数据处理方法以及相关设备
CN110413516A (zh) * 2019-07-15 2019-11-05 杭州数梦工场科技有限公司 识别慢sql代码的方法及装置和电子设备
CN110413516B (zh) * 2019-07-15 2023-08-25 杭州数梦工场科技有限公司 识别慢sql代码的方法及装置和电子设备
CN110716865A (zh) * 2019-09-06 2020-01-21 苏宁云计算有限公司 测试用例生成方法及装置
CN110888806A (zh) * 2019-11-15 2020-03-17 天津联想协同科技有限公司 一种接口测试方法、电子设备及存储介质
CN110968468A (zh) * 2019-12-18 2020-04-07 广州唯品会信息科技有限公司 压力测试方法、终端设备及计算机存储介质
CN111159020A (zh) * 2019-12-20 2020-05-15 武汉达梦数据库有限公司 一种应用于同步软件测试的方法和装置
CN113127312A (zh) * 2019-12-30 2021-07-16 北京金山云网络技术有限公司 用于数据库性能测试的方法、装置、电子设备及存储介质
CN113127312B (zh) * 2019-12-30 2024-04-05 北京金山云网络技术有限公司 用于数据库性能测试的方法、装置、电子设备及存储介质
CN111538663A (zh) * 2020-04-26 2020-08-14 中国工商银行股份有限公司 测试用例的生成方法、装置、计算设备以及介质
CN111538663B (zh) * 2020-04-26 2023-03-28 中国工商银行股份有限公司 测试用例的生成方法、装置、计算设备以及介质
CN113297058A (zh) * 2020-04-27 2021-08-24 阿里巴巴集团控股有限公司 一种用例生成方法、测试方法、装置及服务器
CN113704077B (zh) * 2020-05-20 2023-09-19 中国移动通信集团浙江有限公司 测试用例生成方法及装置
CN113704077A (zh) * 2020-05-20 2021-11-26 中国移动通信集团浙江有限公司 测试用例生成方法及装置
CN111651356A (zh) * 2020-06-03 2020-09-11 北京奇艺世纪科技有限公司 一种应用程序测试方法、装置及系统
CN111767213A (zh) * 2020-06-18 2020-10-13 北京同邦卓益科技有限公司 数据库检查点的测试方法、装置、电子设备及存储介质
CN111767213B (zh) * 2020-06-18 2024-04-05 北京同邦卓益科技有限公司 数据库检查点的测试方法、装置、电子设备及存储介质
CN111885051A (zh) * 2020-07-22 2020-11-03 微医云(杭州)控股有限公司 数据验证方法、装置及电子设备
CN111885051B (zh) * 2020-07-22 2022-10-25 微医云(杭州)控股有限公司 数据验证方法、装置及电子设备
CN112162914A (zh) * 2020-07-27 2021-01-01 上海金融期货信息技术有限公司 一种测试用例自动生成的方法和装置
CN112162914B (zh) * 2020-07-27 2024-06-04 上海金融期货信息技术有限公司 一种测试用例自动生成的方法和装置
CN112100052A (zh) * 2020-08-07 2020-12-18 北京奇艺世纪科技有限公司 一种接口测试场景的回放方法及装置
CN112100052B (zh) * 2020-08-07 2023-08-18 北京奇艺世纪科技有限公司 一种接口测试场景的回放方法及装置
CN112559316A (zh) * 2020-09-03 2021-03-26 中国银联股份有限公司 软件测试方法和设备、计算机存储介质以及服务器
CN112559195B (zh) * 2020-12-25 2021-12-21 恒生电子股份有限公司 数据库死锁的检测方法、装置、测试终端及介质
CN112559195A (zh) * 2020-12-25 2021-03-26 恒生电子股份有限公司 数据库死锁的检测方法、装置、测试终端及介质
CN112788640A (zh) * 2021-03-04 2021-05-11 惠州Tcl移动通信有限公司 通信设备测试方法、装置、存储介质及终端
CN112788640B (zh) * 2021-03-04 2022-08-05 惠州Tcl移动通信有限公司 通信设备测试方法、装置、存储介质及终端
CN114265729B (zh) * 2021-11-09 2023-03-28 北京云宽志业网络技术有限公司 压力测试方法、装置、存储介质及电子设备
CN114265729A (zh) * 2021-11-09 2022-04-01 北京云宽志业网络技术有限公司 压力测试方法、装置、存储介质及电子设备

Also Published As

Publication number Publication date
CN109460349B (zh) 2021-09-21

Similar Documents

Publication Publication Date Title
CN109460349A (zh) 一种基于日志的测试用例生成方法和装置
US11829360B2 (en) Database workload capture and replay
CN109101652B (zh) 一种标签创建和管理系统
US10554771B2 (en) Parallelized replay of captured database workload
EP2874077B1 (en) Stateless database cache
US10452517B2 (en) Framework for testing logic of code based on model elements
US20090259455A1 (en) Method and system for automatic tracking of a computerized process using a relationship model
CN107122355A (zh) 数据迁移系统和方法
CN110019255A (zh) 数据查询方法、装置、服务器及存储介质
CN102841889A (zh) 一种基于orm架构的高效数据库访问的实现方法及装置
CN113973053B (zh) 一种网络靶场的探针管理系统与方法
US8768887B2 (en) Generating and binding notes to business objects
WO2015018164A1 (zh) 一种从异构企业信息系统中主动获取数据的方法
CN109558452A (zh) 一种查询建表操作的同步方法
CN115374102A (zh) 数据处理方法及系统
CN110209668A (zh) 基于流计算的维表关联方法、装置、设备及可读存储介质
CN110941629A (zh) 元数据处理方法、装置、设备及计算机可读存储介质
US20170132302A1 (en) Integrating co-deployed databases for data analytics
US20140122436A1 (en) Read access logging
CN115757626A (zh) 一种数据质量检测方法、装置、电子设备及存储介质
US7340680B2 (en) SAP archivlink load test for content server
CN113885860A (zh) 一种自动配置管理页面生成接口服务的方法及设备
CN116775685A (zh) 一种数据处理方法、任务调度方法、装置和存储介质
Musleh et al. Automatic Generation of Android SQLite Database Components.
CN114153547B (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: 430000 16-19 / F, building C3, future technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan, Hubei Province

Applicant after: Wuhan dream database Co., Ltd

Address before: 430000 16-19 / F, building C3, future technology building, 999 Gaoxin Avenue, Donghu New Technology Development Zone, Wuhan, Hubei Province

Applicant before: WUHAN DAMENG DATABASE Co.,Ltd.

CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Feng Yuan

Inventor after: Yu Yuanlan

Inventor after: Song Tianyang

Inventor before: Fu Quan

Inventor before: Feng Yuan

Inventor before: Yu Yuanlan

Inventor before: Song Tianyang

GR01 Patent grant
GR01 Patent grant