CN107273286A - 针对任务应用的场景自动化测试平台及方法 - Google Patents

针对任务应用的场景自动化测试平台及方法 Download PDF

Info

Publication number
CN107273286A
CN107273286A CN201710407099.0A CN201710407099A CN107273286A CN 107273286 A CN107273286 A CN 107273286A CN 201710407099 A CN201710407099 A CN 201710407099A CN 107273286 A CN107273286 A CN 107273286A
Authority
CN
China
Prior art keywords
test
testing
item
case
testing procedure
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.)
Granted
Application number
CN201710407099.0A
Other languages
English (en)
Other versions
CN107273286B (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.)
Ctrip Computer Technology Shanghai Co Ltd
Original Assignee
Ctrip Computer Technology Shanghai 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 Ctrip Computer Technology Shanghai Co Ltd filed Critical Ctrip Computer Technology Shanghai Co Ltd
Priority to CN201710407099.0A priority Critical patent/CN107273286B/zh
Publication of CN107273286A publication Critical patent/CN107273286A/zh
Application granted granted Critical
Publication of CN107273286B publication Critical patent/CN107273286B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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

Abstract

本发明提供了一种针对任务应用的场景自动化测试平台及方法,其中包括测试项存储模块;测试用例创建模块,用于创建测试用例,并在测试用例中添加测试步骤,各个测试步骤对应一测试项;测试数据传输模块;以及测试执行模块,用于读取测试用例,根据预设次序依次执行测试步骤,执行所对应的测试项,从测试数据传输模块中调用所对应的测试需求数据,并将测试结果数据存储至测试数据传输模块中。本发明提供了一种针对任务应用的测试方案,将各测试项模块化,支持多种测试项录入,降低对测试人员的编码能力要求,方便测试人员创建测试用例并添加测试步骤,可以实现无编码自动化测试;可实现复杂场景的自动化测试,适用于大规模推广应用。

Description

针对任务应用的场景自动化测试平台及方法
技术领域
本发明涉及自动化测试技术领域,具体涉及一种任务定时处理类应用自动化测试,尤其涉及一种针对任务应用的场景自动化测试平台及方法。
背景技术
自动化测试一般是指软件测试的自动化,在预设条件下运行系统或应用程序,评估运行结果,将以往人为驱动的测试行为转化为机器执行,从而节省了人力、时间或硬件资源,提高了测试效率。现有技术中已经存在一些针对UI(用户界面)和API接口的自动化测试解决方案,但是针对任务定时处理类应用仍缺少对应的自动化测试手段。
任务定时处理类应用中包含多种应用操作流程,为了保障任务调度和执行的正常运行,在不同时刻,针对各个不同的任务或不同的服务内容需要进行多种多次测试。现有技术中任务应用的自动化测试多采用编码形成测试脚本的形式来进行测试。
然而,针对这种多应用操作流程类的情况,单纯通过编码来实现自动化测试,成本很高,并且不容易维护;并且由于测试脚本唯一性的特点,往往需要针对不同的测试项目编写不同的测试脚本,极大地增加了测试人员的工作量,从而限制了针对任务应用的场景化自动测试的发展。
因此,急需一种可以进行简单配置即可以自动化执行的测试方案。
发明内容
针对现有技术中的问题,本发明的目的在于提供一种针对任务应用的场景自动化测试平台及方法,将各种测试项模块化,方便测试人员创建测试用例,实现无编码自动化测试。
本发明实施例提供一种针对任务应用的场景自动化测试平台,包括:
测试项存储模块,用于存储各种预设的测试项;
测试用例创建模块,用于创建测试用例,并在所述测试用例中添加测试步骤,各个所述测试步骤对应一所述测试项;
测试数据传输模块,用于存储各个测试步骤所对应的测试需求数据和测试结果数据;以及
测试执行模块,用于读取待执行的测试用例,根据预设次序依次执行该测试用例中的各个所述测试步骤;
在执行各个所述测试步骤中,所述测试执行模块调用该测试步骤所对应的测试项,从所述测试数据传输模块中调用所对应的测试需求数据,并将测试结果数据存储至所述测试数据传输模块中。
可选地,所述测试数据传输模块基于管道模型技术输入和输出所述测试需求数据和测试结果数据。
可选地,所述测试项包括SQL测试项、SOA测试项、HTTP测试项、任务测试项、Python测试项和断言测试项中的至少一种。
可选地,所述测试项包括Python测试项,各个所述测试步骤和所述测试用例分别封装有可被Python测试调用的方法接口;
执行所述Python测试项对应的Python测试步骤时,所述测试执行模块根据Python测试脚本中的逻辑关系调用各个所述测试步骤和/或各个所述测试用例。
可选地,所述测试项包括SOA测试项;
执行所述SOA测试项对应的SOA测试步骤时,所述测试执行模块根据预设报文生成规则生成对应字段值填充到SOA测试请求报文中,解析SOA测试返回的结果报文,并将解析结果报文得到的结果报文字段作为测试结果数据存储至所述测试数据传输模块中。
可选地,所述测试项包括SQL测试项;
执行所述SQL测试项对应的SQL测试步骤时,所述测试执行模块根据预设数据库选取规则适配待测试数据库,连接至所述待测试数据库,依据SQL测试脚本对所述待测试数据库进行测试,并将所述待测试数据库返回的测试结果数据存储至所述测试数据传输模块中。
可选地,所述测试项包括任务测试项;
执行所述任务测试项所对应的任务测试步骤时,所述测试执行模块根据任务测试脚本确定待测试任务,基于HTTP协议调用所述待测试任务所对应的网络服务接口,执行所述待测试任务,并将所述待测试任务执行时返回的测试结果数据存储至所述测试数据传输模块中。
可选地,所述测试项包括断言测试项;
执行所述断言测试项所对应的断言测试步骤时,所述测试执行模块根据断言测试脚本确定待验证测试步骤,从所述测试数据传输模块获取所对应的待验证测试结果数据,将待验证测试结果数据与预设的期望结果数据进行比较得到比较结果。
可选地,所述测试项还包括Python测试项,各个所述测试步骤和所述测试用例分别封装有可被Python测试调用的方法接口;
待执行的测试用例中同时包含Python测试步骤和断言测试步骤时,所述测试执行模块根据所述比较结果和Python测试脚本中的逻辑关系调用各个所述测试步骤和/或各个所述测试用例。
可选地,所述测试项还包括HTTP测试项;
执行所述HTTP测试项所对应的HTTP测试步骤时,所述测试执行模块捕获HTTP测试请求数据,将HTTP测试请求数据配置到HTTP测试中,执行HTTP测试脚本,并将测试结果数据存储至所述测试数据传输模块中。
可选地,还包括:
测试集合创建模块,用于创建测试集合,并在所述测试集合中添加所述测试用例;
所述测试执行模块读取待执行的测试集合,根据预设次序依次执行该测试集合中的各个所述测试用例。
可选地,还包括:
测试计划创建模块,用于创建测试计划,在所述测试计划中添加所述测试用例和/或测试集合,并设定所述测试计划中各个所述测试用例和/或测试集合的执行时间和/或执行次序;
所述测试执行模块读取待执行的测试计划,根据该测试计划中各个所述测试用例和/或测试集合的执行时间和/或执行次序执行该测试计划。
可选地,各个所述测试项、所述测试用例和所述测试集合均封装有应用程序编程接口。
本发明实施例还提供一种针对任务应用的场景自动化测试方法,采用所述的针对任务应用的场景自动化测试平台,所述方法包括如下步骤:
创建至少一种测试项;
创建测试用例,并在所述测试用例中添加测试步骤,各个所述测试步骤对应一所述测试项;
读取待执行的测试用例,根据预设次序依次执行该测试用例中的各个所述测试步骤;
在执行各个所述测试步骤中,调用所对应的测试项,调用所对应的测试需求数据,并存储测试结果数据。
可选地,还包括如下步骤:
创建测试集合,并在所述测试集合中添加所述测试用例;
读取待执行的测试集合,根据预设次序依次执行该测试集合中的各个所述测试用例。
可选地,还包括如下步骤:
创建测试计划,在所述测试计划中添加所述测试用例和/或测试集合,并设定所述测试计划中各个所述测试用例和/或测试集合的执行时间和/或执行次序;
读取待执行的测试计划,根据该测试计划中各个所述测试用例和/或测试集合的执行时间和/或执行次序执行所述测试计划。
本发明所提供的针对任务应用的场景自动化测试平台及方法具有下列优点:
本发明提供了一种针对任务应用的测试方案,将各测试项模块化,支持多种测试项录入,降低对测试人员的编码能力要求,方便测试人员创建测试用例并添加测试步骤,可以实现无编码自动化测试;可适配在不同阶段如功能测试环境、回归测试环境中运行,实现复杂场景的自动化测试,节省任务应用和场景类测试的回归时间,适用于大规模推广应用。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。
图 1是本发明一实施例的针对任务应用的场景自动化测试平台的结构示意图;
图2是本发明一实施例的数据传输模块存储数据形式的示意图;
图3是本发明一实施例的针对任务应用的场景自动化测试平台的架构图;
图4是本发明一实施例的针对任务应用的场景自动化测试平台与其他设备的连接示意图;
图5是本发明一实施例的针对任务应用的场景自动化测试方法的流程图;
图6是本发明一实施例的创建和执行测试用例的流程图;
图7是本发明一实施例的创建和执行测试集合的流程图;
图8是本发明一实施例的创建和执行测试计划的流程图;
图9是本发明一实施例的测试集合列表的界面示意图;
图10是本发明一实施例的测试用例编辑的界面示意图;
图11是本发明一实施例的测试步骤创建的界面示意图;
图12是本发明一实施例的新增测试项的界面示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。
如图1所示,本发明实施例提供一种针对任务应用的场景自动化测试平台,所述平台包括测试项存储模块100、测试用例创建模块200、测试数据传输模块600和测试执行模块500,其中:
所述测试项存储模块100存储各种测试项;
所述测试用例创建模块200创建至少一个测试用例,并在所述测试用例中添加测试步骤,各个所述测试步骤对应一所述测试项,即测试步骤与测试项是多对一的关系,也就是多个测试步骤可以添加同一个测试项,一个测试用例可以包括多个测试步骤;
所述测试数据传输模块600存储各个测试步骤所对应的测试需求数据和测试结果数据;
所述测试执行模块500读取待执行的测试用例,根据预设次序依次执行该测试用例中的各个所述测试步骤;在执行各个所述测试步骤中,所述测试执行模块500调用该测试步骤所对应的测试项,从所述测试数据传输模块600中调用所对应的测试需求数据,并将测试结果数据存储至所述测试数据传输模块600中。
如图2所示,可选地,所述测试数据传输模块600是基于管道模型(Pipeline)技术建立的,以实现输入和输出所述测试需求数据和测试结果数据。在测试用例的各个步骤之前通过管道模型来传递数据,每个测试步骤都可以读取和插入数据到管道模型数据中。管道模型数据是一个二维泛型列表,其中外层的List(列表)对应测试步骤,内层的List用于存储各个测试步骤执行产生的数据,各个测试步骤产生的数据都会被转换为Key-Value的格式存储到List中。而在测试步骤中使用{测试步骤index_Key}这样的格式就可以获取到对应测试步骤的数据。
如图3所示,所述测试项可以包括但不限于SQL测试项、SOA测试项、HTTP测试项、Job测试项、Python测试项、断言测试项中的至少一种,进一步地还可以包括ES测试项、Redis测试项或其他预设测试项。通过本发明将各个测试项模块化,并且在执行测试用例时可以根据测试步骤调用对应的测试项,即通过测试项的排布和调用实现自动化测试,而不必对每个测试用例都编写测试脚本。
各种测试项以及所对应的测试步骤的实现方式如下:
A.SOA(面向服务的架构)测试项,支持soa2.0xml和Json接口。支持请求报文参数化设置,并对返回结果解析存储。在系统内部定义了一系列的数据生成规则(例如生成随机数字,指定格式的时间等),即预设报文生成规则,可以对SOA测试项中的请求报文的对应字段进行规则的配置。
在SOA测试项所对应的SOA测试步骤执行之初,测试执行模块将根据预设报文规则生成的对应字段值填充到SOA测试的请求报文中。然后根据SOA测试脚本执行SOA测试步骤,SOA测试执行完毕后,测试执行模块也会对返回的结果报文进行解析,把返回报文解析得到的结果报文字段都存储到管道模型数据中供以后测试步骤使用。
B.SQL(Structured Query Language,结构化查询语言)测试项,支持select、update、delete、insert、SP的录入。写入要访问的db(database,数据库)后,可以根据用例执行适配到不同的测试环境数据库连接。
通过在本发明的场景自动化测试平台中配置数据库的信息,在执行SQL测试项所对应的SQL测试步骤时,预设数据库选取规则,可以根据在测试执行或者测试用例默认选择的环境(比如测试环境,上线环境等)匹配到对应的待测试数据库信息,通过此待测试数据库信息连接到待测试数据库并执行SQL测试脚本中的操作,并将待测试数据库返回的测试结果数据存储至管道模型数据中。
C.任务(Job)测试项,支持调度任务的Web服务。
在执行任务测试项所对应的任务测试步骤时,测试执行模块通过HTTP协议调用待测试任务的网络服务(Web Service)接口,通过Start,Check等参数可以启动和查看待测试任务的运行,并且可以将待测试任务执行时返回的测试结果数据存储至管道模型数据中。
任务测试项的设置,可以实现根据测试需求对特定的任务的调用和运行,检查任务是否存在异常。由于对于任务定时处理类应用来说,每个设定的任务往往会具有一个预设运行时间,例如设定为每天下午3点钟运行,但是对于测试来说,则需要尽快进行,则可以通过增加该任务所对应的任务测试步骤,提前调用待测试任务运行,如果出现异常情况,则可以尽快处理。
D.HTTP测试项,支持HTTP常用的GET,POST方法,实现接口、UI等的调用。
在执行HTTP测试项对应的测试步骤时,测试执行模块可以通过浏览器或者第三方工具捕获到HTTP的请求,然后把请求中包含的信息(比如Post Body,Cookies等)配置到HTTP测试中,执行HTTP测试脚本,从而实现在测试过程中执行HTTP测试项时模拟调用UI的操作。
E.Python测试项,通过集成IronPython可以实现Python的执行,IronPython是一种在.NET和Mono上实现的Python语言,使用动态类型系统以让更多脚本语言能很容易地移植到.NET Framework上。通过对本平台中测试步骤、测试用例进行可被Python调用的接口的封装,可以实现通过Python测试项进行其他测试用例、测试步骤的执行和调度。
在平台中把测试用例,各个测试项的执行操作都封装成方法,在Python测试项所对应的Python测试步骤中利用IronPython技术可以编写Python测试脚本调用这些方法,从而实现了对其它测试用例以及测试步骤的调度和执行。
例如,一个测试用例M中包含三个测试步骤,可以设置当第一测试步骤测试结果为A值时,执行第二测试步骤,第一测试步骤测试结果为B值时,执行第三测试步骤,或者,第二测试步骤测试结果为C时,执行测试用例N,第二测试步骤测试结果为D时,执行测试用例S,等等,即可以实现多个测试步骤、多个测试用例依照一定的逻辑关系执行。
如果在测试用例中不包含Python测试步骤,则各个测试步骤可以按照预设的测试顺序执行,例如从第一个到最后一个依次顺序执行,或从最后一个到第一个依次逆序执行等等,均属于本发明的保护范围之内。
F.断言(Assert)测试项,通过断言测试项,可以对其它测试步骤执行后的结果进行验证操作,包括对数据库,redis数据的验证,也可以通过python脚本进行自定义验证。断言表示为一些布尔表达式,程序员相信在程序中的某个特定点该表达式值为真,可以在任何时候启用和禁用断言验证,因此可以在测试时启用断言而在部署时禁用断言。同样,程序投入运行后,最终用户在遇到问题时可以重新启用断言。使用断言可以创建更稳定、品质更好且不易于出错的代码。当需要在一个值为FALSE时中断当前操作的话,可以使用断言。
通过在断言测试步骤中设置一个预期值,设置需要比较的管道模型中的数据,需要比较的管道模型中的数据即为需要验证的测试步骤的测试结果数据,预期值即为预设的期望结果数据。测试执行模块比较预期值和管道模型中获取的数据是否相同来验证测试步骤是否执行通过。
比如测试用例中有一个SOA测试步骤,一个断言测试步骤,执行测试用例过程中,SOA测试步骤的测试结果数据都会解析并存储到管道模型数据中,那么断言测试步骤就会根据之前的设置去比较设置的预期值和SOA测试返回的测试结果数据是否一致。测试用例如果有其它测试项所对应的步骤,原理也是一样的。
断言测试步骤可以进一步与Python测试步骤结合使用。Python测试脚本中可以编写根据断言测试比较结果的逻辑控制关系,测试执行模块根据所述比较结果和Python测试脚本中的逻辑关系调用各个所述测试步骤和/或测试用例。例如,在Python测试中设置如果比较结果为断言测试通过,则执行第二测试步骤,如果比较结果为断言测试未通过,则执行第三测试步骤或停止执行后续步骤,返回测试失败结果,等等。此处仅为举例,在实际应用中,还可以有多种不同的逻辑控制关系组合,而不限于此。
G.其他测试项,支持对Redis,ES的操作。通过Redis,ES提供的接口调用并操作。即在执行所对应的测试步骤时,测试执行模块调用管道模型中的对应数据,调用测试项对应的接口,并接收测试项返回的测试结果数据,再存储到管道模型数据中去。Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库。此处仅给出了多种测试项的示例,在实际应用中,还可以添加多种不同的测试项,均属于本发明的保护范围之内。
如图3所示,该针对任务应用的场景自动化测试平台还可以根据需要建立测试集合。在测试平台执行测试时,不仅可以单独执行测试用例,还可以执行测试集合,也可以单独执行各个测试项。所述场景自动化测试平台还包括:
测试集合创建模块300,用于创建测试集合,并在所述测试集合中添加所述测试用例,测试集合可以包括多个测试用例;
所述测试执行模块500读取待执行的测试集合,根据预设次序依次执行所述测试集合中的各个所述测试用例。
图3中示出了本发明一实施例的针对任务应用的场景自动化测试平台的架构图。其中,用户界面可以有测试集合、测试用例、测试步骤、测试项和测试报告。即用户可以通过用户界面中的测试工具查看和编辑测试集合、测试用例、测试步骤和测试项,并且可以查看生成的测试报告。测试执行器包括多种测试项,SQL测试项与各个对应的数据库建立连接,SOA测试项与SOA服务器建立连接,HTTP测试项与各个网络站点建立连接,任务测试项与Job服务器建立连接。并且通过Python测试项可以实现其他测试项的调度。
在测试用例执行过程中,测试项可以按顺序执行,并通过管道模型数据实现数据的共享。如果需要不按照顺序执行,而需要实现复杂的逻辑判断执行,则可以使用Python测试项编写Python测试脚本来实现。
基础架构技术包括ASP.NET MVC、IronPython、Entity Framework、.NetFramework、MySQL等,作为该实施例的场景自动化测试平台的技术基础。其中,ASP.NET MVC是微软官方提供的以MVC模式为基础的ASP.NET Web应用程序。ADO.NET Entity Framework是微软以ADO.NET为基础所发展出来的对象关系对应(O/R Mapping)解决方案,早期被称为ObjectSpace,现已经包含在Visual Studio 2008Service Pack 1以及.NET Framework3.5Service Pack 1中发表。MySQL是一个关系型数据库管理系统,由瑞典MySQL AB公司开发,目前属于Oracle旗下产品。此处仅列举出了一部分基础架构技术,在实际应用中,具体基础架构技术随测试项不同而有所差别,并且在增加其他的测试项时,基础架构技术也可以随之增多。
进一步地,该场景自动化测试平台还可以实现测试计划的创建和执行,测试计划的作用是可以定时地调度执行测试集合中的测试用例。具体地,该场景自动化测试平台还包括:
测试计划创建模块400,用于创建测试计划,在所述测试计划中添加所述测试用例和/或测试集合,并设定所述测试计划中各个所述测试用例和/或测试集合的执行时间或执行次序;
所述测试执行模块500读取待执行的测试计划,根据各个所述测试用例和/或测试集合的执行时间或执行次序执行所述测试计划中的各个所述测试用例和/或测试集合。
即,用户创建并设置测试计划后,在测试计划中添加需要执行的测试集合和/或测试用例,当测试计划中设置的时间到了之后,就会触发对应测试集合和/或测试用例的执行,用户在测试计划执行完毕后,也可以查看测试报告。
可选地,各个所述测试项、所述测试用例和所述测试集合均封装有应用程序编程接口(Application Programming Interface,API)。具体地,该实施例中对所述测试项、所述测试用例和所述测试集合的创建和执行都封装有对外的API接口,外部可以通过这些接口来调度测试项、测试用例、测试集合的执行并返回测试结果。比如在系统中创建了一个SQL测试项,如果其他系统或者工具需要实现这个测试项,则可以通过HTTP协议调用提供的API接口来执行该测试项。另外,其他系统或工具也可以通过HTTP协议调用提供的API接口来创建新的测试项、测试用例或测试集合。
可选地,所述场景自动化测试平台还包括:
全局变量存储模块,用于存储测试执行过程中的全局变量,接收用户配置参数,并根据用户的配置参数修改存储的全局变量。全局变量可以应用于整个测试过程中,并且可以由用户自己修改其中的变量参数。而各个测试步骤之间的参数传递则通过管道模型来实现。
如图4所示,为该实施例的场景自动化测试平台与外部系统连接的示意图。其中针对任务应用的场景自动化测试平台2可以与用户使用的用户终端1建立通信,也可以与数据库服务器3建立通信。用户终端1可以是个人电脑、移动终端等。场景自动化测试平台2是一个独立的Web系统,可以部署在一台windows服务器上。用户通过浏览器可以访问该场景自动化测试平台2进行相关的操作。
用户可以实现的操作包括:增删改测试计划、增删改测试集合、增删改测试用例、增删改测试步骤、增删改测试项、执行测试用例和查看测试报告。
因此,该实施例实现了各种测试项按照测试步骤拼接来组合得到不同场景对应的测试用例;实现了全局变量、各个测试步骤之间的参数传递;实现了多种断言测试来验证测试项、测试用例的执行情况;实现了同种类型测试用例根据应用或者产品进行分类;实现了测试集合定时调度,提供调度API接口给外部,可以接入外部系统或工具持续集成。
因此,本发明支持多种测试项录入,降低了测试人员的编码能力要求。测试人员可以通过用户界面方便地编辑测试项、测试用例、测试集合和测试计划,测试项也可以根据需要新增,实现一次测试项编写应用于多次测试当中,大大提高了测试效率。
如图5所示,本发明一实施例还提供一种针对任务应用的场景自动化测试方法,采用所述的针对任务应用的场景自动化测试平台,所述方法包括如下步骤:
S100:创建至少一种测试项;
S200:创建测试用例,并在所述测试用例中添加测试步骤,各个所述测试步骤对应一所述测试项;
S300:读取待执行的测试用例,根据预设次序依次执行所述测试步骤;在执行各个所述测试步骤中,执行所对应的测试项,调用所对应的测试需求数据,并存储测试结果数据。
该实施例中创建和执行测试用例的步骤如图6所示,首先创建测试用例,创建测试步骤,关联测试步骤与测试项,执行测试用例,最后查看测试结果。在创建测试步骤时,可以选择创建不同的测试项类型,也可以从已有的测试项中关联。测试报告会详细列出每个测试用例、每个测试步骤的执行结果和日志。
当测试用例增多或者需要归拢在一起的时候,用户可以创建测试集合,并把测试用例添加到测试集合中来统一管理和执行测试用例。该实施例中创建和执行测试集合的步骤如图7所示。可选地,所述场景自动化测试方法还包括如下步骤:
创建测试集合,并在所述测试集合中添加所述测试用例;
读取待执行的测试集合,根据预设次序依次执行所述测试集合中的各个所述测试用例,最后查看测试结果。
该实施例中创建和执行测试计划的步骤如图8所示。可选地,所述场景自动化测试方法还包括如下步骤:
创建测试计划,在所述测试计划中添加所述测试用例和/或测试集合,并设定所述测试计划中各个所述测试用例和/或测试集合的执行时间或执行次序;
读取待执行的测试计划,根据各个所述测试用例和/或测试集合的执行时间或执行次序执行所述测试计划,最后查看测试结果。
采用本发明一实施例的针对任务应用的场景自动化测试平台的用户界面如图9~12所示。其中,图9是该实施例的测试集合编辑的界面示意图,其中可以实现测试集合添加、删除、修改、执行等操作。图10是该实施例的测试用例编辑的界面示意图,其中可以实现测试用例的添加、删除、修改、执行等操作。图11是创建测试用例中各个测试步骤的界面示意图,其示出了一个SQL测试步骤的编辑界面。图12是新增测试项的界面示意图,可以根据需要新增其他的测试项,供以后测试选用。
本发明所提供的针对任务应用的场景自动化测试平台及方法具有下列优点:
本发明提供了一种针对任务应用的测试方案,将各测试项模块化,支持多种测试项录入,降低对测试人员的编码能力要求,方便测试人员创建测试用例并添加测试步骤,可以实现无编码自动化测试;可适配在不同阶段如功能测试环境、回归测试环境中运行,实现复杂场景的自动化测试,节省任务应用和场景类测试的回归时间,适用于大规模推广应用。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (16)

1.一种针对任务应用的场景自动化测试平台,其特征在于,包括:
测试项存储模块,用于存储各种预设的测试项;
测试用例创建模块,用于创建测试用例,并在所述测试用例中添加测试步骤,各个所述测试步骤对应一所述测试项;
测试数据传输模块,用于存储各个测试步骤所对应的测试需求数据和测试结果数据;以及
测试执行模块,用于读取待执行的测试用例,根据预设次序依次执行该测试用例中的各个所述测试步骤;
在执行各个所述测试步骤中,所述测试执行模块调用该测试步骤所对应的测试项,从所述测试数据传输模块中调用所对应的测试需求数据,并将测试结果数据存储至所述测试数据传输模块中。
2.根据权利要求1所述的针对任务应用的场景自动化测试平台,其特征在于,所述测试数据传输模块基于管道模型技术输入和输出所述测试需求数据和测试结果数据。
3.根据权利要求1所述的针对任务应用的场景自动化测试平台,其特征在于,所述测试项包括SQL测试项、SOA测试项、HTTP测试项、任务测试项、Python测试项和断言测试项中的至少一种。
4.根据权利要求1所述的针对任务应用的场景自动化测试平台,其特征在于,所述测试项包括Python测试项,各个所述测试步骤和所述测试用例分别封装有可被Python测试调用的方法接口;
执行所述Python测试项对应的Python测试步骤时,所述测试执行模块根据Python测试脚本中的逻辑关系调用各个所述测试步骤和/或各个所述测试用例。
5.根据权利要求1所述的针对任务应用的场景自动化测试平台,其特征在于,所述测试项包括SOA测试项;
执行所述SOA测试项对应的SOA测试步骤时,所述测试执行模块根据预设报文生成规则生成对应字段值填充到SOA测试请求报文中,解析SOA测试返回的结果报文,并将解析结果报文得到的结果报文字段作为测试结果数据存储至所述测试数据传输模块中。
6.根据权利要求1所述的针对任务应用的场景自动化测试平台,其特征在于,所述测试项包括SQL测试项;
执行所述SQL测试项对应的SQL测试步骤时,所述测试执行模块根据预设数据库选取规则适配待测试数据库,连接至所述待测试数据库,依据SQL测试脚本对所述待测试数据库进行测试,并将所述待测试数据库返回的测试结果数据存储至所述测试数据传输模块中。
7.根据权利要求1所述的针对任务应用的场景自动化测试平台,其特征在于,所述测试项包括任务测试项;
执行所述任务测试项所对应的任务测试步骤时,所述测试执行模块根据任务测试脚本确定待测试任务,基于HTTP协议调用所述待测试任务所对应的网络服务接口,执行所述待测试任务,并将所述待测试任务执行时返回的测试结果数据存储至所述测试数据传输模块中。
8.根据权利要求1所述的针对任务应用的场景自动化测试平台,其特征在于,所述测试项包括断言测试项;
执行所述断言测试项所对应的断言测试步骤时,所述测试执行模块根据断言测试脚本确定待验证测试步骤,从所述测试数据传输模块获取所对应的待验证测试结果数据,将待验证测试结果数据与预设的期望结果数据进行比较得到比较结果。
9.根据权利要求8所述的针对任务应用的场景自动化测试平台,其特征在于,所述测试项还包括Python测试项,各个所述测试步骤和所述测试用例分别封装有可被Python测试调用的方法接口;
待执行的测试用例中同时包含Python测试步骤和断言测试步骤时,所述测试执行模块根据所述比较结果和Python测试脚本中的逻辑关系调用各个所述测试步骤和/或各个所述测试用例。
10.根据权利要求1所述的针对任务应用的场景自动化测试平台,其特征在于,所述测试项还包括HTTP测试项;
执行所述HTTP测试项所对应的HTTP测试步骤时,所述测试执行模块捕获HTTP测试请求数据,将HTTP测试请求数据配置到HTTP测试中,执行HTTP测试脚本,并将测试结果数据存储至所述测试数据传输模块中。
11.根据权利要求1所述的针对任务应用的场景自动化测试平台,其特征在于,还包括:
测试集合创建模块,用于创建测试集合,并在所述测试集合中添加所述测试用例;
所述测试执行模块读取待执行的测试集合,根据预设次序依次执行该测试集合中的各个所述测试用例。
12.根据权利要求11所述的针对任务应用的场景自动化测试平台,其特征在于,还包括:
测试计划创建模块,用于创建测试计划,在所述测试计划中添加所述测试用例和/或测试集合,并设定所述测试计划中各个所述测试用例和/或测试集合的执行时间和/或执行次序;
所述测试执行模块读取待执行的测试计划,根据该测试计划中各个所述测试用例和/或测试集合的执行时间和/或执行次序执行该测试计划。
13.根据权利要求11所述的针对任务应用的场景自动化测试平台,其特征在于,各个所述测试项、所述测试用例和所述测试集合均封装有应用程序编程接口。
14.一种针对任务应用的场景自动化测试方法,其特征在于,采用权利要求1至13中任一项所述的针对任务应用的场景自动化测试平台,所述方法包括如下步骤:
创建至少一种测试项;
创建测试用例,并在所述测试用例中添加测试步骤,各个所述测试步骤对应一所述测试项;
读取待执行的测试用例,根据预设次序依次执行该测试用例中的各个所述测试步骤;
在执行各个所述测试步骤中,调用所对应的测试项,调用所对应的测试需求数据,并存储测试结果数据。
15.根据权利要求14所述的针对任务应用的场景自动化测试方法,其特征在于,还包括如下步骤:
创建测试集合,并在所述测试集合中添加所述测试用例;
读取待执行的测试集合,根据预设次序依次执行该测试集合中的各个所述测试用例。
16.根据权利要求15所述的针对任务应用的场景自动化测试方法,其特征在于,还包括如下步骤:
创建测试计划,在所述测试计划中添加所述测试用例和/或测试集合,并设定所述测试计划中各个所述测试用例和/或测试集合的执行时间和/或执行次序;
读取待执行的测试计划,根据该测试计划中各个所述测试用例和/或测试集合的执行时间和/或执行次序执行所述测试计划。
CN201710407099.0A 2017-06-02 2017-06-02 针对任务应用的场景自动化测试平台及方法 Active CN107273286B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710407099.0A CN107273286B (zh) 2017-06-02 2017-06-02 针对任务应用的场景自动化测试平台及方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710407099.0A CN107273286B (zh) 2017-06-02 2017-06-02 针对任务应用的场景自动化测试平台及方法

Publications (2)

Publication Number Publication Date
CN107273286A true CN107273286A (zh) 2017-10-20
CN107273286B CN107273286B (zh) 2020-10-27

Family

ID=60064953

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710407099.0A Active CN107273286B (zh) 2017-06-02 2017-06-02 针对任务应用的场景自动化测试平台及方法

Country Status (1)

Country Link
CN (1) CN107273286B (zh)

Cited By (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268377A (zh) * 2018-01-23 2018-07-10 郑州云海信息技术有限公司 一种服务器的业务测试方法、装置及介质
CN108563571A (zh) * 2018-04-11 2018-09-21 车巴达(苏州)网络科技有限公司 软件接口测试方法及系统、计算机可读存储介质、终端
CN109240933A (zh) * 2018-09-28 2019-01-18 四川长虹电器股份有限公司 一种数据表操作结果断言方法
CN109240994A (zh) * 2018-08-01 2019-01-18 北京奇虎科技有限公司 一种文件处理方法及装置
CN109254988A (zh) * 2018-08-03 2019-01-22 京信通信系统(中国)有限公司 报表自动测试方法、装置、计算机存储介质及设备
CN109614310A (zh) * 2018-10-22 2019-04-12 中国平安财产保险股份有限公司 测试接口的管理方法、装置、计算机设备以及存储介质
CN109800165A (zh) * 2019-01-14 2019-05-24 中国银行股份有限公司 一种前端系统测试方法及装置
CN109977012A (zh) * 2019-03-19 2019-07-05 中国联合网络通信集团有限公司 系统的联调测试方法、装置、设备及计算机可读存储介质
CN110471846A (zh) * 2019-07-23 2019-11-19 平安科技(深圳)有限公司 基于自动化平台的测试数据处理方法、装置和计算机设备
CN110489327A (zh) * 2019-07-10 2019-11-22 苏州浪潮智能科技有限公司 一种基于MongoDB的异构任务执行方法与系统
CN110749813A (zh) * 2018-07-24 2020-02-04 华邦电子股份有限公司 测试系统及适应性测试制法产生方法
CN110888801A (zh) * 2019-10-23 2020-03-17 贝壳技术有限公司 软件程序的测试方法和装置、存储介质和电子设备
CN110990250A (zh) * 2019-10-12 2020-04-10 平安医疗健康管理股份有限公司 接口测试方法、装置、设备及存储介质
CN111002347A (zh) * 2019-12-20 2020-04-14 上海有个机器人有限公司 一种机器人场景测试方法、介质、终端和装置
CN111008127A (zh) * 2019-11-15 2020-04-14 拉扎斯网络科技(上海)有限公司 多活测试方法、装置、电子设备及可读存储介质
CN111625447A (zh) * 2020-05-06 2020-09-04 Oppo广东移动通信有限公司 测试方法及装置、电子设备、计算机可读存储介质
CN112256554A (zh) * 2019-07-22 2021-01-22 腾讯科技(深圳)有限公司 一种基于场景测试用例进行测试的方法及设备
CN112380113A (zh) * 2020-10-15 2021-02-19 猫岐智能科技(上海)有限公司 软件测试方法及系统
CN112445694A (zh) * 2019-08-29 2021-03-05 杭州广立微电子股份有限公司 一种用于制定测试配置文件的工具及其应用
CN112445695A (zh) * 2019-08-29 2021-03-05 杭州广立微电子股份有限公司 一种用于快速生成测试说明文件的工具及其应用
CN112527665A (zh) * 2020-12-18 2021-03-19 上海万向区块链股份公司 基于FitNesse框架处理断言产生的脏数据的方法和系统
CN112579455A (zh) * 2020-12-23 2021-03-30 安徽航天信息有限公司 一种接口自动化测试方法、装置、电子设备及存储介质
CN113032263A (zh) * 2021-03-25 2021-06-25 成都新希望金融信息有限公司 用例测试处理方法、装置、服务器及可读存储介质
CN113037582A (zh) * 2019-12-25 2021-06-25 中国电信股份有限公司 网络功能虚拟化nfv测试方法、装置和系统
CN113608089A (zh) * 2021-06-18 2021-11-05 苏州浪潮智能科技有限公司 开关电源mos管的soa测试方法、系统、装置及可读存储介质
CN114880158A (zh) * 2022-07-11 2022-08-09 飞狐信息技术(天津)有限公司 一种Redis实例诊断方法及装置
CN114978973A (zh) * 2022-05-18 2022-08-30 宁畅信息产业(北京)有限公司 一种通信接口测试方法、装置、测试机及存储介质
CN115102888A (zh) * 2022-06-17 2022-09-23 北京经纬恒润科技股份有限公司 车载以太网协议一致性测试方法、装置、及相关设备
WO2024021877A1 (zh) * 2022-07-28 2024-02-01 中兴通讯股份有限公司 测试进度的跟踪方法、电子设备、计算机可读存储介质
CN108470000B (zh) * 2018-03-06 2024-05-03 睿云联(厦门)网络通讯技术有限公司 通讯终端软件自动测试方法、系统及介质
CN112380113B (zh) * 2020-10-15 2024-05-17 猫岐智能科技(上海)有限公司 软件测试方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200732910A (en) * 2006-02-21 2007-09-01 Shinewave Int Inc Generation apparatus and method of applicability test for browser
CN102222036A (zh) * 2010-04-14 2011-10-19 阿里巴巴集团控股有限公司 一种自动化测试方法和设备
CN102622234A (zh) * 2012-03-07 2012-08-01 迈普通信技术股份有限公司 一种自动化测试用例的开发系统及开发方法
CN103150249A (zh) * 2011-12-07 2013-06-12 北京新媒传信科技有限公司 一种自动化测试的方法和系统
CN106649092A (zh) * 2016-10-21 2017-05-10 郑州云海信息技术有限公司 一种测试脚本生成方法、网页测试方法、装置和系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TW200732910A (en) * 2006-02-21 2007-09-01 Shinewave Int Inc Generation apparatus and method of applicability test for browser
CN102222036A (zh) * 2010-04-14 2011-10-19 阿里巴巴集团控股有限公司 一种自动化测试方法和设备
CN103150249A (zh) * 2011-12-07 2013-06-12 北京新媒传信科技有限公司 一种自动化测试的方法和系统
CN102622234A (zh) * 2012-03-07 2012-08-01 迈普通信技术股份有限公司 一种自动化测试用例的开发系统及开发方法
CN106649092A (zh) * 2016-10-21 2017-05-10 郑州云海信息技术有限公司 一种测试脚本生成方法、网页测试方法、装置和系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
DAVID ASTELS: "《测试驱动开发实用指南》", 30 September 2004 *
沈建征: "自动化测试管理工具的开发与实现", 《CNKI优秀硕士学位论文全文数据库》 *

Cited By (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108268377A (zh) * 2018-01-23 2018-07-10 郑州云海信息技术有限公司 一种服务器的业务测试方法、装置及介质
CN108470000B (zh) * 2018-03-06 2024-05-03 睿云联(厦门)网络通讯技术有限公司 通讯终端软件自动测试方法、系统及介质
CN108563571A (zh) * 2018-04-11 2018-09-21 车巴达(苏州)网络科技有限公司 软件接口测试方法及系统、计算机可读存储介质、终端
CN110749813A (zh) * 2018-07-24 2020-02-04 华邦电子股份有限公司 测试系统及适应性测试制法产生方法
CN109240994A (zh) * 2018-08-01 2019-01-18 北京奇虎科技有限公司 一种文件处理方法及装置
CN109254988A (zh) * 2018-08-03 2019-01-22 京信通信系统(中国)有限公司 报表自动测试方法、装置、计算机存储介质及设备
CN109240933A (zh) * 2018-09-28 2019-01-18 四川长虹电器股份有限公司 一种数据表操作结果断言方法
CN109614310A (zh) * 2018-10-22 2019-04-12 中国平安财产保险股份有限公司 测试接口的管理方法、装置、计算机设备以及存储介质
CN109800165A (zh) * 2019-01-14 2019-05-24 中国银行股份有限公司 一种前端系统测试方法及装置
CN109977012A (zh) * 2019-03-19 2019-07-05 中国联合网络通信集团有限公司 系统的联调测试方法、装置、设备及计算机可读存储介质
CN110489327A (zh) * 2019-07-10 2019-11-22 苏州浪潮智能科技有限公司 一种基于MongoDB的异构任务执行方法与系统
CN110489327B (zh) * 2019-07-10 2022-06-21 苏州浪潮智能科技有限公司 一种基于MongoDB的异构任务执行方法与系统
CN112256554A (zh) * 2019-07-22 2021-01-22 腾讯科技(深圳)有限公司 一种基于场景测试用例进行测试的方法及设备
CN112256554B (zh) * 2019-07-22 2023-06-16 腾讯科技(深圳)有限公司 一种基于场景测试用例进行测试的方法及设备
CN110471846A (zh) * 2019-07-23 2019-11-19 平安科技(深圳)有限公司 基于自动化平台的测试数据处理方法、装置和计算机设备
CN110471846B (zh) * 2019-07-23 2024-05-07 平安科技(深圳)有限公司 基于自动化平台的测试数据处理方法、装置和计算机设备
CN112445694A (zh) * 2019-08-29 2021-03-05 杭州广立微电子股份有限公司 一种用于制定测试配置文件的工具及其应用
CN112445695A (zh) * 2019-08-29 2021-03-05 杭州广立微电子股份有限公司 一种用于快速生成测试说明文件的工具及其应用
CN110990250B (zh) * 2019-10-12 2022-09-06 深圳平安医疗健康科技服务有限公司 接口测试方法、装置、设备及存储介质
CN110990250A (zh) * 2019-10-12 2020-04-10 平安医疗健康管理股份有限公司 接口测试方法、装置、设备及存储介质
CN110888801A (zh) * 2019-10-23 2020-03-17 贝壳技术有限公司 软件程序的测试方法和装置、存储介质和电子设备
CN111008127A (zh) * 2019-11-15 2020-04-14 拉扎斯网络科技(上海)有限公司 多活测试方法、装置、电子设备及可读存储介质
CN111002347A (zh) * 2019-12-20 2020-04-14 上海有个机器人有限公司 一种机器人场景测试方法、介质、终端和装置
CN113037582A (zh) * 2019-12-25 2021-06-25 中国电信股份有限公司 网络功能虚拟化nfv测试方法、装置和系统
CN111625447A (zh) * 2020-05-06 2020-09-04 Oppo广东移动通信有限公司 测试方法及装置、电子设备、计算机可读存储介质
CN111625447B (zh) * 2020-05-06 2023-08-18 Oppo广东移动通信有限公司 测试方法及装置、电子设备、计算机可读存储介质
CN112380113B (zh) * 2020-10-15 2024-05-17 猫岐智能科技(上海)有限公司 软件测试方法及系统
CN112380113A (zh) * 2020-10-15 2021-02-19 猫岐智能科技(上海)有限公司 软件测试方法及系统
CN112527665A (zh) * 2020-12-18 2021-03-19 上海万向区块链股份公司 基于FitNesse框架处理断言产生的脏数据的方法和系统
CN112579455A (zh) * 2020-12-23 2021-03-30 安徽航天信息有限公司 一种接口自动化测试方法、装置、电子设备及存储介质
CN113032263A (zh) * 2021-03-25 2021-06-25 成都新希望金融信息有限公司 用例测试处理方法、装置、服务器及可读存储介质
CN113608089B (zh) * 2021-06-18 2023-11-03 苏州浪潮智能科技有限公司 开关电源mos管的soa测试方法、系统、装置及可读存储介质
CN113608089A (zh) * 2021-06-18 2021-11-05 苏州浪潮智能科技有限公司 开关电源mos管的soa测试方法、系统、装置及可读存储介质
CN114978973B (zh) * 2022-05-18 2023-05-09 宁畅信息产业(北京)有限公司 一种通信接口测试方法、装置、测试机及存储介质
CN114978973A (zh) * 2022-05-18 2022-08-30 宁畅信息产业(北京)有限公司 一种通信接口测试方法、装置、测试机及存储介质
CN115102888A (zh) * 2022-06-17 2022-09-23 北京经纬恒润科技股份有限公司 车载以太网协议一致性测试方法、装置、及相关设备
CN114880158A (zh) * 2022-07-11 2022-08-09 飞狐信息技术(天津)有限公司 一种Redis实例诊断方法及装置
WO2024021877A1 (zh) * 2022-07-28 2024-02-01 中兴通讯股份有限公司 测试进度的跟踪方法、电子设备、计算机可读存储介质

Also Published As

Publication number Publication date
CN107273286B (zh) 2020-10-27

Similar Documents

Publication Publication Date Title
CN107273286A (zh) 针对任务应用的场景自动化测试平台及方法
WO2019153472A1 (zh) 接口自动化测试方法、装置、设备及存储介质
CN111459821B (zh) 一种基于TestNG的软件自动化单元测试方法
Tsai et al. Scenario-based functional regression testing
CN110377336A (zh) 接口文档生成方法、装置、计算机设备和存储介质
CN107665171A (zh) 自动回归测试方法及装置
CN112306855B (zh) 接口自动化测试方法、装置、终端和存储介质
CN110287097A (zh) 批量测试方法、装置及计算机可读存储介质
CN114625353A (zh) 模型框架代码生成系统及方法
CN102999320A (zh) 测试用例自动生成方法和系统
US10452628B2 (en) Data analysis schema and method of use in parallel processing of check methods
CN105930344B (zh) 一种基于产品研制流程的数据库应用系统快速开发平台
CN108829584A (zh) 业务逻辑接口mock测试方法及系统
CN106649120A (zh) 一种数据获取方法、分析方法及系统
US20080059563A1 (en) Methods and Systems for Automated Data Processing
CN106648682A (zh) 一种面向嵌入式系统开发的动态数据通用框架
CN115309566A (zh) 一种服务接口的动态管理方法及系统
CN112306861A (zh) 一种基于Unittest和Jenkins工具的接口自动化测试体系及方法
CN108647147A (zh) 一种利用图谱分析执行自动化测试机器人及其使用方法
CN108984393A (zh) 一种单元测试代码自动生成方法及装置
CN100407663C (zh) 一种电信智能业务的通用测试系统及方法
CN109710513B (zh) 一种用于cbtc系统自动化测试的引擎
CN104994220B (zh) 一种数据处理方法和系统
CN111221721A (zh) 一种单元测试案例自动化录制和执行方法及装置
CN117370217A (zh) 一种基于python的接口测试结果自动生成方法

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