CN105373469B - 一种基于接口的软件自动化测试系统和方法 - Google Patents

一种基于接口的软件自动化测试系统和方法 Download PDF

Info

Publication number
CN105373469B
CN105373469B CN201410422848.3A CN201410422848A CN105373469B CN 105373469 B CN105373469 B CN 105373469B CN 201410422848 A CN201410422848 A CN 201410422848A CN 105373469 B CN105373469 B CN 105373469B
Authority
CN
China
Prior art keywords
test
case
data
result
interface
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
CN201410422848.3A
Other languages
English (en)
Other versions
CN105373469A (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.)
Guangdong Jin Fu Polytron Technologies Inc
Original Assignee
Guangdong Jin Fu Polytron Technologies Inc
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 Guangdong Jin Fu Polytron Technologies Inc filed Critical Guangdong Jin Fu Polytron Technologies Inc
Priority to CN201410422848.3A priority Critical patent/CN105373469B/zh
Publication of CN105373469A publication Critical patent/CN105373469A/zh
Application granted granted Critical
Publication of CN105373469B publication Critical patent/CN105373469B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本申请提供一种基于接口的软件自动化测试方法和系统,该系统包括测试用例管理模块、测试执行管理模块、数据库操作管理模块和测试结果管理模块,其中,测试用例管理模块用于用例报文生成和保存,测试执行管理模块用于接口参数化调用与返回值校验,数据库操作管理模块用于数据库语句的生成、执行与校验,测试结果管理模块用于统计、分析与格式化测试报告。

Description

一种基于接口的软件自动化测试系统和方法
技术领域
本发明涉及软件测试技术,更具体地,涉及一种基于接口的软件自动化测试系统和方法。
背景技术
随着计算机软件在全行业的广泛使用,软件质量逐步受到用户的重视,软件测试作为软件质量保障的前端入口就变得更加重要。其中,软件接口测试是软件测试中的一个重要分支,测试对象是软件的接口及接口交互的数据,主要的活动是接口交互数据的正确性检查。通常,在进行软件接口人工测试过程中,需要人工配置用例报文数据并逐个用例执行、校对。而接口测试会随着接口的报文复杂度及接口个数的增加,实施完整的接口测试相当繁复,测试的工作量成几何倍数的增长,工作效率比较低。
而且,现在进行软件接口测试时,往往都是测试人员自行写测试程序或使用现成的接口测试工具,由于测试接口报文、测试用例文件以及测试全过程活动步骤的复杂性,测试变得非常困难,效率比较低。现有技术中,提及一些通用的软件接口测试方案,针对软件接口测试的共同特点,仅仅将测试执行过程进行整合,对测试执行的共性进行统一,而没有把整个接口测试过程进行整体设计与统一管理,并未有效解决接口测试效率低以及灵活性的问题,无法跨越多个平台对象使用。
发明内容
为克服现有技术的上述缺陷,本发明提出一种基于接口的软件自动化测试方法和系统,把接口测试全过程活动步骤连接成一个较为系统、有序、可控的自动化测试过程。
根据本发明的一个方面,提出了一种基于接口的软件自动化测试系统,包括测试用例管理模块、测试执行管理模块、数据库操作管理模块和测试结果管理模块,其中,测试用例管理模块用于用例报文生成和保存,测试执行管理模块用于接口参数化调用与返回值校验,数据库操作管理模块用于数据库语句的生成、执行与校验,测试结果管理模块用于统计、分析与格式化测试报告。
根据本申请的另一方面,提供一种基于接口的软件自动化测试方法,包括:步骤1,用例编写,根据原始协议接口文档,在源数据文件表格中设计测试用例,包括报文头与报文体,报文体包括报文逻辑与用例数据;步骤2,生成测试用例,通过配置文件或界面选择,找到对应的源数据文件,选中用例集名称,生成测试用例;步骤3,按照策略自动执行测试;步骤4,执行数据库检查,从公共数据池中提取的数据库的预期检查数据通过后,把本次数据库检查的结果同步到数据池中对应测试用例对应的数据库结果字段中;步骤5,执行测试结果管理,根据数据池中用例状态标识,提取用例数据并格式化汇总,记录到文件中并发送测试结果。
本发明通过实现接口自动化测试,把对接口数据正确性检查的手工测试过程变成自动测试,把手工活动的功能进行模块化与自动化,采用用例管理、执行管理、数据库校验与测试结果四个模块来自动化实现。
通过本发明可以实现软件接口测试的自动化,测试人员只需关注测试用例的设计,不仅可以高度复用测试用例,也能完成相对复杂的兼容不同接口类型的测试工作,大大提高了工作效率。
附图说明
图1为根据本申请的接口自动化测试方法的流程结构图;
图2为用例管理模块的运行流程图;
图3为测试执行管理模块的运行流程图。
为了能明确实现本发明的实施例的结构,在图中标注了特定的尺寸、结构和器件,但这仅为示意需要,并非意图将本发明限定在该特定尺寸、结构、器件和环境中,根据具体需要,本领域的普通技术人员可以将这些器件和环境进行调整或者修改,所进行的调整或者修改仍然包括在后附的权利要求的范围中。
具体实施方式
下面结合附图和具体实施例对本发明提供的一种基于接口的软件自动化测试系统和方法进行详细描述。
在以下的描述中,将描述本发明的多个不同的方面,然而,对于本领域内的普通技术人员而言,可以仅仅利用本发明的一些或者全部结构或者流程来实施本发明。为了解释的明确性而言,阐述了特定的数目、配置和顺序,但是很明显,在没有这些特定细节的情况下也可以实施本发明。在其他情况下,为了不混淆本发明,对于一些众所周知的特征将不再进行详细阐述。
图1为根据本申请的接口自动化测试系统的运行结构图,如图1所示,该自动化测试系统包括测试用例管理模块、测试执行管理模块、数据库操作管理模块和测试结果管理模块,其中,测试用例管理模块用于用例报文生成和保存,测试执行管理模块用于接口参数化调用与返回值校验,数据库操作管理模块用于数据库语句的生成、执行与校验,测试结果管理模块用于统计、分析与格式化测试报告。
其中,该自动化测试系统还包括公共数据池模块,其中,测试用例数据(包括用例数据与预期结果、数据库预期与操作配置)自动生成后存放到公共数据池模块;测试执行管理模块从公共数据池取用例进行执行操作并把执行返回结果同步公共数据池;数据库操作校验从公共数据池模块取对应的用例数据,根据执行返回结果,执行对应的数据库操作(配置化);测试结果管理模块从公共数据池模块取测试数据,统计、分析并生成测试报告。
其中,该系统进一步包括增加定时启动测试以及邮件通知,即:实现定时自动测试并自动邮件通知测试结果。
其中,该自动化测试系统包括完整全面数据结构,用于用例源文件及公共数据池,其内容包括测试配置数据与测试用例数据。其中,测试配置数据包括接口公共数据及报文公共部分,测试用例数据包括测试用例编号、接口标识、报文节点名称、报文节点取值、测试用例描述、用例类别、请求地址、测试用例集名称、预期库表配置、预期结果等。
不同接口类型的测试用例的数据结构都是统一的,其区别在于报文组成不一样,该数据结构用于将测试用例的数据标准化,便于在整个测试过程中的管理与维护,这个数据标准化的过程是自动的。该自动化系统包括初始化模块,其中,初始化模块用于对不同类型的报文进行抽象,然后按照规则进行封装测试用例数据,与公共数据池交互操作有:初始化数据池、提取用例执行、测试结果(测试返回与数据库检查)、测试报告数据提取。
公共数据池的操作有如下四种情况:
1)初始化数据池:测试用例数据生产之后按照抽象的结构对每一个用例数据进行标准化封装,添加到公共数据池中,用例ID为唯一标识。
2)提取测试用例执行:按照测试用例的类别在数据池进行提取用例数据进行测试并更新数据池用例的状态字段并记录用例ID
3)测试结果更新(测试返回与数据库检查结果)
测试返回结果:测试执行完成之后,根据测试返回进行分析得出测试结果,把测试结果按照用例ID对应更新到数据池的用例结果字段并更新数据池用例的状态字段。
数据库检查结果:测试执行过程中通常会触发被测系统的数据库操作,测试用例触发的数据库操作会根据用例数据池的用例数据库检查字段的数据进行数据库检查与验证,然后把数据库的检查结果更新到数据池的数据中。
4)测试结果报告提取:测试结果报告的生成时会从数据池中提取测试用例数据,根据数据池中测试用例的执行状态标识进行用例数据的提取。测试过程与数据池中的用例数据交互的操作都是自动完成的。
图2为测试用例管理模块的运行流程图;如图2所示,在接口自动化测试实现过程中,测试用例管理模块是一个相对独立的模块,也是接口自动化测试的首要的切点,具体有:测试用例数据存放,测试用例数据配置化和测试用例管理。
测试用例数据存放:所有的测试用例数据都存放在满足一定格式的文件中,即用例数据驱动。数据用例数据分为源数据与结构化数据,分布如下说明:
1)源数据,即测试用例最原始的的数据,其组成是对所有用例数据进行抽象与具象,抽象在于把所有用例数据全部统一到一张二维表中,公共部分与个性部分进行分离,具象在于对每一个用例数据字段的取值进行具体的设计,对应二维表中的行列数据的字符与取值,以便于对用例源数据进行识别与分析,源数据中的用例数据以用例ID作为唯一标识。源数据文件中包括的数据有:用例ID、字段名称、字段取值、字段逻辑标识、用例集名称、接口名称、用例类别标识、预期结果、库表数据配置、实际结果等信息。
2)结构化数据,在识别与分析源数据文件之后,自动组装并生成对应的报文,把整体的用例数据(包括用例ID、用例接口标识、用例集标识等)全部进行数据结构化并添加到数据池中。另外,把生成的原始接口报文进行保存到对应的文件中,便于报文的正确性的核查。
测试用例数据配置化:测试用例数据可配置化内容包括:用例报文字段名称、用例报文字段取值、用例报文长度、服务端URL、测试用例接口名称、测试用例集、测试用例ID等。
测试用例管理,包括:用例集分类管理、用例生成与保存(用例集目录)、用例数据可视化、用例信息统计。
用例集分类管理,目的是对测试用例按照用例集名称进行管理与保存,便于对测试过程中的用例分类、管理与核查;用例报文生成与保存(用例集目录),目的是对生成的用例原始报文以用例集目录进行保存,便于对用例原始报文进行核查、调试与验证;用例数据可视化,目的是对测试用例数据的信息展示,包括整体报文、节点名称、节点取值、服务地址、请求报文文件、用例描述、返回信息、预期结果、实际结果等,用于对测试用例执行结果的信息追踪与分析;用例信息统计,目的是对当前的测试用例的信息进行统计,包括用例与用例集的个数,用于提高对测试用例信息的透明度,增加过程用例信息的整体把握。
图3为测试执行管理模块的运行流程图,如图3所示,在测试执行管理中,主要是测试执行的过程与控制方面的策略,主要包括:执行与控制子模块,执行统计子模块和执行管理子模块。
其中,执行与控制子模块,用于测试用例执行的选择、测试执行按照一定的策略进行并实时进行控制,其中执行策略包括:定时执行单次、定时间隔执行多次、倒计时执行单次、倒计时执行多次、立即执行,不同的策略应用于不同的业务场景与被测系统的实际情况。
其中,执行统计子模块,用于对测试用例执行及进度情况进行统计并及时展示,执行统计的对象包括:总体执行用例数、用例集执行用例数、总体用例通过数、用例集用例通过数、总体用例通过率、用例集通过率、实时执行耗时、单用例执行耗时、用例执行平均耗时、总体执行进度(百分比)执行统计,执行统计信息的展示主要在界面上实时展示并把对应的信息存放到数据池,以便于测试结果报告的生产时查询并提取数据。
执行管理子模块,用于读取用例公共数据池用例数据并调用接口执行;用于调用被测系统的接口并执行校验操作,在用例报文已知的情况下接口的返回结果是可以预期的,故接口的操作校验主要包括接口返回值域通过其他接口检查的方式与预期结果进行校验;还用于根据调用接口返回校验并同步公共数据池数据,同步数据池用例数据中的测试结果字段并标识执行状态标识。
数据库操作管理模块,在数据库操作管理中,主要是按照数据源文件中的数据库配置进行相应的操作,包括:第一,根据用例标识读取公共数据池的用例数据,把需要执行数据库操作的用例中的预期库表数据配置通过专门算法进行解析并生产对应的SQL,其中预期库表数据配置为数据池中数据库表配置字段中提取。第二,执行生成的用例SQL并把执行的结果根据用例标识回写到公共数据池中,包括预期库表与实际库表数据的格式化数据。
测试结果管理模块,用于从公共数据池中抽取执行完成的数据,其数据包括:总体执行用例数、用例集执行用例数、总体用例通过数、用例集用例通过数、总体用例通过率、用例集通过率、实时执行耗时、单用例执行耗时、用例执行平均耗时。通过分析测试结果数据给出本次执行的质量情况并按照用例集格式化数据,按照一定格式汇总出测试报告并邮件发送。
如下以某系统的漏话业务接口作为实例,按照先后顺序陈述本发明的实例过程(报文为XML报文,源数据文件格式以excel为例):
步骤1:源数据文件编辑(用例编写)--用例设计人工操作
原始接口协议文档如下(截取):
上述文档为被测系统的开发设计文档(已存在的)。
根据原始协议接口文档,需要在源数据文件表格中设计测试用例,其中包括报文头与报文体,而需要编辑的报文体包括:报文逻辑与用例数据。
报文头(截取)如:
报文头属于本系统的所有接口公共的报文部分,对于本系统的所有接口是相对固定不变的,但其支持可变的元素个数,如:元素个数=X,即将会往下取X个元素组成报文头,上述X=11。数据源文件中的sheet页名称作为用例集名称,里面二维表作为用例集的用例,其他sheet页为其他用例集。
如本接口用例集名称为:“漏话业务”
报文逻辑(截取)如:
ServiceReq|ServiceParam
ServiceParam|OprType=
ServiceParam|ServID=
ServiceParam|ServAttr
ServAttr|ProBossReq
ProBossReq|MSISDN=
ProBossReq|BILLTYPE=
ProBossReq|WHCTYPE=
ServiceParam|Old_ServAttr
Old_ServAttr|MSISDN=
用来标识报文中字段的逻辑结构,即父子节点关系,如下说明:有“=”表示叶子节点,否则为非叶子节点;“|”左边的是父节点,右边的是子节点;按照报文协议规则,即可组成上述的逻辑结构,同一个接口,报文逻辑都是一样的,不会变化,故报文的逻辑结构是可以复用的。
用例数据(截取)如:
------SERFUN_VAD_LHBASE_02------
用例描述:正常,参数合法有效,[02](正常逻辑测试,所有取值均合法必填设置)
OrigDomain=NGCRM
HomeDomain=NGBOSS
BIPCode=SERVPROC
BIPVer=1000
TransIDO=201406051414130002
TransIDH=20140605141413734
AreaCode=ZH
OperID=ngcrm
ProcessTime=20100702133445
TestFlag=1
OrderID=128883563
Priority=10
ReqType=0
SubNo=13800000000
IMSI=46111111111111111111111111
ProdID=0
ServiceNum=1
Sequence=1
OrderLineID=128883563
WorkID=1
OprType=02
ServID=SERFUN_VAD_LHBASE
MSISDN=13800000555
BILLTYPE=02
WHCTYPE=01
MSISDN=13800000188
其中上述每项在excel二维表中对应的逻辑结构列的字段进行编写。列表示用例数据的字段取值,行表示用例。编写测试用例时,仅需要针对测试点进行修改某字段的取值,用例的其他字段直接可以拷贝,故复用程度也非常高。总体来说,一个接口的用例仅需编写一个,就能在同样的接口中其他用例都可复用。
步骤2:生成测试用例—自动执行
在用例设计完成后,可以通过配置文件或界面选择,找到对应的源数据文件,然后界面上直接可以看到源数据文件中的用例集名称与数量,勾选中用例集名称即可生成测试用例,测试用例数据如下:
生成的报文目录为:“漏话业务”,
生成的用例报文文件名称为:TcRq_SERFUN_VAD_LHBASE_02.xml
生成的原始报文为:
<?xml version="1.0"encoding="UTF-8"?>
<NGBOSS>
<OrigDomain>NGCRM</OrigDomain>
<HomeDomain>NGBOSS</HomeDomain>
<BIPCode>SERVPROC</BIPCode>
<TransIDO>201406051414130002</TransIDO>
<TransIDH>20140605141413734</TransIDH>
<AreaCode>ZH</AreaCode>
<OperID>ngcrm</OperID>
<ProcessTime>20100702133445</ProcessTime>
<TestFlag>1</TestFlag>
<SvcCont><![CDATA[<?xml version="1.0"encoding="UTF-8"?><ServiceReq>
<OrderID>128883563</OrderID>
<Priority>10</Priority>
<ReqType>0</ReqType>
<UserInfo>
<SubNo>13800000000</SubNo>
<IMSI>46111111111111111111111111</IMSI>
</UserInfo>
<ServiceInfo>
<ServiceNum>1</ServiceNum>
<ServiceParam>
<Sequence>1</Sequence>
<OrderLineID>128883563</OrderLineID>
<WorkID>1</WorkID>
<OprType>02</OprType>
<ServID>SERFUN_VAD_LHBASE</ServID>
<ServAttr>
<ProBossReq>
<MSISDN>13800000555</MSISDN>
<BILLTYPE>02</BILLTYPE>
</ProBossReq>
</ServAttr>
<Old_ServAttr>
<MSISDN>13800000188</MSISDN>
</Old_ServAttr>
</ServiceParam>
</ServiceInfo>
</ServiceReq>
]]></SvcCont>
</NGBOSS>
这些用例信息(报文信息、用例ID、用例集名称、接口标识、预期结果等)都会初始化到数据池中,数据池的数据结构包括:测试用例ID、测试用例描述、测试数据(请求报文)、测试用例类型、测试应答结果(应答报文)、服务请求地址、测试预期结果、测试预期库表、测试用例文件路径、测试应答报文文件路径、测试结果(返回码)、测试结果描述(返回描述)、测试用例集名称等。
数据池就是一个数据容器Vector,仅需将初始化的对象添加进去即可。测试用例生成之后除了初始化数据池外,在界面上展示测试用例列表与用例ID,可供勾选执行。
步骤3:测试执行—按照策略自动执行
在界面选择执行测试用例,其过程为:根据测试执行策略,对选中列表用例ID,提取数据池中的用例数据,包括用例报文数据、用例描述数据、预期结果等,把用例报文数据作为调用被测试系统的请求报文(如步骤2的原始报文),通过对应答报文进行分析并与预期结果进行对比,可得到本次测试接口返回结果,根据此结果进行数据库查询检查,通过查询的实际结果与预期库表查询结果可判定数据库操作的正确性,综合接口返回结果与数据库检查结果判断本次测试执行的结果。
请求报文(如步骤2的原始报文)
应答报文(截取)如下:
<?xml version="1.0"encoding="UTF-8"?>
<NGBOSS><OrigDomain>NGCRM</OrigDomain><HomeDomain>NGBOSS</HomeDomain><BIPCode>SERVPROC</BIPCode><BIPVer>1000</BIPVer><TransIDO>ZH201111241639340003</TransIDO><TransIDH>201111241638183276539141382002</TransIDH><AreaCode>ZH</AreaCode><OperID>ngcrm</OperID><ProcessTime>20100702133445</ProcessTime><TestFlag>1</TestFlag><Response><RspCode>SV0000</RspCode><RspDesc>success</RspDesc></Response><ServList><ServID>SERFUN_VAD_LHBASE:SV0000</ServID></ServList><SvcCont></SvcCont></NGBOSS>
其中应答报文中的:RspCode=SVXXXX是本接口测试校验的关键点,称为返回码,本应答报文的返回码为SV0000,表示成功执行。RspCode有多种取值以表示各种的结果。
步骤4:数据库检查—自动执行
本次执行返回码为SV0000成功执行,这需要进行数据库的检查,从公共数据池中提取的数据库的预期检查数据为:
SP_ORDER_REQ~ID|AREACODE=ZQ^TEXT;SP_SERVICE_DISPATCH~SID|REMARK=成功^TEXT
通过对此串分析可得到两方面信息:数据库操作预期取值与数据库实际操作。执行完成后进行对比,如下:
预期库表:
SP_ORDER_REQ|AREACODE=ZQ;SP_SERVICE_DISPATCH|REMARK=成功;
实际库表:
SP_ORDER_REQ|AREACODE=ZQ;SP_SERVICE_DISPATCH|REMARK=成功;
如上,表SP_ORDER_REQ中,字段AREACODE,表SP_SERVICE_DISPATCH中,字段REMARK的预期结果与实际结果均相等,分别为“ZQ”,“成功”,故本次数据库检查结果为通过。
然后把本次数据库检查的结果同步到数据池中对应测试用例对应的数据库结果字段中。测试过程会统计测试执行的信息,主要是用例执行情况与状态,这些信息会同步到数据池中,以便于测试报告生成时的提取使用。
步骤5:测试结果管理—自动执行
根据数据池中用例状态标识,提取用例数据并格式化汇总,记录到文件中并邮件发送测试结果,如下详细信息:
------------TestCase_No:1------------
用例ID:TC_SERFUN_VAD_LHBASE_1
预期结果:SV0000
实际结果:SV0000
预期库表:
SP_ORDER_REQ|AREACODE=ZQ;SP_SERVICE_DISPATCH|REMARK=成功;
实际库表:
SP_ORDER_REQ|AREACODE=ZQ;SP_SERVICE_DISPATCH|REMARK=成功;
数据输入:
OprType=01|ServID=SERFUN_VAD_LHBASE|MSISDN=13800000555|BILLTYPE=02|WHCTYPE=01
测试描述:正常,参数合法有效,[01](正常逻辑测试,所有取值均合法必填设置);请求报文:ReqTc\漏话业务\TcRq_SERFUN_VAD_LHBASE_01.xml;
应答报文:ReqTc\漏话业务\TcRp_SERFUN_VAD_LHBASE_01.xml;
测试结果:PASS;
执行耗时:1.05秒;
--------2014-01-1217:06:13531
------------TestCase_No:2------------
测试格式化报告中包括了按照用例集的信息统计与总体信息统计,格式化了每个用例执行的具体情况,包括用例ID、用例描述、预期结果、实际结果、请求报文、应答报文等,这些将会为执行过程的核查与问题分析提供便利的信息,测试结果报告的信息全部提取自数据池的数据中。
通常本漏话业务接口手工测试执行完成100个接口用例,需要时间约为2.5小时,而本通过本发明提供的解决方案进行执行仅需2分钟12秒,由此可见,本发明给出的解决方案对测试效率的提高非常明显。
最后应说明的是,以上实施例仅用以描述本发明的技术方案而不是对本技术方法进行限制,本发明在应用上可以延伸为其他的修改、变化、应用和实施例,并且因此认为所有这样的修改、变化、应用、实施例都在本发明的精神和教导范围内。

Claims (6)

1.一种基于接口的软件自动化测试系统,包括测试用例管理模块、测试执行管理模块、数据库操作管理模块和测试结果管理模块,其中,测试用例管理模块用于用例报文生成和保存,测试用例管理模块包括测试用例数据存放子模块、测试用例数据配置化子模块和测试用例管理子模块,测试用例数据存放子模块用于所有的测试用例数据按照一定格式的文件进行存放,用例数据分为源数据与结构化数据,测试用例数据配置化子模块用于配置用例报文字段名称、用例报文字段取值、用例报文长度、服务端URL、测试用例接口名称、测试用例集、测试用例ID,测试用例管理子模块用于用例集分类管理、用例生成与保存、用例数据可视化、用例信息统计;测试执行管理模块用于接口参数化调用与返回值校验;数据库操作管理模块用于数据库语句的生成、执行与校验,测试结果管理模块用于统计、分析与格式化测试报告;自动化测试系统还包括用于用例源文件及公共数据池的数据结构,该数据结构包括测试配置数据与测试用例数据;其中,测试配置数据包括接口公共数据及报文公共部分,测试用例数据包括测试用例编号、接口标识、报文节点名称、报文节点取值、测试用例描述、用例类别、请求地址、测试用例集名称、预期库表配置和预期结果。
2.根据权利要求1所述的系统,其中,还包括公共数据池模块,其中,测试用例数据自动生成后存放到公共数据池模块;测试执行管理模块从公共数据池模块取测试用例进行执行操作并把执行返回结果同步至公共数据池模块;数据库操作校验从公共数据池模块取对应的用例数据,根据执行返回结果,执行对应的数据库配置化操作;测试结果管理模块从公共数据池模块取测试数据,统计、分析并生成测试报告。
3.根据权利要求1所述的系统,其中,还包括初始化模块,用于对不同类型的报文进行抽象,按照规则进行封装测试用例数据,与公共数据池模块进行包括初始化数据池、提取用例执行、测试结果和测试报告数据提取的交互操作。
4.根据权利要求1所述的系统,其中,测试执行管理模块包括执行与控制子模块,执行统计子模块和执行管理子模块;其中,执行与控制子模块,用于测试用例执行的选择、测试执行按照一定的策略进行并实时进行控制;执行统计子模块,用于对测试用例执行对象及进度情况进行统计并及时展示;执行管理子模块,用于读取用例公共数据池用例数据并调用接口执行;用于调用被测系统的接口并执行校验操作,根据调用接口返回校验结果并同步公共数据池数据。
5.根据权利要求1所述的系统,其中,测试结果管理模块还用于:从公共数据池中抽取执行完成的数据,通过分析测试结果数据给出本次执行的质量情况并按照用例集格式化数据,按照一定格式汇总出测试报告。
6.一种基于接口的软件自动化测试方法,包括:
步骤1,用例编写,根据原始协议接口文档,在源数据文件表格中设计测试用例,包括报文头与报文体,报文体包括报文逻辑与用例数据;
步骤2,生成测试用例,通过配置文件或界面选择,找到对应的源数据文件,选中用例集名称,生成测试用例;
步骤3,按照策略自动执行测试;步骤3还包括:
根据测试执行策略,对选中列表用例ID,提取公共数据池中的用例数据,把用例报文数据作为调用被测试系统的请求报文;
通过对应答报文进行分析并与预期结果进行对比,得到本次测试接口返回结果,根据此结果进行数据库查询检查;
通过查询的实际结果与预期库表查询结果可判定数据库操作的正确性,综合接口返回结果与数据库检查结果判断本次测试执行的结果;
步骤4,执行数据库检查,从公共数据池中提取的数据库的预期检查数据通过后,把本次数据库检查的结果同步到公共数据池中对应测试用例对应的数据库结果字段中;
步骤5,执行测试结果管理,根据公共数据池中用例状态标识,提取用例数据并格式化汇总,记录到文件中并发送测试结果;
其中还包括初始化操作,将不同类型的报文进行抽象,然后按照规则进行封装测试用例数据,实现初始化模块与公共数据池交互操作,交互操作具体包括:初始化数据池、提取用例执行、测试结果更新、测试结果报告提取。
CN201410422848.3A 2014-08-25 2014-08-25 一种基于接口的软件自动化测试系统和方法 Active CN105373469B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201410422848.3A CN105373469B (zh) 2014-08-25 2014-08-25 一种基于接口的软件自动化测试系统和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410422848.3A CN105373469B (zh) 2014-08-25 2014-08-25 一种基于接口的软件自动化测试系统和方法

Publications (2)

Publication Number Publication Date
CN105373469A CN105373469A (zh) 2016-03-02
CN105373469B true CN105373469B (zh) 2018-09-04

Family

ID=55375687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410422848.3A Active CN105373469B (zh) 2014-08-25 2014-08-25 一种基于接口的软件自动化测试系统和方法

Country Status (1)

Country Link
CN (1) CN105373469B (zh)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107203466B (zh) * 2016-03-17 2020-12-04 美的集团股份有限公司 Api测试方法和装置
CN106021111A (zh) * 2016-05-30 2016-10-12 上海携程商务有限公司 接口测试方法及系统
CN107544899B (zh) * 2016-06-24 2020-04-24 深圳市中兴微电子技术有限公司 一种执行测试用例的方法及装置
CN106980573B (zh) * 2016-10-26 2020-11-20 创新先进技术有限公司 一种构建测试用例请求对象的方法、装置及系统
CN106713011B (zh) * 2016-11-22 2020-04-28 腾讯科技(深圳)有限公司 一种获取测试数据的方法与系统
CN106598851A (zh) * 2016-12-05 2017-04-26 广州唯品会信息科技有限公司 软件接口测试方法及系统
CN106776307A (zh) * 2016-12-05 2017-05-31 广州唯品会信息科技有限公司 软件测试方法及系统
CN106681301A (zh) * 2016-12-19 2017-05-17 四川长虹电器股份有限公司 无线智能控制模块及移动应用的测试方法及系统
CN106933745A (zh) * 2017-03-30 2017-07-07 携程计算机技术(上海)有限公司 Web接口自动化测试方法和系统
CN107122301B (zh) * 2017-04-27 2020-04-10 武汉斗鱼网络科技有限公司 界面测试方法及装置
CN107301122A (zh) * 2017-05-10 2017-10-27 深圳市小牛在线互联网信息咨询有限公司 接口测试方法、装置、存储介质及计算机设备
CN107368408A (zh) * 2017-05-31 2017-11-21 中国船舶工业综合技术经济研究院 一种面向接口的软件故障注入自动化测试方法
CN109086173B (zh) * 2017-06-13 2022-08-16 龙芯中科技术股份有限公司 一种操作系统的设备测试方法、装置和存储介质
CN107294807B (zh) * 2017-07-04 2020-02-11 中国联合网络通信集团有限公司 协议互操作性测试方法及装置
CN107451056B (zh) * 2017-07-31 2020-11-10 深圳乐信软件技术有限公司 监听接口测试结果的方法及装置
CN107665171B (zh) * 2017-10-11 2020-08-04 中国民生银行股份有限公司 自动回归测试方法及装置
CN107729243B (zh) * 2017-10-12 2020-06-16 上海携程金融信息服务有限公司 应用编程接口自动化测试方法、系统、设备及存储介质
CN107807869A (zh) * 2017-10-16 2018-03-16 微梦创科网络科技(中国)有限公司 一种测试系统和测试方法
CN108132883A (zh) * 2017-12-25 2018-06-08 信利光电股份有限公司 一种软件测试数据分析方法、装置、系统及存储介质
CN108197033A (zh) * 2018-01-24 2018-06-22 智慧海派科技有限公司 一种自动化测试结果自动通知相关人员的方法
CN108959065A (zh) * 2018-05-17 2018-12-07 烽火通信科技股份有限公司 软件接口测试参数的验证方法及系统
CN108804267A (zh) * 2018-05-30 2018-11-13 平安普惠企业管理有限公司 数据库轮询方法、装置、计算机设备及存储介质
CN108874403B (zh) * 2018-05-30 2022-07-12 深圳市分期乐网络科技有限公司 规则文件的发布方法、装置、设备及存储介质
CN108897687B (zh) * 2018-06-29 2022-04-01 泰华智慧产业集团股份有限公司 一种基于数据驱动的api自动化测试方法和系统
CN109101421A (zh) * 2018-07-21 2018-12-28 上海维信荟智金融科技有限公司 基于模拟催收系统的自动化测试方法及系统
CN109032952B (zh) * 2018-08-09 2021-11-23 中国建设银行股份有限公司 一种基于规则的智能外呼服务模拟方法及系统
CN109117375A (zh) * 2018-08-30 2019-01-01 上海携程金融信息服务有限公司 数据库接口测试方法、系统、设备和存储介质
CN110908888B (zh) * 2018-09-17 2023-06-30 百度在线网络技术(北京)有限公司 服务器测试方法及装置
CN109240933B (zh) * 2018-09-28 2022-07-26 四川虹微技术有限公司 一种数据表操作结果断言方法
CN109474488B (zh) * 2018-10-31 2020-10-27 中国银行股份有限公司 接口测试方法、装置及计算机设备
CN109408398A (zh) * 2018-11-13 2019-03-01 郑州云海信息技术有限公司 一种接口自动化测试装置及方法
CN109582583A (zh) * 2018-12-14 2019-04-05 平安健康保险股份有限公司 软件测试方法、装置、计算机设备和存储介质
CN109634868B (zh) * 2018-12-19 2024-05-03 平安科技(深圳)有限公司 金融数据分析系统自动化测试结果的处理方法及装置
CN109800156B (zh) * 2018-12-20 2022-05-06 交控科技股份有限公司 一种基于配置文件命令的地铁信号系统自动化测试方法
CN109710533A (zh) * 2018-12-29 2019-05-03 亚信科技(中国)有限公司 一种接口测试方法、装置及服务器
CN109726136A (zh) * 2019-01-28 2019-05-07 上海达梦数据库有限公司 数据库的测试方法、装置、设备和存储介质
CN110096447B (zh) * 2019-05-09 2023-01-03 神州网信技术有限公司 一种基于图像识别的软硬件自动化测试方法
CN110287126A (zh) * 2019-07-04 2019-09-27 上海睿赛德电子科技有限公司 一种适用于嵌入式系统的单元测试框架
CN110489343A (zh) * 2019-07-31 2019-11-22 广州微算互联信息技术有限公司 一种会话服务测试方法、系统、装置及存储介质
CN110781070A (zh) * 2019-09-06 2020-02-11 平安科技(深圳)有限公司 大数据测试验证方法、装置、计算机设备及存储介质
CN110752964B (zh) * 2019-09-06 2021-09-14 锐捷网络股份有限公司 一种网络设备的测试方法及装置
CN111026635B (zh) * 2019-09-27 2021-03-05 珠海必要工业科技股份有限公司 一种软件项目的测试系统、方法、装置及存储介质
CN110990248A (zh) * 2019-10-11 2020-04-10 北京银企融合技术开发有限公司 接口用例测试系统、方法、计算机设备及存储介质
CN110806979B (zh) * 2019-10-31 2023-04-07 望海康信(北京)科技股份公司 接口返回值的校验方法、装置、设备及存储介质
CN111026654A (zh) * 2019-11-28 2020-04-17 广州华资软件技术有限公司 一种基于接口自动化测试的方法
CN110928796B (zh) * 2019-11-29 2023-05-30 宝付网络科技(上海)有限公司 一种自动化测试平台
CN111078580A (zh) * 2019-12-31 2020-04-28 贵阳货车帮科技有限公司 一种测试用例管理方法、装置、存储介质及电子设备
CN111324540B (zh) * 2020-03-02 2023-08-04 北京同邦卓益科技有限公司 一种接口测试方法及装置
CN113448826A (zh) * 2020-03-26 2021-09-28 中移物联网有限公司 一种软件自动化测试系统及方法
CN111737148A (zh) * 2020-07-24 2020-10-02 深圳市富之富信息技术有限公司 自动回归测试方法、装置、计算机设备及存储介质
CN112463588A (zh) * 2020-11-02 2021-03-09 北京健康之家科技有限公司 一种自动化测试系统及方法、存储介质、计算设备
CN112559356A (zh) * 2020-12-18 2021-03-26 杭州兑吧网络科技有限公司 一种软件自动测试方法及其系统
CN112699030B (zh) * 2020-12-29 2023-10-20 中国航空工业集团公司西安飞机设计研究所 一种供电分区软件的自动化测试方法
CN112506807B (zh) * 2021-02-07 2021-05-11 上海洋漪信息技术有限公司 服务于多系统的接口自动化测试系统
CN115357478A (zh) * 2022-07-25 2022-11-18 武汉未来幻影科技有限公司 一种接口数据的测试方法、装置以及处理设备
CN117076329B (zh) * 2023-10-12 2024-01-30 浙江云融创新科技有限公司 一种业务互斥状态下用例并发执行的方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067639A (en) * 1995-11-09 2000-05-23 Microsoft Corporation Method for integrating automated software testing with software development
CN1866221A (zh) * 2006-02-27 2006-11-22 华为技术有限公司 一种软件接口测试方法和装置
CN101271423A (zh) * 2008-05-19 2008-09-24 中兴通讯股份有限公司 一种软件接口测试方法及系统
CN101996132A (zh) * 2009-08-14 2011-03-30 中兴通讯股份有限公司 公用对象请求代理程序体系结构接口自动测试方法和装置
CN102096631A (zh) * 2009-12-11 2011-06-15 华为技术有限公司 接口测试方法及装置
CN102163173A (zh) * 2011-04-06 2011-08-24 北京航空航天大学 一种分布式信息系统接口自动化测试方法
CN103049367A (zh) * 2011-10-11 2013-04-17 神州数码信息系统有限公司 一种软件自动化测试的方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9507692B2 (en) * 2009-04-15 2016-11-29 Oracle International Corporation Downward propagation of results for test cases in application testing

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6067639A (en) * 1995-11-09 2000-05-23 Microsoft Corporation Method for integrating automated software testing with software development
CN1866221A (zh) * 2006-02-27 2006-11-22 华为技术有限公司 一种软件接口测试方法和装置
CN101271423A (zh) * 2008-05-19 2008-09-24 中兴通讯股份有限公司 一种软件接口测试方法及系统
CN101996132A (zh) * 2009-08-14 2011-03-30 中兴通讯股份有限公司 公用对象请求代理程序体系结构接口自动测试方法和装置
CN102096631A (zh) * 2009-12-11 2011-06-15 华为技术有限公司 接口测试方法及装置
CN102163173A (zh) * 2011-04-06 2011-08-24 北京航空航天大学 一种分布式信息系统接口自动化测试方法
CN103049367A (zh) * 2011-10-11 2013-04-17 神州数码信息系统有限公司 一种软件自动化测试的方法

Also Published As

Publication number Publication date
CN105373469A (zh) 2016-03-02

Similar Documents

Publication Publication Date Title
CN105373469B (zh) 一种基于接口的软件自动化测试系统和方法
US20110161132A1 (en) Method and system for extracting process sequences
CN107665171B (zh) 自动回归测试方法及装置
CN105608088B (zh) 一种基于配置文件的数据库自动创建与数据动态记录方法
US10452625B2 (en) Data lineage analysis
CN107357942A (zh) 一种源代码辅助生成工具及其生成方法
Kamimura et al. Extracting candidates of microservices from monolithic application code
CN108319547A (zh) 测试用例生成方法、装置和系统
US20120150820A1 (en) System and method for testing data at a data warehouse
US20070038977A1 (en) Software development tool using a structured format to generate software code
CN106372044B (zh) 一种基于报表生成类型化维度xbrl报告的方法
CN109542556A (zh) 一种基于Activiti的流程与表单交互方法及系统
CN101996131A (zh) 基于xml封装关键字的gui自动测试方法及自动测试平台
US7926024B2 (en) Method and apparatus for managing complex processes
CN108694214A (zh) 数据报表的生成方法、生成装置、可读介质及电子设备
CN103425585B (zh) 一种osgi集成测试方法
CN104461531B (zh) 一种报表系统自定义函数的实现方法
US8832640B1 (en) Component mapped software development workflow
US20140019941A1 (en) Data selection
CN106919612A (zh) 一种上线结构化查询语言脚本的处理方法及装置
CN103077192B (zh) 一种数据处理方法及其系统
CN112434033B (zh) 一种应对灵活多变的表格类数据收集和展示的方法
CN107506190A (zh) 基于Spring框架的XML文件修改方法及装置
CN108647147A (zh) 一种利用图谱分析执行自动化测试机器人及其使用方法
CN103810094B (zh) 一种测试案例的执行方法、装置和测试工具

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB02 Change of applicant information

Address after: No. 5 on the third floor of the 528200 Guangdong Province Nanhai District of Foshan City, Guicheng deep sea No. 17 Han day science and technology city A District

Applicant after: GUANGDONG KAMFU TECHNOLOGY Co.,Ltd.

Address before: No. 5 on the third floor of the 528200 Guangdong Province Nanhai District of Foshan City, Guicheng deep sea No. 17 Han day science and technology city A District

Applicant before: GUANGDONG KAMFU INFORMATION TECHNOLOGY Co.,Ltd.

COR Change of bibliographic data
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20160302

Assignee: Guangdong Yaoda Financial Leasing Co.,Ltd.

Assignor: GUANGDONG KAMFU TECHNOLOGY Co.,Ltd.

Contract record no.: X2021980004499

Denomination of invention: A software automatic test system and method based on interface

Granted publication date: 20180904

License type: Exclusive License

Record date: 20210608

EE01 Entry into force of recordation of patent licensing contract
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A software automatic test system and method based on interface

Effective date of registration: 20210609

Granted publication date: 20180904

Pledgee: Guangdong Yaoda Financial Leasing Co.,Ltd.

Pledgor: GUANGDONG KAMFU TECHNOLOGY Co.,Ltd.

Registration number: Y2021980004556

PE01 Entry into force of the registration of the contract for pledge of patent right
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20160302

Assignee: GUANGDONG GUANGYU SCIENCE AND TECHNOLOGY DEVELOPMENT CO.,LTD.

Assignor: GUANGDONG KAMFU TECHNOLOGY Co.,Ltd.

Contract record no.: X2022980026538

Denomination of invention: An interface based software automatic testing system and method

Granted publication date: 20180904

License type: Common License

Record date: 20221215

EE01 Entry into force of recordation of patent licensing contract