CN109359030B - 测试库失效对象监控方法及装置、计算机装置及存储介质 - Google Patents

测试库失效对象监控方法及装置、计算机装置及存储介质 Download PDF

Info

Publication number
CN109359030B
CN109359030B CN201811025131.XA CN201811025131A CN109359030B CN 109359030 B CN109359030 B CN 109359030B CN 201811025131 A CN201811025131 A CN 201811025131A CN 109359030 B CN109359030 B CN 109359030B
Authority
CN
China
Prior art keywords
test library
database
failure
invalid
test
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.)
Active
Application number
CN201811025131.XA
Other languages
English (en)
Other versions
CN109359030A (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.)
Ping An Life Insurance Company of China Ltd
Original Assignee
Ping An Life Insurance Company of China 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 Life Insurance Company of China Ltd filed Critical Ping An Life Insurance Company of China Ltd
Priority to CN201811025131.XA priority Critical patent/CN109359030B/zh
Publication of CN109359030A publication Critical patent/CN109359030A/zh
Application granted granted Critical
Publication of CN109359030B publication Critical patent/CN109359030B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

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)
  • Stored Programmes (AREA)

Abstract

一种测试库失效对象监控方法,包括:建立与测试库的连接,对所述测试库进行配置;根据对所述测试库的配置,从所述测试库的数据库对象表中查询处于失效状态的数据库对象,得到所述测试库的失效对象;从所述测试库的失效对象中剔除无关用户的失效对象,得到筛选后的失效对象;输出所述筛选后的失效对象。本发明还提供一种测试库失效对象监控装置、计算机装置及计算机可读存储介质。本发明可以实现灵活、高效的测试库失效对象监控。

Description

测试库失效对象监控方法及装置、计算机装置及存储介质
技术领域
本发明涉及软件测试技术领域,具体涉及一种测试库失效对象监控方法及装置、计算机装置和计算机可读存储介质。
背景技术
对表、视图、包或其他数据库对象进行操作时,有时候因为关联影响分析不到位,可能会导致一些相关的数据库对象失效。而这些关联的数据库对象,不一定和修改的内容相关,较难通过系统测试发现。回归测试一般只验证主要的功能流程,无法做到全流程完整覆盖,也不一定能够发现数据库失效对象的问题。
因此,亟需一种方便、高效的数据库失效对象监控方法。
发明内容
鉴于以上内容,有必要提出一种测试库失效对象监控方法及装置、计算机装置和计算机可读存储介质,其可以实现灵活、高效的测试库失效对象监控。
本申请的第一方面提供一种测试库失效对象监控方法,所述方法包括:
建立与测试库的连接,对所述测试库进行配置;
根据对所述测试库的配置,从所述测试库的数据库对象表中查询处于失效状态的数据库对象,得到所述测试库的失效对象;
从所述测试库的失效对象中剔除无关用户的失效对象,得到筛选后的失效对象;
输出所述筛选后的失效对象。
另一种可能的实现方式中,所述方法还包括:
查询所述失效对象所属测试库的系统标识符;
查询所述失效对象的属主;
查询所述失效对象的类型;
查询所述失效对象的创建时间;
查询所述失效对象的最近一次操作时间;
查询所述失效对象的时间戳。
另一种可能的实现方式中,所述从所述测试库的失效对象中剔除无关用户的失效对象包括:
根据所述测试库的失效对象的属主判断所述测试库的失效对象中是否存在无关用户的失效对象;
若所述测试库的失效对象中存在无关用户的失效对象,则剔除该无关用户的失效对象。
另一种可能的实现方式中,所述失效对象包括包、存储过程、函数、视图、同义词。
另一种可能的实现方式中,所述测试库失效对象监控方法通过Jmeter脚本实现。
另一种可能的实现方式中,所述测试库配置的信息包括配置名称、连接配置名、数据库地址、数据库驱动程序、数据库用户名、数据库用户密码。
另一种可能的实现方式中,所述测试库包括Oracle数据库、Mysql数据库、DB2数据库、Sybase数据库。
本申请的第二方面提供一种测试库失效对象监控装置,所述装置包括:
配置单元,用于建立与测试库的连接,对所述测试库进行配置;
查询单元,用于根据对所述测试库的配置,从所述测试库的数据库对象表中查询处于失效状态的数据库对象,得到所述测试库的失效对象;
筛选单元,用于从所述测试库的失效对象中剔除无关用户的失效对象,得到筛选后的失效对象;
输出单元,用于输出所述筛选后的失效对象。
本申请的第三方面提供一种计算机装置,所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现所述测试库失效对象监控方法。
本申请的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现所述测试库失效对象监控方法。
本发明建立与测试库的连接,对所述测试库进行配置;根据对所述测试库的配置,从所述测试库的数据库对象表中查询处于失效状态的数据库对象,得到所述测试库的失效对象;从所述测试库的失效对象中剔除无关用户的失效对象,得到筛选后的失效对象;输出所述筛选后的失效对象。本发明可以通过数据库层面发现问题,而无需测试人员通过复杂、大量的功能测试去发现问题。本发明可以帮助测试人员及时发现问题和跟进解决,避免问题遗留到生产,产生功能或者性能问题。并且,如果是测试库信息(例如测试库的IP和端口)发生变更,只需要重新对测试库进行配置即可(例如修改测试库的数据库地址中的IP和端口)。如果有新增的测试库,只需要建立与新增的测试库的连接,对新增的测试库进行配置。因此,本发明实现了灵活、高效的测试库失效对象监控。
附图说明
图1是本发明实施例提供的测试库失效对象监控方法的流程图。
图2是本发明实施例提供的测试库失效对象监控装置的结构图。
图3是本发明实施例提供的计算机装置的示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
优选地,本发明的测试库失效对象监控方法应用在一个或者多个计算机装置中。所述计算机装置是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述计算机装置可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机装置可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
实施例一
图1是本发明实施例一提供的测试库失效对象监控方法的流程图。所述测试库失效对象监控方法应用于计算机装置。所述测试库失效对象监控方法检测出测试库的失效对象,以便开发人员做代码修复,完成失效对象整改。
如图1所示,所述测试库失效对象监控方法具体包括以下步骤:
步骤101,建立与测试库的连接,对所述测试库进行配置。
所述测试库可以是一个也可以是多个。若对多个测试库进行失效对象监控,则对多个测试库中的每个测试库建立连接及进行配置。
测试库是测试环境测试阶段使用的数据库,用来执行各类SQL,如数据定义语言(DDL)、事务控制语言(TCL)、数据操纵语言(DML)、数据查询语言(DQL)等,记录和保存测试阶段产生的各类测试数据。测试库是和生产环境使用的生产库分离的,达到数据安全的目的。版本全流程中,所有和数据库相关的操作,需要先在测试库部署和验证通过后,再发布到生产库。
在本实施例中,所述测试库可以包括Oracle数据库、Mysql数据库、DB2数据库、Sybase数据库等。可以对多个同一类型的测试库(例如多个Oracle数据库)进行失效对象监控。也可以对多个不同类型的测试库(例如多个Oracle数据库和Mysql数据库)进行失效对象监控。
对所述测试库进行配置时,配置的信息可以包括配置名称、连接配置名、数据库地址、数据库驱动程序、数据库用户名、数据库用户密码等。测试库配置好后,就可以对其进行访问。
在本实施例中,可以通过Jmeter脚本实现所述测试库失效对象监控方法。具体地,步骤101中,可以通过Jmeter脚本建立与测试库的连接,对所述测试库进行配置。Jmeter是一个基于Java的压力测试工具,也可以用来做功能测试、数据库测试、接口测试等。Jmeter脚本是在Jmeter工具上开发的,用来达到测试目的的脚本。
步骤102,根据对所述测试库的配置,从所述测试库的数据库对象表中查询处于失效状态的数据库对象,得到所述测试库的失效对象。
可以查询处于失效状态的数据库对象,得到所述失效对象的ID。失效对象的ID可以是一个数字编号,如77573,唯一定位一个数据库对象。
或者,可以查询处于失效状态的数据库对象,得到所述失效对象的名称,例如视图名称、同义词名称、过程名称等。
测试库的失效对象可以包括包(Package)、存储过程(Procedure)、函数(Function)、视图(View)、同义词(Synonym)等。在对数据库的表、包或其他数据库对象进行操作时,因为关联影响分析不到位,可能会导致一些相关的数据库对象失效。数据库对象失效,会导致引用了这些数据库对象的功能报错,无法正常使用。
数据库对象失效的原因有很多,测试环境经常遇到的几类原因如下:
1、当被引用对象的结构发生了变更,相关的依赖对象状态会转变为失效。
例如,存在一个表TableA,表A的结构中包含了字段Column1,Column2,Column3,Column4,Column5。存在一个视图ViewA,其定义是对Column1,Column2,Column3,Column4的引用:create view ViewA as select Column1,Column2,Column3,Column4from TableA。开发写了一个DDL脚本,删除了表TableA中的Column4字段:alter table TableA dropcolumn Column4。没有分析到视图ViewA中有对表TableA中Column4字段的应用,没有对ViewA的定义做相应修改,导致视图ViewA失效。如果有功能直接查询的是视图ViewA,就会报错,提示表或视图不可用。
2、在创建函数或存储过程等,里面的内容存在语法错误,导致编译不通过,数据库对象失效。
例如,创建了一个包PackageA,包头里面定义了Procedure1、Procedure2、Procedure3等。但是在包体里面,只有Procedure1Procedure2。因此编译时会报错,包PackageA会失效。
3、在创建函数或存储过程等,里面的内容存在授权缺失,导致编译不通过,数据库对象失效。
例如,创建了一个包PackageA,在里面某一个查询语句中,存在对表TableA的调用,而包的属主没有对表TableA的查询权限。因此编译报错,包PackageA会失效。
根据对所述测试库的配置,可以访问所述测试库,查询所述测试库的处于失效状态的数据库对象,即得到所述测试库的失效对象。
在查询到失效对象后,可以进一步查询失效对象的相关信息,包括:
查询失效对象所属测试库的系统标识符(System Identifier,SID),测试库的系统标识符可以用来区分各个测试库的失效对象,以定位失效对象所在的测试库;
查询失效对象的属主,失效对象的属主可以用来区分同名的失效对象;
查询失效对象的类型,例如包(Package)、存储过程(Procedure)、函数(Function)、视图(View)、同义词(Synonym)等;
查询失效对象的创建时间,以方便开发人员查找数据库对象的定义脚本;
查询失效对象的最近一次操作时间(例如最近一次DDL脚本执行时间),以方便开发人员分析数据库对象失效的原因,例如分析是否是因为近期的DDL脚本执行引起的;
查询失效对象的时间戳,以方便开发人员分析是何时的改动引起数据库对象不可用。
在本实施例中,可以通过Jmeter脚本从所述测试库的数据库对象表中查询处于失效状态的数据库对象,得到所述测试库的失效对象。
可以按照预设时间从所述测试库的数据库对象表中查询处于失效状态的数据库对象,得到所述测试库的失效对象。例如,可以设置查询周期(例如每天一次),按照所述查询周期从所述测试库的数据库对象表中查询处于失效状态的数据库对象。
步骤103,从所述测试库的失效对象中剔除无关用户的失效对象,得到筛选后的失效对象。
无关用户是指非系统应用用户,可以包括测试用户、系统用户、监控用户。每个数据库对象都隶属于一个用户(即每个数据库对象的属主)。测试用户是测试库的操作用户,供测试人员构造和查询测试数据时使用的,生产库是没有的。系统用户和监控用户是监控数据库的一些使用情况的用户。无关用户(例如测试用户、系统用户、监控用户)下不会创建系统应用相关的表,系统应用也不会调用无关用户下创建的表。因此,无关用户下的对象失效,不影响系统本身的功能,所以无需进行监控。
可以根据所述测试库的失效对象的属主判断所述测试库的失效对象中是否存在无关用户的失效对象。若所述测试库的失效对象中存在无关用户的失效对象,则剔除该无关用户的失效对象。例如,可以预先设置无关用户列表,判断所述测试库的失效对象的属主是否包含在所述无关用户列表中,若所述测试库的失效对象的属主包含在所述无关用户列表中,则从所述测试库的失效对象中剔除该属主对应的失效对象。
在本实施例中,可以通过Jmeter脚本从所述测试库的失效对象中剔除无关用户的失效对象,得到筛选后的失效对象。
在一个实施例中,可以在从所述测试库的数据库对象表中查询处于失效状态的数据库对象时设置剔除无关用户的查询条件,根据该剔除无关用户的查询条件直接得到筛选后的失效对象。
步骤104,输出所述筛选后的失效对象。
步骤102中,查询到的失效对象的信息可以包括:测试库的系统标识符、失效对象的属主、失效对象的类型、失效对象的ID、失效对象的名称、失效对象的创建时间、失效对象最近一次操作时间、失效对象的时间戳、失效对象的状态等。步骤104可以输出所述筛选后的失效对象的上述信息。
可以生成测试库失效对象报表,在所述测试库失效对象报表中展示所述筛选后的失效对象,例如展示测试库的系统标识符、失效对象的属主、失效对象的类型、失效对象的ID、失效对象的名称、失效对象的创建时间、失效对象最近一次操作时间、失效对象的时间戳、失效对象的状态等。
可以对筛选后的失效对象按照预定条件进行输出。例如,可以按照测试库的系统标识符、失效对象的属主或失效对象的类型输出所述筛选后的失效对象,例如,在所述测试库失效对象报表中展示所述筛选后的失效对象。
若进行失效对象监控的测试库是多个,可以整合多个测试库的筛选后的失效对象在一个报表中展示,以方便测试人员能够快速地从该报表中看到多个测试库的整体情况,也方便管理人员看到测试环境所有测试库的失效对象全貌,便于统一跟踪和管理。
在本实施例中,可以通过Jmeter脚本输出所述筛选后的失效对象。例如,在Jmeter脚本中编写测试库监控结果(即筛选后的失效对象)的页面展现。
实施例一的测试库失效对象监控方法建立与测试库的连接,对所述测试库进行配置;根据对所述测试库的配置,从所述测试库的数据库对象表中查询处于失效状态的数据库对象,得到所述测试库的失效对象;从所述测试库的失效对象中剔除无关用户的失效对象,得到所述测试库筛选后的失效对象;输出所述测试库筛选后的失效对象。实施例一可以通过数据库层面发现问题,而无需测试人员通过复杂、大量的功能测试去发现问题。实施例一可以帮助测试人员及时发现问题和跟进解决,避免问题遗留到生产,产生功能或者性能问题。并且,如果是测试库信息(例如测试库的IP和端口)发生变更,只需要重新对测试库进行配置即可(例如修改测试库的数据库地址中的IP和端口)。如果有新增的测试库,只需要建立与新增的测试库的连接,对新增的测试库进行配置。因此,实施例一实现了灵活、高效的测试库失效对象监控。
在另一实施例中,所述测试库失效对象监控方法还可以包括:将所述筛选后的失效对象发送给预设联系人。可以通过邮件、短信、微信等方式将所述筛选后的失效对象发送给预设联系人。
实施例二
图2为本发明实施例二提供的测试库失效对象监控装置的结构图。如图2所示,所述测试库失效对象监控装置10可以包括:配置单元201、查询单元202、筛选单元203、输出单元204。
配置单元201,用于建立与测试库的连接,对所述测试库进行配置。
所述测试库可以是一个也可以是多个。若对多个测试库进行失效对象监控,则对多个测试库中的每个测试库建立连接及进行配置。
测试库是测试环境测试阶段使用的数据库,用来执行各类SQL,如数据定义语言(DDL)、事务控制语言(TCL)、数据操纵语言(DML)、数据查询语言(DQL)等,记录和保存测试阶段产生的各类测试数据。测试库是和生产环境使用的生产库分离的,达到数据安全的目的。版本全流程中,所有和数据库相关的操作,需要先在测试库部署和验证通过后,再发布到生产库。
在本实施例中,所述测试库可以包括Oracle数据库、Mysql数据库、DB2数据库、Sybase数据库等。可以对多个同一类型的测试库(例如多个Oracle数据库)进行失效对象监控。也可以对多个不同类型的测试库(例如多个Oracle数据库和Mysql数据库)进行失效对象监控。
对所述测试库进行配置时,配置的信息可以包括配置名称、连接配置名、数据库地址、数据库驱动程序、数据库用户名、数据库用户密码等。测试库配置好后,就可以对其进行访问。
在本实施例中,可以通过Jmeter脚本建立与测试库的连接,对所述测试库进行配置。Jmeter是一个基于Java的压力测试工具,也可以用来做功能测试、数据库测试、接口测试等。Jmeter脚本是在Jmeter工具上开发的,用来达到测试目的的脚本。
查询单元202,用于根据对所述测试库的配置,从所述测试库的数据库对象表中查询处于失效状态的数据库对象,得到所述测试库的失效对象。
可以查询处于失效状态的数据库对象,得到所述失效对象的ID。失效对象的ID可以是一个数字编号,如77573,唯一定位一个数据库对象。
或者,可以查询处于失效状态的数据库对象,得到所述失效对象的名称,例如视图名称、同义词名称、过程名称等。
测试库的失效对象可以包括包(Package)、存储过程(Procedure)、函数(Function)、视图(View)、同义词(Synonym)等。在对数据库的表、包或其他数据库对象进行操作时,因为关联影响分析不到位,可能会导致一些相关的数据库对象失效。数据库对象失效,会导致引用了这些数据库对象的功能报错,无法正常使用。
数据库对象失效的原因有很多,测试环境经常遇到的几类原因如下:
1、当被引用对象的结构发生了变更,相关的依赖对象状态会转变为失效。
例如,存在一个表TableA,表A的结构中包含了字段Column1,Column2,Column3,Column4,Column5。存在一个视图ViewA,其定义是对Column1,Column2,Column3,Column4的引用:create view ViewA as select Column1,Column2,Column3,Column4from TableA。开发写了一个DDL脚本,删除了表TableA中的Column4字段:alter table TableA dropcolumn Column4。没有分析到视图ViewA中有对表TableA中Column4字段的应用,没有对ViewA的定义做相应修改,导致视图ViewA失效。如果有功能直接查询的是视图ViewA,就会报错,提示表或视图不可用。
2、在创建函数或存储过程等,里面的内容存在语法错误,导致编译不通过,数据库对象失效。
例如,创建了一个包PackageA,包头里面定义了Procedure1、Procedure2、Procedure3等。但是在包体里面,只有Procedure1Procedure2。因此编译时会报错,包PackageA会失效。
3、在创建函数或存储过程等,里面的内容存在授权缺失,导致编译不通过,数据库对象失效。
例如,创建了一个包PackageA,在里面某一个查询语句中,存在对表TableA的调用,而包的属主没有对表TableA的查询权限。因此编译报错,包PackageA会失效。
根据对所述测试库的配置,可以访问所述测试库,查询所述测试库的处于失效状态的数据库对象,即得到所述测试库的失效对象。
查询单元202在查询到失效对象后,可以进一步查询失效对象的相关信息,包括:
查询失效对象所属测试库的系统标识符(System Identifier,SID),测试库的系统标识符可以用来区分各个测试库的失效对象,以定位失效对象所在的测试库;
查询失效对象的属主,失效对象的属主可以用来区分同名的失效对象;
查询失效对象的类型,例如包(Package)、存储过程(Procedure)、函数(Function)、视图(View)、同义词(Synonym)等;
查询失效对象的创建时间,以方便开发人员查找数据库对象的定义脚本;
查询失效对象的最近一次操作时间(例如最近一次DDL脚本执行时间),以方便开发人员分析数据库对象失效的原因,例如分析是否是因为近期的DDL脚本执行引起的;
查询失效对象的时间戳,以方便开发人员分析是何时的改动引起数据库对象不可用。
在本实施例中,可以通过Jmeter脚本从所述测试库的数据库对象表中查询处于失效状态的数据库对象,得到所述测试库的失效对象。
可以按照预设时间从所述测试库的数据库对象表中查询处于失效状态的数据库对象,得到所述测试库的失效对象。例如,可以设置查询周期(例如每天一次),按照所述查询周期从所述测试库的数据库对象表中查询处于失效状态的数据库对象。
筛选单元203,用于从所述测试库的失效对象中剔除无关用户的失效对象,得到筛选后的失效对象。
无关用户是指非系统应用用户,可以包括测试用户、系统用户、监控用户。每个数据库对象都隶属于一个用户(即每个数据库对象的属主)。测试用户是测试库的操作用户,供测试人员构造和查询测试数据时使用的,生产库是没有的。系统用户和监控用户是监控数据库的一些使用情况的用户。无关用户(例如测试用户、系统用户、监控用户)下不会创建系统应用相关的表,系统应用也不会调用无关用户下创建的表。因此,无关用户下的对象失效,不影响系统本身的功能,所以无需进行监控。
可以根据所述测试库的失效对象的属主判断所述测试库的失效对象中是否存在无关用户的失效对象。若所述测试库的失效对象中存在无关用户的失效对象,则剔除该无关用户的失效对象。例如,可以预先设置无关用户列表,判断所述测试库的失效对象的属主是否包含在所述无关用户列表中,若所述测试库的失效对象的属主包含在所述无关用户列表中,则从所述测试库的失效对象中剔除该属主对应的失效对象。
在本实施例中,可以通过Jmeter脚本从所述测试库的失效对象中剔除无关用户的失效对象,得到筛选后的失效对象。
在一个实施例中,可以在从所述测试库的数据库对象表中查询处于失效状态的数据库对象时设置剔除无关用户的查询条件,根据该剔除无关用户的查询条件直接得到筛选后的失效对象。
输出单元204,用于输出所述筛选后的失效对象。
查询单元202查询到的失效对象的信息可以包括:测试库的系统标识符、失效对象的属主、失效对象的类型、失效对象的ID、失效对象的名称、失效对象的创建时间、失效对象最近一次操作时间、失效对象的时间戳、失效对象的状态等。输出单元204可以输出所述筛选后的失效对象的上述信息。
可以生成测试库失效对象报表,在所述测试库失效对象报表中展示所述筛选后的失效对象,例如展示测试库的系统标识符、失效对象的属主、失效对象的类型、失效对象的ID、失效对象的名称、失效对象的创建时间、失效对象最近一次操作时间、失效对象的时间戳、失效对象的状态等。
可以对筛选后的失效对象按照预定条件进行输出。例如,可以按照测试库的系统标识符、失效对象的属主或失效对象的类型输出所述筛选后的失效对象,例如,在所述测试库失效对象报表中展示所述筛选后的失效对象。
若进行失效对象监控的测试库是多个,可以整合多个测试库的筛选后的失效对象在一个报表中展示,以方便测试人员能够快速地从该报表中看到多个测试库的整体情况,也方便管理人员看到测试环境所有测试库的失效对象全貌,便于统一跟踪和管理。
在本实施例中,可以通过Jmeter脚本输出所述筛选后的失效对象。例如,在Jmeter脚本中编写测试库监控结果(即筛选后的失效对象)的页面展现。
实施例二的测试库失效对象监控装置10建立与测试库的连接,对所述测试库进行配置;根据对所述测试库的配置,从所述测试库的数据库对象表中查询处于失效状态的数据库对象,得到所述测试库的失效对象;从所述测试库的失效对象中剔除无关用户的失效对象,得到所述测试库筛选后的失效对象;输出所述测试库筛选后的失效对象。实施例二可以通过数据库层面发现问题,而无需测试人员通过复杂、大量的功能测试去发现问题。实施例二可以帮助测试人员及时发现问题和跟进解决,避免问题遗留到生产,产生功能或者性能问题。并且,如果是测试库信息(例如测试库的IP和端口)发生变更,只需要重新对测试库进行配置即可(例如修改测试库的数据库地址中的IP和端口)。如果有新增的测试库,只需要建立与新增的测试库的连接,对新增的测试库进行配置。因此,实施例二实现了灵活、高效的测试库失效对象监控。
在另一实施例中,所述测试库失效对象监控装置10还可以包括:发送单元,用于将所述筛选后的失效对象发送给预设联系人。可以通过邮件、短信、微信等方式将所述筛选后的失效对象发送给预设联系人。
实施例三
本实施例提供一种计算机可读存储介质,该计算机可读存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述测试库失效对象监控方法实施例中的步骤,例如图1所示的步骤101-104:
步骤101,建立与测试库的连接,对所述测试库进行配置;
步骤102,根据对所述测试库的配置,从所述测试库的数据库对象表中查询处于失效状态的数据库对象,得到所述测试库的失效对象;
步骤103,从所述测试库的失效对象中剔除无关用户的失效对象,得到筛选后的失效对象;
步骤104,输出所述筛选后的失效对象。
或者,该计算机程序被处理器执行时实现上述装置实施例中各模块/单元的功能,例如图2中的单元201-204:
配置单元201,用于建立与测试库的连接,对所述测试库进行配置;
查询单元202,用于根据对所述测试库的配置,从所述测试库的数据库对象表中查询处于失效状态的数据库对象,得到所述测试库的失效对象;
筛选单元203,用于从所述测试库的失效对象中剔除无关用户的失效对象,得到筛选后的失效对象;
输出单元204,用于输出所述筛选后的失效对象。
实施例四
图3为本发明实施例四提供的计算机装置的示意图。所述计算机装置1包括存储器20、处理器30以及存储在所述存储器20中并可在所述处理器30上运行的计算机程序40,例如测试库失效对象监控程序。所述处理器30执行所述计算机程序40时实现上述测试库失效对象监控方法实施例中的步骤,例如图1所示的步骤101-104:
步骤101,建立与测试库的连接,对所述测试库进行配置;
步骤102,根据对所述测试库的配置,从所述测试库的数据库对象表中查询处于失效状态的数据库对象,得到所述测试库的失效对象;
步骤103,从所述测试库的失效对象中剔除无关用户的失效对象,得到筛选后的失效对象;
步骤104,输出所述筛选后的失效对象。
或者,所述处理器30执行所述计算机程序40时实现上述装置实施例中各模块/单元的功能,例如图2中的单元201-204:
配置单元201,用于建立与测试库的连接,对所述测试库进行配置;
查询单元202,用于根据对所述测试库的配置,从所述测试库的数据库对象表中查询处于失效状态的数据库对象,得到所述测试库的失效对象;
筛选单元203,用于从所述测试库的失效对象中剔除无关用户的失效对象,得到筛选后的失效对象;
输出单元204,用于输出所述筛选后的失效对象。
示例性的,所述计算机程序40可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器20中,并由所述处理器30执行,以完成本发明。所述一个或多个模块/单元可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序40在所述计算机装置1中的执行过程。例如,所述计算机程序40可以被分割成图2中的配置单元201、查询单元202、筛选单元203、输出单元204,各单元具体功能参见实施例二。
所述计算机装置1可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。本领域技术人员可以理解,所述示意图2仅仅是计算机装置1的示例,并不构成对计算机装置1的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述计算机装置1还可以包括输入输出设备、网络接入设备、总线等。
所称处理器30可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器30也可以是任何常规的处理器等,所述处理器30是所述计算机装置1的控制中心,利用各种接口和线路连接整个计算机装置1的各个部分。
所述存储器20可用于存储所述计算机程序40和/或模块/单元,所述处理器30通过运行或执行存储在所述存储器20内的计算机程序和/或模块/单元,以及调用存储在存储器20内的数据,实现所述计算机装置1的各种功能。所述存储器20可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据计算机装置1的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器20可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述计算机装置1集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本发明所提供的几个实施例中,应该理解到,所揭露的计算机装置和方法,可以通过其它的方式实现。例如,以上所描述的计算机装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能单元可以集成在相同处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在相同单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。计算机装置权利要求中陈述的多个单元或计算机装置也可以由同一个单元或计算机装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种测试库失效对象监控方法,其特征在于,所述方法包括:
建立与测试库的连接,对所述测试库进行配置;
根据对所述测试库的配置,从所述测试库的数据库对象表中查询处于失效状态的数据库对象,得到所述测试库的失效对象;
从所述测试库的失效对象中剔除无关用户的失效对象,得到筛选后的失效对象,包括:在从所述测试库的数据库对象表中查询处于失效状态的数据库对象时设置剔除无关用户的查询条件,根据该剔除无关用户的查询条件得到筛选后的失效对象;
输出所述筛选后的失效对象。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
查询所述失效对象所属测试库的系统标识符;
查询所述失效对象的属主;
查询所述失效对象的类型;
查询所述失效对象的创建时间;
查询所述失效对象的最近一次操作时间;
查询所述失效对象的时间戳。
3.如权利要求2所述的方法,其特征在于,所述从所述测试库的失效对象中剔除无关用户的失效对象包括:
根据所述测试库的失效对象的属主判断所述测试库的失效对象中是否存在无关用户的失效对象;
若所述测试库的失效对象中存在无关用户的失效对象,则剔除该无关用户的失效对象。
4.如权利要求1所述的方法,其特征在于,所述失效对象包括包、存储过程、函数、视图、同义词。
5.如权利要求1所述的方法,其特征在于,所述测试库失效对象监控方法通过Jmeter脚本实现。
6.如权利要求1所述的方法,其特征在于,所述测试库配置的信息包括配置名称、连接配置名、数据库地址、数据库驱动程序、数据库用户名、数据库用户密码。
7.如权利要求1所述的方法,其特征在于,所述测试库包括Oracle数据库、Mysql数据库、DB2数据库、Sybase数据库。
8.一种测试库失效对象监控装置,其特征在于,所述装置包括:
配置单元,用于建立与测试库的连接,对所述测试库进行配置;
查询单元,用于根据对所述测试库的配置,从所述测试库的数据库对象表中查询处于失效状态的数据库对象,得到所述测试库的失效对象;
筛选单元,用于从所述测试库的失效对象中剔除无关用户的失效对象,得到筛选后的失效对象,包括:在从所述测试库的数据库对象表中查询处于失效状态的数据库对象时设置剔除无关用户的查询条件,根据该剔除无关用户的查询条件得到筛选后的失效对象;
输出单元,用于输出所述筛选后的失效对象。
9.一种计算机装置,其特征在于:所述计算机装置包括处理器,所述处理器用于执行存储器中存储的计算机程序以实现如权利要求1-7中任一项所述测试库失效对象监控方法。
10.一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-7中任一项所述测试库失效对象监控方法。
CN201811025131.XA 2018-09-04 2018-09-04 测试库失效对象监控方法及装置、计算机装置及存储介质 Active CN109359030B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811025131.XA CN109359030B (zh) 2018-09-04 2018-09-04 测试库失效对象监控方法及装置、计算机装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811025131.XA CN109359030B (zh) 2018-09-04 2018-09-04 测试库失效对象监控方法及装置、计算机装置及存储介质

Publications (2)

Publication Number Publication Date
CN109359030A CN109359030A (zh) 2019-02-19
CN109359030B true CN109359030B (zh) 2023-05-26

Family

ID=65350661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811025131.XA Active CN109359030B (zh) 2018-09-04 2018-09-04 测试库失效对象监控方法及装置、计算机装置及存储介质

Country Status (1)

Country Link
CN (1) CN109359030B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750787A (zh) * 2015-03-12 2015-07-01 国家电网公司 数据集成处理系统和集成处理方法
CN106682223A (zh) * 2017-01-04 2017-05-17 上海智臻智能网络科技股份有限公司 数据有效性检测方法及装置、智能交互方法及装置
CN107301186A (zh) * 2016-04-15 2017-10-27 中国移动通信集团重庆有限公司 一种无效数据的识别方法及装置
JP2018005552A (ja) * 2016-07-01 2018-01-11 株式会社東芝 データベース管理装置、データベース管理方法、およびデータベース管理プログラム
CN108108393A (zh) * 2017-11-27 2018-06-01 成都优易数据有限公司 一种在oracle数据库中实时清理无效文件的方法

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750787A (zh) * 2015-03-12 2015-07-01 国家电网公司 数据集成处理系统和集成处理方法
CN107301186A (zh) * 2016-04-15 2017-10-27 中国移动通信集团重庆有限公司 一种无效数据的识别方法及装置
JP2018005552A (ja) * 2016-07-01 2018-01-11 株式会社東芝 データベース管理装置、データベース管理方法、およびデータベース管理プログラム
CN106682223A (zh) * 2017-01-04 2017-05-17 上海智臻智能网络科技股份有限公司 数据有效性检测方法及装置、智能交互方法及装置
CN108108393A (zh) * 2017-11-27 2018-06-01 成都优易数据有限公司 一种在oracle数据库中实时清理无效文件的方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
无效数据库对象;oracleEDU;《https://mp.weixin.qq.com/s/z9hhQb2T574-ojBgIBGPkw》;20170825;第1-6页 *

Also Published As

Publication number Publication date
CN109359030A (zh) 2019-02-19

Similar Documents

Publication Publication Date Title
US7506336B1 (en) System and methods for version compatibility checking
US20080235611A1 (en) Computer-Implemented Systems And Methods For Analyzing Product Configuration And Data
US20080034015A1 (en) System and method for automated on demand replication setup
CA3141329A1 (en) Request link tracking method and service request processing method
US7634766B2 (en) Method and apparatus for pattern-based system design analysis using a meta model
US7606889B1 (en) Methods and systems for comparing storage area network configurations
US10445675B2 (en) Confirming enforcement of business rules specified in a data access tier of a multi-tier application
US11487742B2 (en) Consistency checks between database systems
US20230315619A1 (en) Lineage-driven source code generation for building, testing, deploying, and maintaining data marts and data pipelines
EP4081903A1 (en) Unit testing of components of dataflow graphs
CN110737594A (zh) 自动生成测试用例的数据库标准符合性测试方法及装置
CN109918394A (zh) 数据查询方法、系统、计算机装置及计算机可读存储介质
US11615076B2 (en) Monolith database to distributed database transformation
US20080077552A1 (en) Systems and methods for analyzing multiple states in one or more groups of data
US7689587B1 (en) Autorep process to create repository according to seed data and at least one new schema
CN115357590A (zh) 针对数据变更的记录方法、装置、电子设备及存储介质
US20090070743A1 (en) System and method for analyzing software applications
WO2006126992A1 (en) Method and apparatus for tracking changes in a system
CN113010208B (zh) 一种版本信息的生成方法、装置、设备及存储介质
US11238025B2 (en) Data repair within productive system
CN110659063A (zh) 软件项目重构方法、装置、计算机装置及存储介质
US11487645B2 (en) Predictive test case coverage
CN111339560B (zh) 一种数据隔离方法、装置及系统
US20230289331A1 (en) Model generation service for data retrieval
CN109359030B (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
GR01 Patent grant
GR01 Patent grant