CN107741901A - 一种关联数据库语句的测试方法和装置 - Google Patents

一种关联数据库语句的测试方法和装置 Download PDF

Info

Publication number
CN107741901A
CN107741901A CN201610860224.9A CN201610860224A CN107741901A CN 107741901 A CN107741901 A CN 107741901A CN 201610860224 A CN201610860224 A CN 201610860224A CN 107741901 A CN107741901 A CN 107741901A
Authority
CN
China
Prior art keywords
data
test
sentence
target association
database statement
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
CN201610860224.9A
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.)
Tencent Technology Shenzhen Co Ltd
Original Assignee
Tencent 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 Tencent Technology Shenzhen Co Ltd filed Critical Tencent Technology Shenzhen Co Ltd
Priority to CN201610860224.9A priority Critical patent/CN107741901A/zh
Publication of CN107741901A publication Critical patent/CN107741901A/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

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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明实施例公开了一种关联数据库语句的测试方法和装置;本发明实施例采用接收语句测试请求,该语句测试请求指示需要测试的目标关联数据库语句,然后,根据该语句测试请求在该目标关联数据库语句涉及的数据表中插入测试数据,对该测试数据执行该目标关联数据库语句对应的关联数据库命令,当对该测试数据执行关联数据库命令成功时,则确定该目标关联数据库语句测试通过;该方案可以降低关联数据库管理系统语句的测试耗时以及节省资源。

Description

一种关联数据库语句的测试方法和装置
技术领域
本发明涉及计算机技术领域,具体涉及一种关联数据库语句的测试方法和装置。
背景技术
MySQL(关系型数据库管理系统)是一种关联数据库管理系统,关联数据库将数据保存在不同的表中,而不是将所有数据放在一个大仓库内,这样就增加了速度并提高了灵活性。
MySQL有自己适用的语言,比如SQL(Structured Query Language,结构化查询语言)是用于访问数据库的最常用标准化计算机语言。编程人员在通过SQL语言书写MYSQL关联数据库命令时,需要按照MySQL所规定的固定格式和使用方法来书写,这样才能被数据库正确地执行。
实际编程过程中,一般需要对编写好的MySQL语句(如SQL语句)进行测试,以保证MySQL命令的准确性和可行性。目前MySQL语句的测试方式,是通过把MySQL命令直接提交到真实的数据库环境去执行,通过执行结果来检测MySQL语句的正确性。然而,这种测试MySQL语法的方式的缺点是,必须真实的去执行,其(尤其是MySQL语句复杂时)、处理的数据量大,将需要等待很长的时间、并且需要占用大量的资源才能执行完成,导致测试耗时较长且浪费资源。
发明内容
本发明实施例提供一种关联数据库语句的测试方法和装置,可以降低关联数据库管理系统语句的测试耗时以及节省资源。
本发明实施例提供一种关联数据库语句的测试方法,包括:
接收语句测试请求,所述语句测试请求指示需要测试的目标关联数据库语句;
根据所述语句测试请求在所述目标关联数据库语句涉及的数据表中插入测试数据;
对所述测试数据执行所述目标关联数据库语句对应的关联数据库命令;
当对所述测试数据执行关联数据库命令成功时,则确定所述目标关联数据库语句测试通过。
相应的,本发明实施例还提供一种关联数据库语句的测试装置,包括:
接收单元,用于接收语句测试请求,所述语句测试请求指示需要测试的目标关联数据库语句;
数据插入单元,用于根据所述语句测试请求在所述目标关联数据库语句涉及的数据表中插入测试数据;
命令执行单元,用于对所述测试数据执行所述目标关联数据库语句对应的关联数据库命令;
确定单元,用于当对所述测试数据执行关联数据库命令成功时,则确定所述目标关联数据库语句测试通过。
本发明实施例采用接收语句测试请求,该语句测试请求指示需要测试的目标关联数据库语句,然后,根据该语句测试请求在该目标关联数据库语句涉及的数据表中插入测试数据,对该测试数据执行该目标关联数据库语句对应的关联数据库命令,当对该测试数据执行关联数据库命令成功时,则确定该目标关联数据库语句测试通过。该方案采用对数据表中插入的测试数据执行关联数据库语句对应的命令,并基于执行结果来检测关联数据库语句的正确性,也即通过模拟推演关联数据库语言对应的命令的执行来检测关联数据库语句的正确性,无需将关联数据库语句对应的命令提交到真实的数据库环境中执行,降低了测试时处理的数据量;因此,相对于现有技术而言,可以降低关联数据库管理系统语句的测试耗时以及节省资源。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明实施例提供的关联数据库语句的测试方法的流程图;
图2a是本发明实施例提供的关联数据库语句的测试方法的另一流程图;
图2b是本发明实施例提供的关联数据库语句的测试方法中测试界面的示意图;
图2c是本发明实施例提供的关联数据库语句的测试方法中测试进度提示界面的示意图;
图2d是本发明实施例提供的关联数据库语句的测试方法中测试通过提示界面的示意图;
图2e是本发明实施例提供的关联数据库语句的测试方法中测试不通过提示界面的示意图;
图3a是本发明实施例提供的关联数据库语句的测试装置的结构示意图;
图3b是本发明实施例提供的关联数据库语句的测试装置的另一结构示意图;
图4是本发明实施例提供的终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供一种关联数据库语句的测试方法和装置。以下分别进行详细说明。
实施例一、
本实施例将从关联数据库语句的测试装置的角度进行描述,该关联数据库语句的测试装置具体可以集成在终端等设备中,该终端具体可以为手机或平板电脑等设备。
一种关联数据库语句的测试方法,包括:接收语句测试请求,该语句测试请求指示需要测试的目标关联数据库语句,然后,根据该语句测试请求在该目标关联数据库语句涉及的数据表中插入测试数据,对该测试数据执行该目标关联数据库语句对应的关联数据库命令,当对该测试数据执行关联数据库命令成功时,则确定该目标关联数据库语句测试通过。
如图1所示,一种关联数据库语句的测试方法,具体流程可以如下:
101、接收语句测试请求,该语句测试请求指示需要测试的目标关联数据库语句。
其中,目标关联数据库语句可以为采用关联数据库关联管理系统(如MySQL)可识别的或者支持的编程语言编写的语句;其中,关联数据管理库的编程语言可以为SQL(Structured Query Language,结构化查询语言)等编程语言。目标关联数据库语句对应的操作类型可以有多种,比如数据访问操作等。
SQL,是一种特殊目的的编程语言,是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统;同时也是数据库脚本文件的扩展名。
若用SQL编写关联数据库语句,此时,可以称为关联数据库语句为SQL语句。
其中,语句测试请求可以指示需要测试的目标关联数据库语句,比如,该语句测试请求可以携带需要测试的目标关联数据语句;该语句测试请求可以通过触发终端中预设触发键或输入框等触发接口来进行触发,比如,当用户点击或划过某个图标时,则触发生成该语句测试请求,此时,该关联数据库语句的测试装置便可以对该语句测试请求进行接收,比如,通过预设的指令接收接口对该语句测试请求进行接收,等等。
可选地,在接收语句测试请求之前,还可以获取用户输入的目标关联数据库语句,然后,用户通过终端中的预设触发键或输入框等触发接口进行触发时,可以触发生成该语句测试请求。
比如,提供一语句测试界面,该语句测试界面设置有语句输入接口以及测试接口;此时,可以通过语句输入接口获取用户输入的需要检测的目标关联数据库语句,接收用户通过测试接口触发的测试指令,然后,根据测试指令以及目标关联数据库语句生成语句测试请求,此时,该关联数据库语句的测试装置便可以对该语句测试请求进行接收。
102、根据该语句测试请求在该目标关联数据库语句涉及的数据表中插入测试数据。
具体地,可以根据语句测试请求从目标关联数据库语句中获取数据表标识,根据该数据表标识确定该目标关联数据库语句涉及的数据表,根据该数据表标识确定该目标关联数据库语句涉及的数据表。
一般在关联数据库语句中包括数据表标识,用于声明涉及的数据表,比如,在用于访问数据库的关联数据库语句中需要编入数据表的标识,以SQL为例,在用于访问数据库的SQL语句中利用From来声明需要访问的数据表,该From后面紧跟数据表的标识。
可选地,由于如果目标关联数据语句的语法错误,那么后续执行该目标关联数据语句对应的命令必然是不成功的,因此,那么直接进行测试数据插入以及对测试数据执行命令等步骤,会浪费资源。因此,为了节省资源,本实施例在插入测试数据之前,可以先检查关联数据库语句的语法是否正确;也即步骤“根据该语句测试请求在该目标关联数据库语句涉及的数据表中插入测试数据”可以包括:
根据语句测试请求检查该目标关联数据库语句的语法是否正确;
若正确,则在该目标关联数据库语句涉及的数据表中插入测试数据;具体地,可以从目标关联数据库语句中获取数据表标识,根据该数据表标识确定该目标关联数据库语句涉及的数据表,在该数据表中插入测试数据。
在实际应用中,对语法正确性的检查可以采用专门的语法检查器来进行,提高语句测试的速率和准确性;即步骤“根据语句测试请求检查该目标关联数据库语句的语法是否正确”可以包括:
根据该语句测试请求调用语法检查器;
通过该语法检测器检查该目标关联数据库语句的语法是否正确。
本实施例中,在该目标关联数据库语句的语法错误时,可以确定该目标关联数据库语句测试不通过,并提示用户测试不通过,其中,提示方式可以有多种,比如,可以弹出提示界面提示语句测试不通过。
可选地,为方便用户能快速修改关联数据库语句,以使其正确,本实施例在确定该目标关联数据库语句测试不通过时或之后,可以输出错误原因;比如,可以确定该目标关联数据库语句测试不通过时,可以输出测试不通过的提示信息以及错误原因信息。在实际应用中,在确定该目标关联数据库语句测试不通过时,可以弹出一提示界面,该提示界面包括:测试不通过的提示信息以及错误原因信息。
103、对该测试数据执行该目标关联数据库语句对应的关联数据库命令。
具体地,步骤103可以包括:对该目标关联数据库语句进行解析编译,得到该目标关联数据库语句对应的关联数据库命令,然后,对该测试数据执行该关联数据库命令。
比如,当目标关联数据库语句为访问语句时,可以对测试数据进行访问操作,即从目标关联数据库语句为访问语句涉及的数据表中读取该测试数据。
104、当对该测试数据执行关联数据库命令成功时,则确定该目标关联数据库语句测试通过。
当确定目标关联数据库语句测试通过时,表明该目标关联数据库语句是正确的。
可选地,本实施例还可以在对该测试数据执行关联数据库命令不成功时,以确定该目标关联数据库语句测试不通过(表明目标关联数据库语句是错误的),并提示用户测试不通过,其中,提示方式可以有多种,比如,可以弹出提示界面提示语句测试不通过。
可选地,为方便用户能快速修改关联数据库语句,以使其正确,本实施例在确定该目标关联数据库语句测试不通过时或之后,可以输出错误原因;比如,可以确定该目标关联数据库语句测试不通过时,可以输出测试不通过的提示信息以及错误原因信息。在实际应用中,在确定该目标关联数据库语句测试不通过时,可以弹出一提示界面,该提示界面包括:测试不通过的提示信息以及错误原因信息。
由上可知,本发明实施例采用接收语句测试请求,该语句测试请求指示需要测试的目标关联数据库语句,然后,根据该语句测试请求在该目标关联数据库语句涉及的数据表中插入测试数据,对该测试数据执行该目标关联数据库语句对应的关联数据库命令,当对该测试数据执行关联数据库命令成功时,则确定该目标关联数据库语句测试通过。该方案采用对数据表中插入的测试数据执行关联数据库语句对应的命令,并基于执行结果来检测关联数据库语句的正确性,也即通过模拟推演关联数据库语言对应的命令的执行来检测关联数据库语句的正确性,无需将关联数据库语句对应的命令提交到真实的数据库环境中执行,降低了测试时处理的数据量;因此,相对于现有技术而言,可以降低关联数据库管理系统语句的测试耗时、提高关联数据库管理系统语句的测试速率以及节省资源。
实施例二、
根据实施例一所描述的方法,以下将举例作进一步详细说明。
在本实施例中,将以该关联数据库语句的测试装置集成在终端,且目标关联数据库语句为SQL语句为例进行说明。
如图2a所示,一种关联数据库语句的测试方法,具体流程可以如下:
201、终端接收语句测试请求,该语句测试请求指示需要测试的SQL语句。
在本实施例中,SQL语句对应的操作类型可以有多种,比如数据访问操作等。
其中,语句测试请求可以通过触发终端中预设触发键或输入框等触发接口来进行触发,比如,当用户点击或划过某个图标时,则触发生成该语句测试请求,此时,关联数据库语句的测试装置便可对该请求进行接收。
比如,参考图2b,终端提供了一语句测试界面,该语句测试界面设有供用户输入待测试语句的输入框以及“测试计算”按钮。实际测试时,用户可以在输入框内输入待测试的SQL语句(如图2b所示,用户分别在三个输入框、SQL2、SQL1中输入相应的SQL语句),之后可以点击该“测试计算”按钮,从而触发生成语句测试请求,该语句测试请求可以指示用户输入待测试的SQL语句。
可选地,为了提高用户与终端之间的交互性,本实施例还可以在接收到语句测试请求之后,展示测试进度信息,如图2c所示,在用户点击“测试计算”按钮触发生成语句测试请求之后,可以显示一测试进度提示界面,该提示界面包括用于指示当前测试进度的指示信息,如进度条或者测试完成百分比等;图2c所示的测试进度提示界面表明SQL1输入框对应的SQL语句当前测试进度为50%。
202、终端根据该语句测试请求调用语法检查器。
比如,终端将的SQL语句提交给语法检查器,以检查SQL语句的语法是否正确。
203、终端通过该语法检测器检查该SQL语句的语法是否正确,若是,则执行步骤204,若否,则执行步骤208。
204、终端在该SQL语句涉及的数据表中插入测试数据。
本实施例中,可以在SQL语句涉及的数据表中插入少量的测试数据,测试数据插入的数量和类型可以根据实际需求设定,在实际应用中测试数据插入数量越少,语句测试速度越快。
具体地,终端可以从SQL语句中获取数据表标识,根据获取的数据表标识确定SQL语句涉及的数据表,并在该数据表中插入测试数据。
205、终端对该测试数据执行该SQL语句对应的SQL命令。
比如,终端可以对述SQL语句进行解析编译,得到相应的SQL命令,然后,对测试数据执行该SQL命令。
206、终端判断对该测试数据执行SQL命令是否成功,若是,则执行步骤207,若否,则执行步骤208。
207、终端确定该SQL语句测试通过,并提示用户SQL语句测试通过。
比如,参考图2d,在终端确定SQL语句测试通过时,可以弹出测试通过提示界面,该测试通过界面包括用于提示用户测试通过的提示信息,即图2d中“测试通过”文字信息等。
208、终端确定SQL语句测试不通过,并提示用户SQL语句测试不通过以及输出语句错误原因。
比如,参考图2e,在终端确定SQL语句测试不通过时,可以弹出测试不通过提示界面,该界面包括用于提示用户测试不通过的提示信息以及错误原因信息。
由上可知,本发明实施例终端接收语句测试请求,该语句测试请求指示需要测试的目标关联数据库语句,然后,终端根据该语句测试请求在该目标关联数据库语句涉及的数据表中插入测试数据,对该测试数据执行该目标关联数据库语句对应的关联数据库命令,当对该测试数据执行关联数据库命令成功时,则确定该目标关联数据库语句测试通过。该方案采用对数据表中插入的测试数据执行关联数据库语句对应的命令,并基于执行结果来检测关联数据库语句的正确性,也即通过模拟推演关联数据库语言对应的命令的执行来检测关联数据库语句的正确性,无需将关联数据库语句对应的命令提交到真实的数据库环境中执行,降低了测试时处理的数据量;因此,相对于现有技术而言,可以降低关联数据库管理系统语句的测试耗时、提高关联数据库管理系统语句的测试速率以及节省资源。
实施例三、
为了更好地实施上述方法,本发明实施例还提供一种关联数据库语句的测试装置,如图3a所示,该关联数据库语句的测试装置可以包括接收单元301、数据插入单元302、命令执行单元303和确定单元304,如下:
(1)接收单元301;
接收单元301,用于接收语句测试请求,该语句测试请求指示需要测试的目标关联数据库语句。
其中,目标关联数据库语句可以为采用关联数据库关联管理系统(如MySQL)可识别的或者支持的编程语言编写的语句;其中,关联数据管理库的编程语言可以为SQL(Structured Query Language,结构化查询语言)等编程语言。其中,语句测试请求可以通过触发终端中预设触发键或输入框等触发接口来进行触发,比如,当用户点击或划过某个图标时,则触发生成该语句测试请求,即:
接收单元301、具体用于接收用户通过触发接口触发的语句测试请求。
(2)数据插入单元302;
数据插入单元302,用于根据该语句测试请求在该目标关联数据库语句涉及的数据表中插入测试数据。
比如,参考图3b,该数据插入单元302,具体可以包括语法检查子单元3021和数据插入子单元3022;
语法检查子单元3021,用于根据语句测试请求检查该目标关联数据库语句的语法是否正确;
数据插入子单元3022,用于在语法检查子单元3021检查目标关联数据库语句的语法正确时,在该目标关联数据库语句涉及的数据表中插入测试数据。
又比如,该语法检查子单元3021,具体可以用于:根据该语句测试请求调用语法检查器;通过该语法检测器检查该目标关联数据库语句的语法是否正确。
该数据插入子单元3022,具体用于从目标关联数据库语句中获取数据表标识;根据该数据表标识确定该目标关联数据库语句涉及的数据表;在该数据表中插入测试数据。
(3)命令执行单元303;
命令执行单元303,用于对该测试数据执行该目标关联数据库语句对应的关联数据库命令。
例如,命令执行单元303,具体可以包括:编译子单元和命令执行子单元;
编译子单元,用于对该目标关联数据库语句进行解析编译,得到该目标关联数据库语句对应的关联数据库命令;
命令执行子单元,用于对该测试数据执行该关联数据库命令。
(4)确定单元304;
确定单元304,用于当对该测试数据执行关联数据库命令成功时,则确定该目标关联数据库语句测试通过。
可选地,该确定单元304,还可以用于当对该测试数据执行关联数据库命令失败时,则确定该目标关联数据库语句测试不通过。
具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。
该关联数据库语句的测试装置具体可以集成在终端等设备中,该终端具体可以为手机或平板电脑等设备。
由上可知,本发明实施例采用接收单元301接收语句测试请求,该语句测试请求指示需要测试的目标关联数据库语句,然后,由数据插入单元302根据该语句测试请求在该目标关联数据库语句涉及的数据表中插入测试数据,由命令执行单元303对该测试数据执行该目标关联数据库语句对应的关联数据库命令,当对该测试数据执行关联数据库命令成功时,则由确定单元304确定该目标关联数据库语句测试通过。该方案采用对数据表中插入的测试数据执行关联数据库语句对应的命令,并基于执行结果来检测关联数据库语句的正确性,也即通过模拟推演关联数据库语言对应的命令的执行来检测关联数据库语句的正确性,无需将关联数据库语句对应的命令提交到真实的数据库环境中执行,降低了测试时处理的数据量;因此,相对于现有技术而言,可以降低关联数据库管理系统语句的测试耗时、提高关联数据库管理系统语句的测试速率以及节省资源。
实施例四、
此外,本发明实施例还提供一种终端,如图4所示,该终端可以包括射频(RF,RadioFrequency)电路401、包括有一个或一个以上计算机可读存储介质的存储器402、输入单元403、显示单元404、传感器405、音频电路406、无线保真(WiFi,Wireless Fidelity)模块407、包括有一个或者一个以上处理核心的处理器408、以及电源409等部件。本领域技术人员可以理解,图4中示出的终端结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:
RF电路401可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,交由一个或者一个以上处理器408处理;另外,将涉及上行的数据发送给基站。通常,RF电路401包括但不限于天线、至少一个放大器、调谐器、一个或多个振荡器、用户身份模块(SIM,Subscriber Identity Module)卡、收发信机、耦合器、低噪声放大器(LNA,Low Noise Amplifier)、双工器等。此外,RF电路401还可以通过无线通信与网络和其他设备通信。所述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(GSM,Global System of Mobile communication)、通用分组无线服务(GPRS,GeneralPacket Radio Service)、码分多址(CDMA,Code Division Multiple Access)、宽带码分多址(WCDMA,Wideband Code Division Multiple Access)、长期演进(LTE,Long TermEvolution)、电子邮件、短消息服务(SMS,Short Messaging Service)等。
存储器402可用于存储软件程序以及模块,处理器408通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据终端的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器408和输入单元403对存储器402的访问。
输入单元403可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一个具体的实施例中,输入单元403可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触敏表面可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器408,并能接收处理器408发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触敏表面。除了触敏表面,输入单元403还可以包括其他输入设备。具体地,其他输入设备可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元404可用于显示由用户输入的信息或提供给用户的信息以及终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元404可包括显示面板,可选的,可以采用液晶显示器(LCD,Liquid Crystal Display)、有机发光二极管(OLED,Organic Light-Emitting Diode)等形式来配置显示面板。进一步的,触敏表面可覆盖显示面板,当触敏表面检测到在其上或附近的触摸操作后,传送给处理器408以确定触摸事件的类型,随后处理器408根据触摸事件的类型在显示面板上提供相应的视觉输出。虽然在图4中,触敏表面与显示面板是作为两个独立的部件来实现输入和输入功能,但是在某些实施例中,可以将触敏表面与显示面板集成而实现输入和输出功能。
终端还可包括至少一种传感器405,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板的亮度,接近传感器可在终端移动到耳边时,关闭显示面板和/或背光。作为运动传感器的一种,重力加速度传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于终端还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路406、扬声器,传声器可提供用户与终端之间的音频接口。音频电路406可将接收到的音频数据转换后的电信号,传输到扬声器,由扬声器转换为声音信号输出;另一方面,传声器将收集的声音信号转换为电信号,由音频电路406接收后转换为音频数据,再将音频数据输出处理器408处理后,经RF电路401以发送给比如另一终端,或者将音频数据输出至存储器402以便进一步处理。音频电路406还可能包括耳塞插孔,以提供外设耳机与终端的通信。
WiFi属于短距离无线传输技术,终端通过WiFi模块407可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图4示出了WiFi模块407,但是可以理解的是,其并不属于终端的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器408是终端的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行终端的各种功能和处理数据,从而对手机进行整体监控。可选的,处理器408可包括一个或多个处理核心;优选的,处理器408可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器408中。
终端还包括给各个部件供电的电源409(比如电池),优选的,电源可以通过电源管理系统与处理器408逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源409还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。
尽管未示出,终端还可以包括摄像头、蓝牙模块等,在此不再赘述。具体在本实施例中,终端中的处理器408会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器408来运行存储在存储器402中的应用程序,从而实现各种功能:
接收语句测试请求,该语句测试请求指示需要测试的目标关联数据库语句,然后,根据该语句测试请求在该目标关联数据库语句涉及的数据表中插入测试数据,对该测试数据执行该目标关联数据库语句对应的关联数据库命令,当对该测试数据执行关联数据库命令成功时,则确定该目标关联数据库语句测试通过。
其中,该处理器408可以具体执行如下操作:
根据语句测试请求检查该目标关联数据库语句的语法是否正确;
若正确,则在该目标关联数据库语句涉及的数据表中插入测试数据。
例如,根据该语句测试请求调用语法检查器;通过该语法检测器检查该目标关联数据库语句的语法是否正确。
该处理器408可以具体执行如下操作:
从目标关联数据库语句中获取数据表标识;根据该数据表标识确定该目标关联数据库语句涉及的数据表;在该数据表中插入测试数据。
上述操作具体可参见前面的方法实施例,在此不再赘述。
由上可知,本发明实施例终端接收语句测试请求,该语句测试请求指示需要测试的目标关联数据库语句,然后,根据该语句测试请求在该目标关联数据库语句涉及的数据表中插入测试数据,对该测试数据执行该目标关联数据库语句对应的关联数据库命令,当对该测试数据执行关联数据库命令成功时,则确定该目标关联数据库语句测试通过。该方案采用对数据表中插入的测试数据执行关联数据库语句对应的命令,并基于执行结果来检测关联数据库语句的正确性,也即通过模拟推演关联数据库语言对应的命令的执行来检测关联数据库语句的正确性,无需将关联数据库语句对应的命令提交到真实的数据库环境中执行,降低了测试时处理的数据量;因此,相对于现有技术而言,可以降低关联数据库管理系统语句的测试耗时、提高关联数据库管理系统语句的测试速率以及节省资源。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(ROM,Read Only Memory)、随机存取记忆体(RAM,RandomAccess Memory)、磁盘或光盘等。
以上对本发明实施例所提供的一种关联数据库语句的测试方法和装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (10)

1.一种关联数据库语句的测试方法,其特征在于,包括:
接收语句测试请求,所述语句测试请求指示需要测试的目标关联数据库语句;
根据所述语句测试请求在所述目标关联数据库语句涉及的数据表中插入测试数据;
对所述测试数据执行所述目标关联数据库语句对应的关联数据库命令;
当对所述测试数据执行关联数据库命令成功时,则确定所述目标关联数据库语句测试通过。
2.如权利要求1所述的测试方法,其特征在于,所述根据所述语句测试请求在所述目标关联数据库语句涉及的数据表中插入测试数据,包括:
根据语句测试请求检查所述目标关联数据库语句的语法是否正确;
若正确,则在所述目标关联数据库语句涉及的数据表中插入测试数据。
3.如权利要求2所述的测试方法,其特征在于,所述根据语句测试请求检查所述目标关联数据库语句的语法是否正确,包括:
根据所述语句测试请求调用语法检查器;
通过所述语法检测器检查所述目标关联数据库语句的语法是否正确。
4.如权利要求2所述的测试方法,其特征在于,在所述目标关联数据库语句涉及的数据表中插入测试数据,包括:
从目标关联数据库语句中获取数据表标识;
根据所述数据表标识确定所述目标关联数据库语句涉及的数据表;
在所述数据表中插入测试数据。
5.如权利要求1-4任一项所述的测试方法,其特征在于,对所述测试数据执行所述目标关联数据库语句对应的关联数据库命令,包括:
对所述目标关联数据库语句进行解析编译,得到所述目标关联数据库语句对应的关联数据库命令;
对所述测试数据执行所述关联数据库命令。
6.一种关联数据库语句的测试装置,其特征在于,包括:
接收单元,用于接收语句测试请求,所述语句测试请求指示需要测试的目标关联数据库语句;
数据插入单元,用于根据所述语句测试请求在所述目标关联数据库语句涉及的数据表中插入测试数据;
命令执行单元,用于对所述测试数据执行所述目标关联数据库语句对应的关联数据库命令;
确定单元,用于当对所述测试数据执行关联数据库命令成功时,则确定所述目标关联数据库语句测试通过。
7.如权利要求6所述的测试装置,其特征在于,所述插入单元,具体包括:
语法检查子单元,用于根据语句测试请求检查所述目标关联数据库语句的语法是否正确;
数据插入子单元,用于在语法检查子单元检查目标关联数据库语句的语法正确时,在所述目标关联数据库语句涉及的数据表中插入测试数据。
8.如权利要求7所述的测试装置,其特征在于,所述语法检查子单元,具体用于:
根据所述语句测试请求调用语法检查器;
通过所述语法检测器检查所述目标关联数据库语句的语法是否正确。
9.如权利要求7所述的测试装置,其特征在于,所述数据插入子单元,具体用于:
从目标关联数据库语句中获取数据表标识;
根据所述数据表标识确定所述目标关联数据库语句涉及的数据表;
在所述数据表中插入测试数据。
10.如权利要求6-9任一项所述的测试装置,其特征在于,所述命令执行单元,具体包括:
编译子单元,用于对所述目标关联数据库语句进行解析编译,得到所述目标关联数据库语句对应的关联数据库命令;
命令执行子单元,用于对所述测试数据执行所述关联数据库命令。
CN201610860224.9A 2016-09-28 2016-09-28 一种关联数据库语句的测试方法和装置 Pending CN107741901A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610860224.9A CN107741901A (zh) 2016-09-28 2016-09-28 一种关联数据库语句的测试方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610860224.9A CN107741901A (zh) 2016-09-28 2016-09-28 一种关联数据库语句的测试方法和装置

Publications (1)

Publication Number Publication Date
CN107741901A true CN107741901A (zh) 2018-02-27

Family

ID=61235152

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610860224.9A Pending CN107741901A (zh) 2016-09-28 2016-09-28 一种关联数据库语句的测试方法和装置

Country Status (1)

Country Link
CN (1) CN107741901A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110162976A (zh) * 2019-02-20 2019-08-23 腾讯科技(深圳)有限公司 风险评估方法、装置及终端
CN111773728A (zh) * 2020-07-09 2020-10-16 网易(杭州)网络有限公司 数据表测试方法、装置、设备及存储介质
CN112948266A (zh) * 2021-03-31 2021-06-11 建信金融科技有限责任公司 一种数据库语法测试系统、方法、装置、设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080270343A1 (en) * 2007-04-27 2008-10-30 Stephen Andrew Brodsky Processing database queries embedded in application source code from within integrated development environment tool
CN102043720A (zh) * 2011-01-18 2011-05-04 北京世纪高通科技有限公司 利用sql语句自动生成测试数据的方法和装置
US20140236997A1 (en) * 2013-02-15 2014-08-21 Omron Corporation Controller, information processing apparatus, and recording medium
CN104182340A (zh) * 2014-08-21 2014-12-03 浪潮(北京)电子信息产业有限公司 数据库兼容性测试方法和系统
CN105224458A (zh) * 2015-10-09 2016-01-06 上海瀚银信息技术有限公司 一种数据库测试方法及系统
CN105302709A (zh) * 2014-07-03 2016-02-03 阿里巴巴集团控股有限公司 测试数据生成方法及设备
US20160170863A1 (en) * 2014-12-10 2016-06-16 International Business Machines Corporation Software test automation

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080270343A1 (en) * 2007-04-27 2008-10-30 Stephen Andrew Brodsky Processing database queries embedded in application source code from within integrated development environment tool
CN102043720A (zh) * 2011-01-18 2011-05-04 北京世纪高通科技有限公司 利用sql语句自动生成测试数据的方法和装置
US20140236997A1 (en) * 2013-02-15 2014-08-21 Omron Corporation Controller, information processing apparatus, and recording medium
CN105302709A (zh) * 2014-07-03 2016-02-03 阿里巴巴集团控股有限公司 测试数据生成方法及设备
CN104182340A (zh) * 2014-08-21 2014-12-03 浪潮(北京)电子信息产业有限公司 数据库兼容性测试方法和系统
US20160170863A1 (en) * 2014-12-10 2016-06-16 International Business Machines Corporation Software test automation
CN105224458A (zh) * 2015-10-09 2016-01-06 上海瀚银信息技术有限公司 一种数据库测试方法及系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
万忠等: "《JSP动态网站开发案例教程》", 31 March 2012, 中国铁道出版社 *
袁晓洁等: "《Visual C# 2005 Windows编程技术》", 31 July 2009, 中国铁道出版社 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110162976A (zh) * 2019-02-20 2019-08-23 腾讯科技(深圳)有限公司 风险评估方法、装置及终端
CN110162976B (zh) * 2019-02-20 2023-04-18 腾讯科技(深圳)有限公司 风险评估方法、装置及终端
CN111773728A (zh) * 2020-07-09 2020-10-16 网易(杭州)网络有限公司 数据表测试方法、装置、设备及存储介质
CN112948266A (zh) * 2021-03-31 2021-06-11 建信金融科技有限责任公司 一种数据库语法测试系统、方法、装置、设备及存储介质
CN112948266B (zh) * 2021-03-31 2023-06-20 建信金融科技有限责任公司 一种数据库语法测试系统、方法、装置、设备及存储介质

Similar Documents

Publication Publication Date Title
CN104572430B (zh) 一种终端应用界面的测试方法、装置和系统
CN105320598B (zh) 软件测试方法及装置
CN105095432B (zh) 网页批注显示方法及装置
CN104519485B (zh) 一种终端之间的通信方法、装置和系统
CN106502906B (zh) 一种测试应用程序的方法和装置
CN104636047B (zh) 对列表中的对象进行操作的方法、装置及触屏终端
CN107357725B (zh) 应用测试方法及装置
CN104572046B (zh) 一种堆栈还原方法和计算机系统
CN104281600B (zh) 智能选词的方法和装置
CN106126411B (zh) 一种对被测程序代码进行测试的方法和装置
CN104077211B (zh) 一种移动终端软件的测试方法及测试系统
CN105955597B (zh) 信息显示方法及装置
CN104104711B (zh) 阅读历史处理方法和装置
CN108073495B (zh) 应用程序崩溃原因的定位方法及装置
CN105389259B (zh) 一种进行应用程序测试的方法、装置及系统
CN106708676A (zh) 接口测试方法及装置
CN104699501B (zh) 一种运行应用程序的方法及装置
CN106649126A (zh) 一种对应用程序进行测试的方法和装置
CN107040610A (zh) 数据同步方法、装置、存储介质、终端以及服务器
CN107276602A (zh) 射频干扰处理方法、装置、存储介质及终端
CN107885718A (zh) 语义确定方法及装置
CN107015866A (zh) 一种数据处理方法及装置
CN110335629A (zh) 音频文件的音高识别方法、装置以及存储介质
CN107741901A (zh) 一种关联数据库语句的测试方法和装置
CN107967203A (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: 20180227