CN113448826A - 一种软件自动化测试系统及方法 - Google Patents

一种软件自动化测试系统及方法 Download PDF

Info

Publication number
CN113448826A
CN113448826A CN202010221832.1A CN202010221832A CN113448826A CN 113448826 A CN113448826 A CN 113448826A CN 202010221832 A CN202010221832 A CN 202010221832A CN 113448826 A CN113448826 A CN 113448826A
Authority
CN
China
Prior art keywords
interface
test
task
information
case
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
CN202010221832.1A
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.)
China Mobile Communications Group Co Ltd
China Mobile IoT Co Ltd
Original Assignee
China Mobile Communications Group Co Ltd
China Mobile IoT 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 China Mobile Communications Group Co Ltd, China Mobile IoT Co Ltd filed Critical China Mobile Communications Group Co Ltd
Priority to CN202010221832.1A priority Critical patent/CN113448826A/zh
Publication of CN113448826A publication Critical patent/CN113448826A/zh
Pending legal-status Critical Current

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
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • 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/3688Test management for test execution, e.g. scheduling of test suites
    • 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/3692Test management for test results analysis

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

一种软件自动化测试系统及方法
技术领域
本发明涉及计算机技术领域,特别是指一种软件自动化测试系统及方法。
背景技术
随着计算机软件技术的发展,软件系统的功能迭代发布速度越来越快,版本发布周期越来越短,系统也变得越得越来越复杂,软件质量逐步受到用户的重视,软件测试作为软件质量保障的一种方式就变得更加重要。其中,软件接口测试是软件测试中一个重要分支,测试对象为软件的接口及接口交互的数据,主要的测试活动是接口交互数据的正确性检查。
通常,由人工操作输入各种类型参数值进行测试,需要人工配置用例报文数据并逐个用例执行、校验结果。而随着接口报文的复杂度和接口个数的增加,实施完整的接口测试相当复杂,并且测试覆盖程度有限,工作效率低下。另外,在目前多版本测试,多环境测试时,现有技术需要维护不同测试环境不同的用例,不能很好的做到同一个用例复用到不同测试环境,需要投入额外的人力成本进行用例维护。
而且现在进行软件接口测试时,通常都是由测试人员自行编写测试程序或使用现成的测试工作,由于测试接口报文、测试用例以及测试全过程活动步骤的复杂性,测试过程变的较为困难。现有技术中,提及一些通用的软件接口测试方案,针对接口测试的特点,通常只是将测试执行过程进行整合,测试执行的共性进行设计和统一,并没有将整个测试过程活动进行整体设计和统一管理,未能有效解决接口测试效率低下以及灵活性的问题。
现有技术主要的缺点有以下两个方面:
1、维护测试数据复杂,设计测试用例困难,多环境测试维护数据困难;
2、未能有效串联整个测试活动过程,测试后需要大量人工投入进行校验和进行后续流程处理。
发明内容
本发明要解决的技术问题是一种软件自动化测试系统及方法,通过系统设计降低接口测试的复杂程度,覆盖各种协议接口,降低用例维护复杂程度,同时将接口测试全过程活动步骤穿看成一个较为系统、有序、可控的自动化测试过程,从而减少测试人员人工投入,降低测试门槛同时提升测试效率。
为解决上述技术问题,本发明的技术方案如下:
一种软件自动化测试系统,包括:
项目管理模块,用于获取业务模块的接口信息;接口管理模块,用于根据接口文档维护所述接口信息;
用例管理模块,用于根据所述接口信息进行用例编写,根据所述用例对接口进行测试,得到测试用例;并在所述接口信息中选择接口后,对选择的所述接口进行参数化管理;
任务管理模块,用于根据所述测试用例,以及按照任务设置的策略自动执行测试,得到测试结果,并对测试结果进行校验;
测试结果管理模块,用于根据测试结果自动提交缺陷单到缺陷管理系统。
可选的,软件自动化测试系统,还包括:
存储模块,用于存储配置数据、所述接口信息、测试用例的用例数据、任务数据以及测试结果中的至少一项。
可选的,所述配置数据包括:项目信息、业务模块信息、业务模块的接口地址、模块加密配置信息和数据库信息中的至少一种;
所述接口信息包括:接口名称、接口协议类型、接口数据类型、接口请求头部信息、接口请求报文、返回报文示例、接口鉴权信息中的至少一种;
所述用例数据包括:用例名称、前置条件配置、用例步骤、项目步骤报文、参数化信息、接口校验信息、数据清理配置、其他接口调用配置信息中的至少一种;
所述任务数据包括:任务名称、任务告警配置、任务执行配置中的至少一种;
所述测试结果数据包括:任务执行结果及过程日志、用例执行结果及过程日志、接口执行结果及请求和返回报文信息中的至少一项。
可选的,所述用例管理模块包括:
用例编写模块,用于根据所述接口信息进行用例编写;
测试模块,用于根据所述用例对接口进行测试,得到测试用例。
可选的,所述用例管理模块还包括:
用例参数管理子模块,用于管理生命周期在用例内部生效的参数;
用例前置数据准备管理子模块,用于管理用例前置条件数据库执行语句,生成测试数据,供用例使用,并在用例执行完毕后清理相关数据;
用例步骤管理子模块,用于维护测试步骤信息,维护每一个步骤中需要调用的接口报文配置、参数替换、参数保存和接口调用方式;
用例步骤校验子模块,用于配置接口调用后校验是否成功的校验方式,包括返回报文结构校验、返回报文字段是否存在校验、返回报文字段值校验;
用例分组子模块,用于将用例进行分类管理。
可选的,所述任务管理模块包括:
任务执行与控制子模块,用于配置任务执行方式,包括手工执行、定时执行,定时执行时,多任务执行的并发控制及超时控制,控制任务失败时是否自动重试和配置重试次数;并按照任务设置的策略自动执行测试,得到测试结果,并对测试结果进行校验;
任务告警控制子模块,用于控制在任务执行失败或异常时是否告警。
可选的,所述测试结果管理模块提交的缺陷单包括:测试详情和离线报告;
其中,测试详情包括:任务执行结果和执行过程日志记录,用例执行结果和执行过程日志记录,接口执行结果;
离线报告用于提供一种分享给他人查看测试结果的报告形式,按照一定格式汇总输出格式化后的测试报告和统计信息。
本发明的实施例还提供一种基于接口的软件自动化测试方法,所述方法包括:
获取业务模块的接口信息;
根据接口文档维护所述接口信息;
根据所述接口信息进行用例编写,根据所述用例对接口进行测试,得到测试用例;
根据所述测试用例,以及按照任务设置的策略自动执行测试,得到测试结果,并对测试结构进行校验;
根据测试结果自动提交缺陷单到缺陷管理系统。
可选的,得到测试用例后,还包括:
在所述接口信息中选择接口后,对选择的所述接口进行参数化管理。
可选的,对选择的所述接口进行参数化管理包括以下至少一项:
保存返回报文字段值的配置规则,根据返回报文结构维护需要保存的字段值,包括响应信息头和响应报文都可以根据规则进行保存;
根据已保存的之前步骤返回报文字段值替换当前步骤请求报文,包括替换请求路径、请求头和请求报文;
根据接口返回信息头或返回报文字段,配置需要验证的返回字段或返回字段值;
校验返回报文结构,支持JSON格式报文校验。
按照任务设置的策略自动执行测试,包括:
定时检测是否有任务需要执行;
检测到有任务需要执行时,读取数据库中任务配置信息,读取任务中包含的用例信息;
根据任务配置信息,检查任务状态,如果任务还在执行中,就不执行该任务;若任务可以执行,则开始按照任务配置执行任务,任务配置包括是否远程执行,执行时遇到错误后是否继续;
根据查询的该任务的用例配置信息中的环境配置信息先对用例进行参数化配置,替换已维护的对应环境的参数信息,然后按照用例顺序执行测试用例;
执行测试用例过程中,根据用例配置信息中的环境配置信息,调用对应的接口请求地址,需要根据用例参数化配置保存返回报文中的字段值,替换当前执行步骤中报文参数,根据配置信息判断执行结果成功还是失败;若失败,根据配置判断是否继续执行后续步骤或用例;
任务执行完成后,返回测试结果和详细过程日志信息。
本发明的实施例还提供一种计算机可读存储介质,包括指令,当所述指令在计算机运行时,使得计算机执行如上所述的方法。
本发明的上述方案至少包括以下有益效果:
本发明的上述方案,获取业务模块的接口信息;根据接口文档维护所述接口信息;根据所述接口信息进行用例编写,根据所述用例对接口进行测试,得到测试用例;根据所述测试用例,以及按照任务设置的策略自动执行测试,得到测试结果,并对测试结构进行校验;根据测试结果自动提交缺陷单到缺陷管理系统。将接口测试全过程活动步骤穿看成一个较为系统、有序、可控的自动化测试过程,从而减少测试人员人工投入,降低测试门槛同时提升测试效率。
附图说明
图1是本发明的软件自动化测试系统的模块示意图;
图2是本发明的软件自动化测试方法的流程示意图。
具体实施方式
下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
如图1所示,本发明的实施例提出一种软件自动化测试系统10,包括:
项目管理模块,用于获取业务模块的接口信息;具体的,项目管理模块用于管理各个测试项目,维护项目信息、业务模块信息、接口请求地址信息等;
接口管理模块,用于根据接口文档维护所述接口信息;具体的,用于接口信息管理,包括接口基本信息、接口请求报文、返回示例等,同时系统中提供接口导入功能和接口调试功能;
用例管理模块,用于根据所述接口信息进行用例编写,根据所述用例对接口进行测试,得到测试用例;并在所述接口信息中选择接口后,对选择的所述接口进行参数化管理;具体的,用于用例步骤维护、接口参数化调用管理、返回值校验等,同时提供用例调试功能;
任务管理模块,用于根据所述测试用例,以及按照任务设置的策略自动执行测试,得到测试结果,并对测试结果进行校验;具体的,设置用例执行场景,如功能测试、回归测试、冒烟测试、现网拨测等,提供了手工执行、定时执行、第三方调用三种任务执行方式,同时提供任务调试功能;
测试结果管理模块,用于根据测试结果自动提交缺陷单到缺陷管理系统,具体的,用于自动或手动提交缺陷单到缺陷管理系统,统计、分析与输出格式化的测试报告。
进一步的,该系统还可以包括:数据管理模块,用于维护通用参数,分为随机参数和自定义参数,区分不同测试环境可维护不同环境的不通参数,增加参数调用的灵活性。
本发明的上述系统,通过系统设计降低接口测试的复杂程度,覆盖各种协议接口,降低用例维护复杂程度,同时将接口测试全过程活动步骤穿看成一个较为系统、有序、可控的自动化测试过程,从而减少测试人员人工投入,降低测试门槛同时提升测试效率。
本发明的一可选的实施例中,软件自动化测试系统,还可以包括:
存储模块,用于存储配置数据、所述接口信息、测试用例的用例数据、任务数据以及测试结果中的至少一项。
本发明的一可选的实施例中,所述配置数据包括:项目信息、业务模块信息、业务模块的接口地址、模块加密配置信息和数据库信息中的至少一种;
所述接口信息包括:接口名称、接口协议类型、接口数据类型、接口请求头部信息、接口请求报文、返回报文示例、接口鉴权信息中的至少一种;
所述用例数据包括:用例名称、前置条件配置、用例步骤、项目步骤报文、参数化信息、接口校验信息、数据清理配置、其他接口调用配置信息中的至少一种;
所述任务数据包括:任务名称、任务告警配置、任务执行配置中的至少一种;
所述测试结果数据包括:任务执行结果及过程日志、用例执行结果及过程日志、接口执行结果及请求和返回报文信息中的至少一项。
本发明的一可选的实施例中,所述用例管理模块包括:
用例编写模块,用于根据所述接口信息进行用例编写;
测试模块,用于根据所述用例对接口进行测试,得到测试用例。
本发明的一可选的实施例中,所述用例管理模块还包括:
用例参数管理子模块,用于管理生命周期在用例内部生效的参数;可以直接在报文中进行声明替换;
用例前置数据准备管理子模块,用于管理用例前置条件数据库执行语句,生成测试数据,供用例使用,并在用例执行完毕后清理相关数据;
用例步骤管理子模块,用于维护测试步骤信息,维护每一个步骤中需要调用的接口报文配置、参数替换、参数保存和接口调用方式;
用例步骤校验子模块,用于配置接口调用后校验是否成功的校验方式,包括返回报文结构校验、返回报文字段是否存在校验、返回报文字段值校验;
用例分组子模块,用于将用例进行分类管理。
本发明的一可选的实施例中,所述任务管理模块包括:
任务执行与控制子模块,用于配置任务执行方式,包括手工执行、定时执行,定时执行时,多任务执行的并发控制及超时控制,控制任务失败时是否自动重试和配置重试次数;并按照任务设置的策略自动执行测试,得到测试结果,并对测试结果进行校验;
任务告警控制子模块,用于控制在任务执行失败或异常时是否告警。
本发明的一可选的实施例中,所述测试结果管理模块提交的缺陷单包括:测试详情和离线报告;
其中,测试详情包括:任务执行结果和执行过程日志记录,用例执行结果和执行过程日志记录,接口执行结果;
离线报告用于提供一种分享给他人查看测试结果的报告形式,按照一定格式汇总输出格式化后的测试报告和统计信息。
本发明的上述系统,可以实现软件接口测试的自动化,通过对测试过程的整合和统一,可以快速的进行接口自动化测试用例设计和测试。根据所述测试人员只需关注测试用例的设计,不仅可以高度复用测试用例,也能完成相对复杂的兼容不同接口类型的测试工作,同时还能将同一测试用例在不同环境进行测试,有效的提高了工作效率。
如图2所示,本发明的实施例还提供一种基于接口的软件自动化测试方法,所述方法包括:
步骤21,获取业务模块的接口信息;
步骤22,根据接口文档维护所述接口信息;
步骤23,根据所述接口信息进行用例编写,根据所述用例对接口进行测试,得到测试用例;
步骤24,根据所述测试用例,以及按照任务设置的策略自动执行测试,得到测试结果,并对测试结构进行校验;
步骤25,根据测试结果自动提交缺陷单到缺陷管理系统。
本发明的一可选的实施例中,得到测试用例后,基于接口的软件自动化测试方法还可以包括:
在所述接口信息中选择接口后,对选择的所述接口进行参数化管理。
可选的,对选择的所述接口进行参数化管理包括以下至少一项:
保存返回报文字段值的配置规则,根据返回报文结构维护需要保存的字段值,包括响应信息头和响应报文都可以根据规则进行保存;
根据已保存的之前步骤返回报文字段值替换当前步骤请求报文,包括替换请求路径、请求头和请求报文;
根据接口返回信息头或返回报文字段,配置需要验证的返回字段或返回字段值;
校验返回报文结构,支持JSON格式报文校验。
本发明的一可选的实施例中,上述步骤24,按照任务设置的策略自动执行测试,包括:
定时检测是否有任务需要执行;
检测到有任务需要执行时,读取数据库中任务配置信息,读取任务中包含的用例信息;
根据任务配置信息,检查任务状态,如果任务还在执行中,就不执行该任务;若任务可以执行,则开始按照任务配置执行任务,任务配置包括是否远程执行,执行时遇到错误后是否继续;
根据查询的该任务的用例配置信息中的环境配置信息先对用例进行参数化配置,替换已维护的对应环境的参数信息,然后按照用例顺序执行测试用例;
执行测试用例过程中,根据用例配置信息中的环境配置信息,调用对应的接口请求地址,需要根据用例参数化配置保存返回报文中的字段值,替换当前执行步骤中报文参数,根据配置信息判断执行结果成功还是失败;若失败,根据配置判断是否继续执行后续步骤或用例;
任务执行完成后,返回测试结果和详细过程日志信息。
下面结合具体的实现实例说明上述方法的实现过程,基于接口的软件自动化测试方法,包括以下步骤:
步骤1:维护项目信息,包括维护项目名称,维护该项目的各业务模块信息,维护各业务模块的接口请求地址信息;
步骤2:根据接口文档维护接口信息,包括接口协议,接口名称,接口所属业务模块,接口路径,请求头部信息,请求报文,返回示例,报文数据格式,接口鉴权信息,接口加密方式等;
步骤3:用例编写,根据业务需要,在系统中设计测试步骤,每个步骤为一个接口调用,可以在步骤2中维护的接口中选取接口,选取步骤后,对每个步骤中接口进行参数化管理,包括:鉴权参数管理、通用参数替换,用例内部参数替换、保存返回字段值、替换前一步骤返回值、字段校验、返回报文结构校验等用例信息维护;
步骤4:任务管理,根据步骤3中编写的测试用例,将不同测试场景的用例放在不同任务中,并选择用例执行的测试环境;任务设置完成后,系统将按照任务设置的策略自动执行测试,并自动对测试结果进行校验;
步骤5:执行测试结果管理,根据步骤4中任务测试结果,在测试完成后会根据测试结果自动提交缺陷单到缺陷管理系统,同时自动将测试结果通知该项目的测试人员,测试人员确认测试结果。
其中,步骤3还可以包括:
步骤31,保存返回报文字段值的配置规则,根据返回报文结构维护需要保存的字段值,包括响应信息头和响应报文都可以根据规则进行保存。具体规则为:
1.对于arrayList的结构,需要标明是取第几个元素(#0);
2.字段间用.分割;
3.保存多个参数用|分割;
4.如果保存header内容,在最前面加H$,如H$content-length;
5.大小写敏感;
6.可以增加<>,后面加别名,在保存时将新增别名保存,使用时用步骤数:别名;
步骤32,根据已保存的之前步骤返回报文字段值替换当前步骤请求报文,包括替换请求路径、请求头和请求报文。具体规则:
1.使用<>分割,前面表示数据(数字表示步骤,从1开始,:后面是字段,保存的参数字段),后面表示要替换的字段;
2.字段规则同保存参数:对于arrayList的结构,需要标明是取第几个元素(#0);字段间用.分割;
3.替换多个参数用|分割;
4.如果替换header内容在最前面加H$,如H$cid;
5.如果替换url内容在最前面加U$,如U$xxx,url中必须要有xxx字段;
6.大小写敏感;
步骤33,根据接口返回信息头或返回报文字段,配置需要验证的返回字段或返回字段值,规则如下:
1.使用<>分割,前面表示需要判断的字段,后面表示预期值;
2.字段规则同保存参数:对于arrayList的结构,需要标明是取第几个元素(#0);字段间用.分割;
3.多个参数用|分割;
4.如果判断header内容在最前面加H$,如H$content-length;
5.校验的值可以进行参数化,支持:1)已保存的参数;2)随机参数值;3)自定义参数值;
6.支持只校验是否有字段,而不校验值,校验值输入*;
7.大小写敏感;
步骤34,校验返回报文结构,仅支持JSON格式报文校验。
其中,步骤4中任务自动化执行过程包括;
步骤41,定时检测是否有任务需要执行;
检测到有任务需要执行时,读取数据库中任务配置信息,读取任务中包含的用例信息;
步骤42,根据任务配置信息,检查任务状态,如果任务还在执行中,就不执行该任务;若任务可以执行,则开始按照任务配置执行任务,任务配置包括是否远程执行,执行时遇到错误后是否继续;
步骤43,根据查询的该任务的用例配置信息中的环境配置信息先对用例进行参数化配置,替换已维护的对应环境的参数信息,然后按照用例顺序执行测试用例;
步骤44,执行测试用例过程中,根据用例配置信息中的环境配置信息,调用对应的接口请求地址,需要根据用例参数化配置保存返回报文中的字段值,替换当前执行步骤中报文参数,根据配置信息判断执行结果成功还是失败;
步骤45,失败后,根据配置判断是否继续执行后续步骤或用例;
步骤46,任务执行完成后,返回测试结果和详细过程日志信息给测试结果管理模块。
本发明的上述实施例,首先,可降低用例维护成本,根据上述步骤1中业务模块接口接入地址,维护不同测试环境地址,可以实现同一个测试用例在不同测试环境重复使用,降低用例维护成本;此外,步骤3所述通用参数替换和用例内部参数替换,通用参数管理和用例内部参数管理也支持根据不同测试环境维护不同参数值,在相关接口报文中仅需要替换一次,在执行测试用例时即可根据选择的执行环境自动替换不同环境的参数值,可以实现灵活的环境切换测试且不会重复维护相关测试用例。
其次,在上述步骤5中,通过不同用例的组合快速创建不同测试场景的测试任务,能够实现快速进行特定目的的测试工作。在测试完成后,可以统计步骤1中已维护接口的测试情况,在系统中查看哪些接口还未进行测试,哪些接口测试还未成功,能够辅助测试人员补充设计测试用例,提升接口测试的覆盖率。
本发明通过实现接口自动化测试,把整个接口测试活动过程连接在一起,通过把对接口调用正确性检查的手工测试过程变成自动测试,把手工测试的功能进行模块化与自动化,主要由项目管理模块,接口管理模块,用例管理模块,任务管理模块,数据管理模块和测试结果管理模块来自动化实现。
综上,本发明提供的接口自动化测试方法及系统,接口、测试用例、测试任务都在一个系统中进行管理,串联起了接口测试整个测试活动。另外,采用了灵活的用例维护方式,能够在多测试环境下进行测试自动化测试工作,所有数据维护均在系统中进行,界面简单友好,避免了测试人员手工测试接口的诸多不便,减少了测试人员的维护投入,测试结果自动进行校验,提升了测试效率。
本发明的实施例还提供一种计算机可读存储介质,包括指令,当所述指令在计算机运行时,使得计算机执行如上所述的方法。
通过本发明的上述实施例,可以实现软件接口测试的自动化,通过对测试过程的整合和统一,可以快速的进行接口自动化测试用例设计和测试。根据所述测试人员只需关注测试用例的设计,不仅可以高度复用测试用例,也能完成相对复杂的兼容不同接口类型的测试工作,同时还能将同一测试用例在不同环境进行测试,有效的提高了工作效率。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (12)

1.一种软件自动化测试系统,其特征在于,包括:
项目管理模块,用于获取业务模块的接口信息;接口管理模块,用于根据接口文档维护所述接口信息;
用例管理模块,用于根据所述接口信息进行用例编写,根据所述用例对接口进行测试,得到测试用例;并在所述接口信息中选择接口后,对选择的所述接口进行参数化管理;
任务管理模块,用于根据所述测试用例,以及按照任务设置的策略自动执行测试,得到测试结果,并对测试结果进行校验;
测试结果管理模块,用于根据测试结果自动提交缺陷单到缺陷管理系统。
2.根据权利要求1所述的软件自动化测试系统,其特征在于,还包括:
存储模块,用于存储配置数据、所述接口信息、测试用例的用例数据、任务数据以及测试结果中的至少一项。
3.根据权利要求2所述的软件自动化测试系统,其特征在于,所述配置数据包括:项目信息、业务模块信息、业务模块的接口地址、模块加密配置信息和数据库信息中的至少一种;
所述接口信息包括:接口名称、接口协议类型、接口数据类型、接口请求头部信息、接口请求报文、返回报文示例、接口鉴权信息中的至少一种;
所述用例数据包括:用例名称、前置条件配置、用例步骤、项目步骤报文、参数化信息、接口校验信息、数据清理配置、其他接口调用配置信息中的至少一种;
所述任务数据包括:任务名称、任务告警配置、任务执行配置中的至少一种;
所述测试结果数据包括:任务执行结果及过程日志、用例执行结果及过程日志、接口执行结果及请求和返回报文信息中的至少一项。
4.根据权利要求1所述的软件自动化测试系统,其特征在于,所述用例管理模块包括:
用例编写模块,用于根据所述接口信息进行用例编写;
测试模块,用于根据所述用例对接口进行测试,得到测试用例。
5.根据权利要求4所述的软件自动化测试系统,其特征在于,所述用例管理模块还包括:
用例参数管理子模块,用于管理生命周期在用例内部生效的参数;
用例前置数据准备管理子模块,用于管理用例前置条件数据库执行语句,生成测试数据,供用例使用,并在用例执行完毕后清理相关数据;
用例步骤管理子模块,用于维护测试步骤信息,维护每一个步骤中需要调用的接口报文配置、参数替换、参数保存和接口调用方式;
用例步骤校验子模块,用于配置接口调用后校验是否成功的校验方式,包括返回报文结构校验、返回报文字段是否存在校验、返回报文字段值校验;
用例分组子模块,用于将用例进行分类管理。
6.根据权利要求1所述的软件自动化测试系统,其特征在于,所述任务管理模块包括:
任务执行与控制子模块,用于配置任务执行方式,包括手工执行、定时执行,定时执行时,多任务执行的并发控制及超时控制,控制任务失败时是否自动重试和配置重试次数;并按照任务设置的策略自动执行测试,得到测试结果,并对测试结果进行校验;
任务告警控制子模块,用于控制在任务执行失败或异常时是否告警。
7.根据权利要求1所述的软件自动化测试系统,其特征在于,所述测试结果管理模块提交的缺陷单包括:测试详情和离线报告;
其中,测试详情包括:任务执行结果和执行过程日志记录,用例执行结果和执行过程日志记录,接口执行结果;
离线报告用于提供一种分享给他人查看测试结果的报告形式,按照一定格式汇总输出格式化后的测试报告和统计信息。
8.一种基于接口的软件自动化测试方法,其特征在于,所述方法包括:
获取业务模块的接口信息;
根据接口文档维护所述接口信息;
根据所述接口信息进行用例编写,根据所述用例对接口进行测试,得到测试用例;
根据所述测试用例,以及按照任务设置的策略自动执行测试,得到测试结果,并对测试结构进行校验;
根据测试结果自动提交缺陷单到缺陷管理系统。
9.根据权利要求8所述的基于接口的软件自动化测试方法,其特征在于,得到测试用例后,还包括:
在所述接口信息中选择接口后,对选择的所述接口进行参数化管理。
10.根据权利要求9所述的基于接口的软件自动化测试方法,其特征在于,对选择的所述接口进行参数化管理包括以下至少一项:
保存返回报文字段值的配置规则,根据返回报文结构维护需要保存的字段值,包括响应信息头和响应报文都可以根据规则进行保存;
根据已保存的之前步骤返回报文字段值替换当前步骤请求报文,包括替换请求路径、请求头和请求报文;
根据接口返回信息头或返回报文字段,配置需要验证的返回字段或返回字段值;
校验返回报文结构,支持JSON格式报文校验。
11.根据权利要求8所述的基于接口的软件自动化测试方法,其特征在于,按照任务设置的策略自动执行测试,包括:
定时检测是否有任务需要执行;
检测到有任务需要执行时,读取数据库中任务配置信息,读取任务中包含的用例信息;
根据任务配置信息,检查任务状态,如果任务还在执行中,就不执行该任务;若任务可以执行,则开始按照任务配置执行任务,任务配置包括是否远程执行,执行时遇到错误后是否继续;
根据查询的该任务的用例配置信息中的环境配置信息先对用例进行参数化配置,替换已维护的对应环境的参数信息,然后按照用例顺序执行测试用例;
执行测试用例过程中,根据用例配置信息中的环境配置信息,调用对应的接口请求地址,需要根据用例参数化配置保存返回报文中的字段值,替换当前执行步骤中报文参数,根据配置信息判断执行结果成功还是失败;若失败,根据配置判断是否继续执行后续步骤或用例;
任务执行完成后,返回测试结果和详细过程日志信息。
12.一种计算机可读存储介质,其特征在于,包括指令,当所述指令在计算机运行时,使得计算机执行如权利要求8至11任一项所述的方法。
CN202010221832.1A 2020-03-26 2020-03-26 一种软件自动化测试系统及方法 Pending CN113448826A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010221832.1A CN113448826A (zh) 2020-03-26 2020-03-26 一种软件自动化测试系统及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010221832.1A CN113448826A (zh) 2020-03-26 2020-03-26 一种软件自动化测试系统及方法

Publications (1)

Publication Number Publication Date
CN113448826A true CN113448826A (zh) 2021-09-28

Family

ID=77807555

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010221832.1A Pending CN113448826A (zh) 2020-03-26 2020-03-26 一种软件自动化测试系统及方法

Country Status (1)

Country Link
CN (1) CN113448826A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115545677A (zh) * 2022-11-24 2022-12-30 云账户技术(天津)有限公司 基于自动化用例执行情况的上线流程规范检测方法和系统
CN116225971A (zh) * 2023-05-08 2023-06-06 深圳华锐分布式技术股份有限公司 交易接口兼容性检测方法、装置、设备及介质
CN116431522A (zh) * 2023-06-12 2023-07-14 天翼云科技有限公司 一种低代码对象存储网关自动化测试方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104407971A (zh) * 2014-11-18 2015-03-11 中国电子科技集团公司第十研究所 自动化测试嵌入式软件的方法
CN105373469A (zh) * 2014-08-25 2016-03-02 广东金赋信息科技有限公司 一种基于接口的软件自动化测试方法
CN108628746A (zh) * 2018-05-04 2018-10-09 艺龙网信息技术(北京)有限公司 接口自动化测试方法与系统
CN109933509A (zh) * 2017-12-15 2019-06-25 北京京东尚科信息技术有限公司 一种实现自动化测试缺陷管理的方法和装置
CN110362497A (zh) * 2019-07-23 2019-10-22 上海金融期货信息技术有限公司 覆盖全异常字符的自动化api接口测试方法和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105373469A (zh) * 2014-08-25 2016-03-02 广东金赋信息科技有限公司 一种基于接口的软件自动化测试方法
CN104407971A (zh) * 2014-11-18 2015-03-11 中国电子科技集团公司第十研究所 自动化测试嵌入式软件的方法
CN109933509A (zh) * 2017-12-15 2019-06-25 北京京东尚科信息技术有限公司 一种实现自动化测试缺陷管理的方法和装置
CN108628746A (zh) * 2018-05-04 2018-10-09 艺龙网信息技术(北京)有限公司 接口自动化测试方法与系统
CN110362497A (zh) * 2019-07-23 2019-10-22 上海金融期货信息技术有限公司 覆盖全异常字符的自动化api接口测试方法和系统

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115545677A (zh) * 2022-11-24 2022-12-30 云账户技术(天津)有限公司 基于自动化用例执行情况的上线流程规范检测方法和系统
CN116225971A (zh) * 2023-05-08 2023-06-06 深圳华锐分布式技术股份有限公司 交易接口兼容性检测方法、装置、设备及介质
CN116225971B (zh) * 2023-05-08 2023-07-14 深圳华锐分布式技术股份有限公司 交易接口兼容性检测方法、装置、设备及介质
CN116431522A (zh) * 2023-06-12 2023-07-14 天翼云科技有限公司 一种低代码对象存储网关自动化测试方法及系统

Similar Documents

Publication Publication Date Title
CN102831052B (zh) 测试用例自动化生成装置及方法
CN107665171B (zh) 自动回归测试方法及装置
CN111459821B (zh) 一种基于TestNG的软件自动化单元测试方法
CN108763076A (zh) 一种软件自动测试方法、装置、设备及介质
US7917897B2 (en) Defect resolution methodology and target assessment process with a software system
CN113448826A (zh) 一种软件自动化测试系统及方法
Tsai et al. Scenario-based functional regression testing
US20100115496A1 (en) Filter generation for load testing managed environments
CN113238930B (zh) 软件系统的测试方法、装置、终端设备和存储介质
US20090106597A1 (en) Automatically Populating Symptom Databases for Software Applications
CN113821200B (zh) 大数据任务可拖拽建模方法、系统、存储介质和终端
CN114741283A (zh) 一种基于python设计的接口自动化测试方法及装置
CN112115044A (zh) 电力信息通信设备自动化测试方法及系统
CN112187933A (zh) 一种多架构云平台中服务的监控方法和系统
CN112631919A (zh) 一种对比测试方法、装置、计算机设备及存储介质
CN113742215A (zh) 一种自动配置和调用测试工具进行测试分析的方法及系统
CN117370217B (zh) 一种基于python的接口测试结果自动生成方法
WO2016165461A1 (zh) 一种电信网网管系统软件自动化测试方法和装置
CN113778878A (zh) 接口测试方法、装置、电子设备及存储介质
CN110069277A (zh) 应用上线方法、应用上线设备、存储介质及装置
CN113127280A (zh) 一种api接口自动化录入方法及系统
US11132286B1 (en) Dynamic reordering of test case execution
CN115587048A (zh) 回归测试方法、终端设备及计算机可读存储介质
CN114968770A (zh) 一种自动化测试的方法、装置、设备和存储介质
CN114691519A (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: 20210928