CN103049367A - 一种软件自动化测试的方法 - Google Patents

一种软件自动化测试的方法 Download PDF

Info

Publication number
CN103049367A
CN103049367A CN 201110305780 CN201110305780A CN103049367A CN 103049367 A CN103049367 A CN 103049367A CN 201110305780 CN201110305780 CN 201110305780 CN 201110305780 A CN201110305780 A CN 201110305780A CN 103049367 A CN103049367 A CN 103049367A
Authority
CN
China
Prior art keywords
testing
test
case
software
message
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
CN 201110305780
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.)
DIGITAL CHINA INFORMATION SYSTEM Co Ltd
Original Assignee
DIGITAL CHINA INFORMATION SYSTEM 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 DIGITAL CHINA INFORMATION SYSTEM Co Ltd filed Critical DIGITAL CHINA INFORMATION SYSTEM Co Ltd
Priority to CN 201110305780 priority Critical patent/CN103049367A/zh
Publication of CN103049367A publication Critical patent/CN103049367A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

一种软件自动化测试的方法,首先定义用于测试软件的初始测试用例,定义用于测试软件的测试报文。测试报文与被测软件提供的服务接口是对应的。然后测试报文参数化,将测试用例和测试报文关联起来,形成一个完整的测试用例。接着设计一套测试用例集,设计“流程测试用例”;最后执行单个测试用例,批量执行测试用例,检查测试结果,找出软件缺陷本发明可以将测试用例、测试报文及数据等有效地管理起来,提高测试用例的复用率;测试用例集在无人值守的情况下批量自动地运行,工具自动保存测试结果,测试执行效率大幅提高;特别是在冒烟测试、回归测试中最能发挥作用,可以代替人工做重复的测试,节约了时间和人力。

Description

一种软件自动化测试的方法
技术领域
本发明涉及一种开展软件自动化测试的方法,特别是指一种采用测试用例和测试报文相关联的技术来开展大批量的自动化测试的方法。
背景技术
随着计算机软件在各行业中应用的不断深入,软件的质量保证显得越来越重要,软件测试作为软件质量保证的最重要手段也变得越来越重要。当前的软件测试主要采用手工测试的方法,这种方法已经不能满足对高复杂性和高可变性的软件进行测试的需要了,必须采用自动化测试的方法。
目前的自动化测试一般是从用户界面开始的,采用脚本录制的方法进行,这种方法依赖于用户界面的稳定性,而在现实情况下,用户界面是最容易变化的部分,因此这种方法有很大的局限性。为了克服这一缺点,我们在这里提出了一个新方法,即测试用例和测试报文相关联的技术来开展大批量的自动化测试的方法。本方法适用于测试具有下列特征的软件系统:1)采用面向服务的体系结构(SOA),2)对外提供基于报文的接口,能够接受XML报文,并处理XML报文,调用相关的服务进行业务处理。在当前面向互联网和云计算的背景下,这样的系统很普遍,所以本方法的适应面广。
采用本发明,使用者只要维护一套测试用例和一套测试报文,并通过配置的方式将它们关联起来,就可以批量地执行测试用例,对被测软件进行自动化的测试,从而可以大幅提高软件测试的效率,减轻测试人员的劳动强度,对于需求和功能频繁变化的软件产品或系统来说作用更加明显。本方法简单易行,特别适合用于开展自动化的冒烟测试、回归测试、集成测试、系统测试和验收测试等。
发明内容
本发明的主要目的在于提供一种软件自动化测试的方法,通过对测试用例和测试报文进行配置和对测试用例集进行定制,使得人们可以自动地测试软件,以提高软件测试的效率。
本发明所述的方法至少包括如下的步骤。下面以税收征管系统作为案例来说明。
步骤1:定义用于测试软件的初始测试用例。表-1是初始定义的营业税申报的测试用例。
表-1初始定义的测试用例
Figure BSA00000588723700031
步骤2:定义用于测试软件的测试报文。测试报文与被测软件提供的服务接口是对应的。下面列出了一个测试报文,是调用营业税申报接口时需要的输入报文。测试报文的名称是“xml_sbzs_yyssb_saveSbb_001”,报文头中有报文对应的服务名称“name”、报文中文名称“cnName”,报文体中有NSRSBH(纳税人识别号)、SBRQ(申报日期)和申报表的其他数据。报文的具体格式及信息如下:
Figure BSA00000588723700032
Figure BSA00000588723700041
Figure BSA00000588723700051
步骤3:测试报文参数化。
报文参数化的内涵是在报文中设置变量,使得在给变量赋予不同的值之后,报文可以变为不同的报文。在本发明中,设置了两种报文参数化的方式。第一种方式是:<XTSPHM>?</XTSPHM>,在运行时,系统遇到“?”号会让使用者输入数据。
第二种方式是:<XTSPHM>?XTSPHM</XTSPHM>,在运行时,系统遇到“?XTSPHM”,会到上一个用例执行后返回的结果信息中查找“XTSPHM”的值,然后带回到此报文中。
步骤4:将测试用例和测试报文关联起来,形成一个完整的测试用例。给表-1中的初始测试用例指定一个输入报文与之关联,用于代替手工输入数据,此输入报文将在执行此测试用例时被传递给被测试系统。关联后形成的完整测试用例如表-2所示。
表-2一个完整的测试用例
Figure BSA00000588723700052
Figure BSA00000588723700061
测试用例与测试报文的关联关系是:一个测试用例有一个测试报文与之对应,而参数化的测试报文可以对应多个测试用例,这样可以减少测试报文的数量和维护工作量。
步骤5:设计一套测试用例集
测试用例集是测试用例的集合。按上述步骤设计出一个个完整的测试用例,就形成了一套测试用例集。良好的测试用例集应该是完整的,覆盖系统的所有功能点;而且是按照类型、子系统或业务流程进行组织汇集的。表-3是税收申报的测试用例集的部分内容。
表-3税收申报的测试用例集(部分)
Figure BSA00000588723700062
Figure BSA00000588723700071
步骤6:设计“流程测试用例”
“流程测试用例”是按业务流程的顺序来组织的一组测试用例,用于测试一个业务流程。流程测试用例中的测试用例是从上述的测试用例集中选择出来的,并且按业务流程的顺序排列好了,而且对应的测试报文之间的参数化关系也设置好了。下面以营业税申报为例来说明流程测试用例的设计。此流程测试用例的目的是测试营业税从申报、开票、上解销号到入库销号的流程。从表-3中选取测试用例tc_yyssb_003、tc_ybkp_001、tc_sjxh_001、tc_sjxh_002、tc_sjxh_001、tc_rkxh_001,组成营业税申报的一个流程测试用例,如表-4所示。
表-4营业税申报的流程测试用例
Figure BSA00000588723700072
步骤7:执行单个测试用例。
在执行单个测试用例时,从测试用例集中选择一个测试用例(例如tc_yyssb_001),把报文xml_sbzs_yyssb_saveSbb_001发送到被测系统,调用被测系统中的服务,系统执行服务,系统输出运行结果到一个统一的日志文件(LOG)中。
步骤8:批量执行测试用例。
在批量执行测试用例时,可以从测试用例集中任意选择多个测试用例来执行,但更多地是选择流程测试用例来执行。例如选择表-4中的营业税申报的流程测试用例执行,可以完成一个完整流程的测试。在批量执行测试用例时,会按照顺序执行每一个测试用例,而其中每一个测试用例的执行跟步骤7是一样的。
步骤9:检查测试结果,找出软件缺陷。
系统会自动检查测试用例的执行状态(“通过”或“失败”),会将执行结果记录到统一的日志文件中,通过查看这些信息,可以找出相关的软件缺陷。如果做的好的话,可以根据预期结果定义自动化的检查程序,这跟具体的实施方式有关。
具体实施方式
针对上述测试方法的实施办法是开发一个工具软件,将上述步骤和功能在工具软件中实现,例如可以用此工具软件来定义被测试系统、测试用例、测试报文、测试用例集、流程测试用例等,并将这些内容保存在数据库中,通过工具对这些内容进行维护和管理。此工具软件还应包含单个执行测试用例、批量执行测试用例、执行结果日志保存、测试结果比对等功能。
在针对一个系统进行自动化测试之前,可以通过此工具软件把被测试系统的名称、所包含子系统、模块、服务等信息进行录入和管理;然后将测试环境的信息,如服务器地址、使用协议等使用此软件进行配置;将被测服务的测试用例、测试报文等进行录入和管理起来。
存入此工具软件的测试用例中,不仅包括测试用例的一般内容,还包括此测试用例相关的测试报文(XML格式),用作测试用例的输入数据。单个执行测试用例的功能是指,在执行一个测试用例时,工具软件会通过此报文调用系统中的被测服务,系统执行此服务。并输出运行结果到日志中。本工具取得结果日志,并根据预期结果来检查服务执行是否成功或是否有缺陷。批量执行测试用例的功能是指,工具软件可以将保存好的测试用例集批量按顺序执行,工具软件自动记录测试结果,并根据预期结果来检查测试用例集执行是否成功或是否有缺陷。
此技术方案实施时可以将测试用例、测试报文及数据等有效地管理起来,提高测试用例的复用率;测试用例集在无人值守的情况下批量自动地运行,工具自动保存测试结果,测试执行效率大幅提高;特别是在冒烟测试、回归测试中最能发挥作用,可以代替人工做重复的测试,节约了时间和人力。
最后所应说明的是,以上实施例仅用以说明而并非限制本发明所描述的技术方案;因此,尽管本说明书参照上述的实施例对本发明已进行了详细的说明,但是,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或者等同地替换;而一切不脱离本发明的精神和范围的技术方案及其改进,其均应涵盖在本发明的权利要求范围当中。

Claims (1)

1.一种软件自动化测试的方法,其特征在于:该方法至少包括如下的步骤:
步骤1:定义用于测试软件的初始测试用例;
步骤2:定义用于测试软件的测试报文。测试报文与被测软件提供的服务接口是对应的。步骤3:测试报文参数化;
步骤4:将测试用例和测试报文关联起来,形成一个完整的测试用例。
步骤5:设计一套测试用例集;
步骤6:设计“流程测试用例”;
步骤7:执行单个测试用例;
步骤8:批量执行测试用例;
步骤9:检查测试结果,找出软件缺陷。
CN 201110305780 2011-10-11 2011-10-11 一种软件自动化测试的方法 Pending CN103049367A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 201110305780 CN103049367A (zh) 2011-10-11 2011-10-11 一种软件自动化测试的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 201110305780 CN103049367A (zh) 2011-10-11 2011-10-11 一种软件自动化测试的方法

Publications (1)

Publication Number Publication Date
CN103049367A true CN103049367A (zh) 2013-04-17

Family

ID=48062015

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 201110305780 Pending CN103049367A (zh) 2011-10-11 2011-10-11 一种软件自动化测试的方法

Country Status (1)

Country Link
CN (1) CN103049367A (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104008054A (zh) * 2014-05-28 2014-08-27 中国工商银行股份有限公司 一种软件性能测试装置及方法
CN104809062A (zh) * 2015-04-22 2015-07-29 北京京东尚科信息技术有限公司 一种人工智能应答系统的测试方法及系统
CN104866384A (zh) * 2014-02-20 2015-08-26 纬创资通股份有限公司 快速测试及检测移动装置的方法及系统
CN105117335A (zh) * 2015-08-26 2015-12-02 卡斯柯信号有限公司 一种用于软件单元的自动化验证及回归测试方法
CN105373469A (zh) * 2014-08-25 2016-03-02 广东金赋信息科技有限公司 一种基于接口的软件自动化测试方法
CN105721864A (zh) * 2016-04-20 2016-06-29 杭州当虹科技有限公司 一种基于音视频封装层参数检测的高效回归测试方法
WO2016165461A1 (zh) * 2015-08-19 2016-10-20 中兴通讯股份有限公司 一种电信网网管系统软件自动化测试方法和装置
CN106326092A (zh) * 2015-06-25 2017-01-11 阿里巴巴集团控股有限公司 一种集成测试方法及装置
CN110569196A (zh) * 2019-09-11 2019-12-13 宝付网络科技(上海)有限公司 一种回归测试系统
CN111861393A (zh) * 2020-07-20 2020-10-30 海闻科技有限公司 一种企业所得税年报的智能申报方法
CN114090462A (zh) * 2021-12-07 2022-02-25 上海复深蓝软件股份有限公司 软件重复缺陷识别方法、装置、计算机设备及存储介质

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104866384A (zh) * 2014-02-20 2015-08-26 纬创资通股份有限公司 快速测试及检测移动装置的方法及系统
CN104008054A (zh) * 2014-05-28 2014-08-27 中国工商银行股份有限公司 一种软件性能测试装置及方法
CN104008054B (zh) * 2014-05-28 2016-08-31 中国工商银行股份有限公司 一种软件性能测试装置及方法
CN105373469A (zh) * 2014-08-25 2016-03-02 广东金赋信息科技有限公司 一种基于接口的软件自动化测试方法
CN105373469B (zh) * 2014-08-25 2018-09-04 广东金赋科技股份有限公司 一种基于接口的软件自动化测试系统和方法
CN104809062B (zh) * 2015-04-22 2017-12-01 北京京东尚科信息技术有限公司 一种人工智能应答系统的测试方法及系统
CN104809062A (zh) * 2015-04-22 2015-07-29 北京京东尚科信息技术有限公司 一种人工智能应答系统的测试方法及系统
CN106326092A (zh) * 2015-06-25 2017-01-11 阿里巴巴集团控股有限公司 一种集成测试方法及装置
WO2016165461A1 (zh) * 2015-08-19 2016-10-20 中兴通讯股份有限公司 一种电信网网管系统软件自动化测试方法和装置
CN105117335A (zh) * 2015-08-26 2015-12-02 卡斯柯信号有限公司 一种用于软件单元的自动化验证及回归测试方法
CN105117335B (zh) * 2015-08-26 2017-11-10 卡斯柯信号有限公司 一种用于软件单元的自动化验证及回归测试方法
CN105721864A (zh) * 2016-04-20 2016-06-29 杭州当虹科技有限公司 一种基于音视频封装层参数检测的高效回归测试方法
CN110569196A (zh) * 2019-09-11 2019-12-13 宝付网络科技(上海)有限公司 一种回归测试系统
CN111861393A (zh) * 2020-07-20 2020-10-30 海闻科技有限公司 一种企业所得税年报的智能申报方法
CN114090462A (zh) * 2021-12-07 2022-02-25 上海复深蓝软件股份有限公司 软件重复缺陷识别方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
CN103049367A (zh) 一种软件自动化测试的方法
USRE47896E1 (en) System and method for tracking web interactions with real time analytics
WO2020233330A1 (zh) 批量测试方法、装置及计算机可读存储介质
CN110232085B (zh) 一种大数据etl任务的编排方法与系统
CN107103064B (zh) 数据统计方法及装置
CN109614313A (zh) 自动化测试方法、装置及计算机可读存储介质
US20080065400A1 (en) System and Method for Producing Audit Trails
CN103716690A (zh) 多媒体直播举报的方法、终端、服务器及系统
CN106682036A (zh) 一种数据交换系统及其交换方法
US11385898B2 (en) Task orchestration method for data processing, orchestrator, device and readable storage medium
CN106055618B (zh) 一种基于网络爬虫与结构化存储的数据处理方法
CN108197306A (zh) Sql语句处理方法、装置、计算机设备和存储介质
CN202339542U (zh) 一种软件产品测试系统
CN104994219B (zh) 一种数据处理方法和系统
CN103077192B (zh) 一种数据处理方法及其系统
CN110032400A (zh) 一种加载插件的方法及电子终端
CN108345658A (zh) 算法计算轨迹的分解处理方法、服务器及存储介质
CN105955807A (zh) 一种任务处理系统及方法
CN112559525A (zh) 数据检查系统、方法、装置和服务器
CN113962597A (zh) 一种数据分析方法、装置、电子设备及存储介质
CN112631754A (zh) 数据处理方法、装置、存储介质及电子装置
CN112825165A (zh) 项目质量管理的方法和装置
CN109446042A (zh) 一种用于智能用电设备的日志管理方法及系统
CN116483903A (zh) 一种面向多源异构数据源的全链路数据血缘关系识别方法
CN117391440A (zh) 一种企业信息侦察平台及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20130417