CN117076329B - 一种业务互斥状态下用例并发执行的方法及系统 - Google Patents
一种业务互斥状态下用例并发执行的方法及系统 Download PDFInfo
- Publication number
- CN117076329B CN117076329B CN202311314750.1A CN202311314750A CN117076329B CN 117076329 B CN117076329 B CN 117076329B CN 202311314750 A CN202311314750 A CN 202311314750A CN 117076329 B CN117076329 B CN 117076329B
- Authority
- CN
- China
- Prior art keywords
- use case
- point
- execution
- steps
- executed
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000012360 testing method Methods 0.000 claims abstract description 92
- 238000004806 packaging method and process Methods 0.000 claims abstract description 13
- 230000001960 triggered effect Effects 0.000 claims abstract description 12
- 230000007717 exclusion Effects 0.000 claims description 6
- 238000012790 confirmation Methods 0.000 claims description 3
- 238000012163 sequencing technique Methods 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 7
- 238000004904 shortening Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
Abstract
本发明公开了一种业务互斥状态下用例并发执行的方法及系统,涉及测试用例技术领域,包括步骤S1:将原用例步骤中的上传三方产品批量文件、执行三方产品批量任务和触发日终任务单独封装在一个公共业务切点用例中,并将该公共业务切点用例作为重排序的一个时间切点;S2:将自动化平台用例集合的所有用例步骤在测试计划执行前分析,根据公共业务切点用例和切点属性,自动化平台为每个原用例的所有步骤生成切点属性变化结果;S3:将重新规整所有测试用例步骤执行的顺序。本发明能够克服因用例的测试场景不同,切换的交易日期不相同时用例并发执行下,切换交易日期时机不可控、测试数据冲突而导致自动化用例执行时偏离预设的场景的问题。
Description
技术领域
本发明涉及测试用例技术领域,提供了一种业务互斥状态下用例并发执行的方法及系统。
背景技术
自动化测试工具或平台都支持并发执行测试计划中的测试用例,以达到快速获取当前系统质量测试结果报告的目的。但当应用到信贷业务系统时,用例的并发执行因业务上的限制,导致只能逐个执行自动化测试用例才能保证用例以预设的场景执行,主要原因涉及以下方面。
自动化用例测试场景涉及到切换交易日切换操作时,不同用例切到的日期可能不同,并发状态下执行时信贷业务受理时间不可控。信贷核算系统测试时,自动化测试用例一般都会构建对应的批量任务文件,文件中包含当前用例测试场景预设的测试数据,当相同功能多场景用例执行时,因为文件目录和文件名都相同,会导致文件互相覆盖,测试场景预埋数据失效。批量任务在一个交易日期内只能执行一次,因为自动化测试用例本身是一个完整的业务流程,所以每个用例内都会包含一次执行三方产品批量任务的步骤,并发执行状态下同一个交易日期内的批量任务会被重复触发,导致系统报错。
因此,信贷业务自动化测试计划只能采用每个用例逐个执行的方案以保证测试场景的正确性。逐个执行的方案耗时非常久。随着用例的增多,执行时间将越来越长,这对于自动化测试来说,是不可接受的,需要针对信贷系统业务特殊性来提供针对性的执行策略。
发明内容
为了解决背景技术中提到的至少一个技术问题,本发明的目的在于提供一种业务互斥状态下用例并发执行的方法及系统,以克服因用例的测试场景不同和切换的交易日期不相同时,在用例并发执行下,切换交易日期时机不可控、测试数据冲突而导致自动化用例执行时偏离预设的场景的问题。
为实现上述目的,本发明提供如下技术方案:
一种业务互斥状态下用例并发执行的方法,包括步骤:
S1:将原用例步骤中的上传三方产品批量文件、执行三方产品批量任务和触发日终任务单独封装在一个公共业务切点用例中,并将该公共业务切点用例作为重排序的一个时间切点;
S2:将自动化平台用例集合的所有用例步骤在测试计划执行前分析,根据公共业务切点用例和切点属性,自动化平台为每个原用例的所有步骤生成切点属性变化结果,为执行时重新整理执行计划做准备,同时提供至自动化平台前端以给测试人员确认生成结果;
S3:将重新规整所有测试用例步骤执行的顺序,通过线程池并发执行模式进行执行,在时间切点执行前,合并各个用例执行时产生的文件内容。
进一步地,所述步骤S1包括:
S11:将上传三方产品批量文件、执行三方产品批量任务和触发日终任务单独提出形成一个公共业务切点用例,该公共业务切点用例模拟执行真实线上每日定时任务触发的业务;
S12:将多组原用例中的上传三方产品批量文件、执行三方产品批量任务和触发日终任务三个步骤替换为公共业务切点用例,同时将初始化数据库操作放入测试计划的执行前置;
S13:在用例的原步骤调整后,测试计划将配置切点用例及切点属性。
进一步地,所述步骤S3包括:
S31:在启动测试计划执行后,自动化平台将所有所选用例模拟实际业务,根据交易日期将步骤中所有公共业务切点用例步骤合并为一步,交易日期则根据切点属性的交易日期参数来确定,并将多组原用例步骤合并为一个执行步骤计划。
进一步地,所述步骤S31包括:
S311:每个原用例被公共业务切点用例截断后,通过用例步骤标识来标示出截断的每部分起始和结束步骤;
S312:每个公共业务切点用例将对应一个该切点用例下的执行步骤,优先执行切点用例步骤,再执行切点下的用例步骤;
S313:对每次步骤的起始和结束时用例的执行上下文进行管理,切点用例执行前将未结束用例上下文中的文件变量内容合并,同时处理每个用例的结束状态,来确认已经结束。
进一步地,所述生成的切点属性的变化结果核心数据包括步骤执行前的切点属性值、步骤执行后的切点属性值、步骤编号、用例编号和执行目标编号;
所述步骤执行前的切点属性值默认为Start,当有前置步骤执行时Start将转变为前置步骤执行后的切点属性值;
所述步骤执行后的切点属性值,当调用业务切点用例或调用包含业务切点用例的步骤时所述步骤执行后的切点属性值进行变化;当无调用时则所述步骤执行后的切点属性值保持为所述步骤执行前的切点属性值;
所述执行目标编号,用于表示当前是否对业务切点用例进行了调用。
一种业务互斥状态下用例并发执行的系统,包括:
公共业务切点用例封装模块:用于将原用例步骤中的上传三方产品批量文件、执行三方产品批量任务和触发日终任务单独封装在一个公共业务切点用例中,并将该公共业务切点用例作为重排序的一个时间切点;
排序模块:用户将自动化平台用例集合的所有用例步骤在测试计划执行前分析,根据公共业务切点用例和切点属性,自动化平台为每个原用例的所有步骤生成切点属性变化结果,为执行时重新整理执行计划做准备,同时提供至自动化平台前端以给测试人员确认生成结果;
合并执行模块:用于将重新规整所有测试用例步骤执行的顺序,通过线程池并发执行模式进行执行,在时间切点执行前,合并各个用例执行时产生的文件内容。
进一步地,所述公共业务切点用例封装模块包括:
模拟执行单元:用于将上传三方产品批量文件、执行三方产品批量任务和触发日终任务单独提出形成一个公共业务切点用例,该公共业务切点用例模拟执行真实线上每日定时任务触发的业务;
公共业务切点用例替换单元:用于将多组原用例中的上传三方产品批量文件、执行三方产品批量任务和触发日终任务三个步骤替换为公共业务切点用例,同时将初始化数据库操作放入测试计划的执行前置;
配置单元:用于在用例的原步骤调整后,测试计划将配置切点用例及切点属性。
进一步地,所述合并执行模块包括:
用例合并单元:用于在启动测试计划执行后,自动化平台将所有所选用例模拟实际业务,根据交易日期将步骤中所有公共业务切点用例步骤合并为一步,交易日期则根据切点属性的交易日期参数来确定,并将多组原用例步骤合并为一个执行步骤计划。
进一步地,所述用例合并单元包括:
标识子单元:用于在每个原用例被公共业务切点用例截断后,通过用例步骤标识来标示出截断的每部分起始和结束步骤;
用例步骤执行单元:用于执行每个公共业务切点用例对应的一个该切点用例下的执行步骤,优先执行切点用例步骤,再执行切点下的用例步骤;
用例状态确认子单元:用于对每次步骤的起始和结束时用例的执行上下文进行管理,切点用例执行前将未结束用例上下文中的文件变量内容合并,同时处理每个用例的结束状态,来确认已经结束。
进一步地,所述切点属性包括步骤执行前的切点属性值、步骤执行后的切点属性值、步骤编号、用例编号和执行目标编号;
所述步骤执行前的切点属性值默认为Start,当有前置步骤执行时Start将转变为前置步骤执行后的切点属性值;
所述步骤执行后的切点属性值,当调用业务切点用例或调用包含业务切点用例的步骤时所述步骤执行后的切点属性值进行变化;当无调用时则所述步骤执行后的切点属性值保持为所述步骤执行前的切点属性值;
所述执行目标编号,用于表示当前是否对业务切点用例进行了调用。
与现有技术相比,本发明的有益效果是:
本发明通过将公共步骤提取出来放入业务切点用例下,保证了业务切点用例中不可重复执行的步骤只执行一次。通过文件合并的方式,保证批量任务业务数据正确性。通过将同一交易日期的步骤并入一个测试步骤集合,自动化平台测试系统就可并发执行这些步骤,缩短测试计划执行时间。将原来不可并发执行的测试用例并发执行,快速缩短测试计划耗时,该方法适用交易日切换业务的系统的自动化用例并发执行,且适用于自动化流程用例之间存在互斥步骤的系统需求。
附图说明
图1为本发明实施例一提供的业务互斥状态下用例并发执行的方法流程示意图一;
图2为本发明实施例一提供的业务互斥状态下用例并发执行的方法流程示意图二;
图3为本发明实施例二提供的业务互斥状态下用例并发执行的系统框图一;
图4为本发明实施例二提供的业务互斥状态下用例并发执行的系统框图二;
图5为本发明实施例一提供的业务互斥状态下用例并发执行的方法中正常还款业务流程用例A执行步骤流程示意图;
图6为本发明实施例一提供的业务互斥状态下用例并发执行的方法中逾期还款业务流程用例B执行步骤流程示意图;
图7为本发明实施例一提供的业务互斥状态下用例并发执行的方法中业务切点用例C执行步骤流程示意图;
图8A和图8B为本发明实施例一提供的业务互斥状态下用例并发执行的方法中替换公共业务切点用例C后用例A和用例B的执行步骤流程示意图;
图9为本发明实施例一提供的业务互斥状态下用例并发执行的方法中重排序后的用例执行结构示意图;
图10为本发明实施例一提供的业务互斥状态下用例并发执行的方法中切点用例步骤和切点所属步骤的执行逻辑流程图。
具体实施方式
下面对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1,实施例一提供了一种业务互斥状态下用例并发执行的方法,包括步骤:
S1:将原用例步骤中的上传三方产品批量文件、执行三方产品批量任务和触发日终任务单独封装在一个公共业务切点用例中,并将该公共业务切点用例作为重排序的一个时间切点;
S2:将自动化平台用例集合的所有用例步骤在测试计划执行前分析,根据公共业务切点用例和切点属性,自动化平台为每个原用例的所有步骤生成切点属性变化结果,为执行时重新整理执行计划做准备,同时提供至自动化平台前端以给测试人员确认生成结果;
S3:将重新规整所有测试用例步骤执行的顺序,通过线程池并发执行模式进行执行,在时间切点执行前,合并各个用例执行时产生的文件内容。
具体的,将测试计划中所有测试用例执行流程重新拆解,按交易日期来模拟真实的线上业务执行,主要如下几点:在测试计划执行前,将所选自动化用例集合的所有用例的步骤做一个拆解,将步骤根据交易日期做一个重排序。将原用例步骤中上传三方产品批量文件、执行三方产品批量任务、触发日终任务单独封装在一个公共用例中,将此用例作为重排序的一个时间切点。在时间切点公共用例执行前,合并各个用例执行时产生的文件内容,并提供给时间切点用例文件中上传使用。目的是达到并发执行,缩短测试计划执行时间。
参阅图5和图6,说明正常情况下的测试用例执行步骤逻辑。图5表示的正常还款业务流程用例和图6表示的逾期还款业务流程用例的差别仅在还款申请的交易日期不同。如果两个用例顺序执行,整个执行时间将会耗费很长的时间。
其中,图5中正常还款业务流程用例A执行步骤为:step1初始化测试库,交易日期20200101;step2授信申请;step3上传三方产品批量任务文件;step4执行三方产品批量任务;step5触发日终任务,交易时间切换至20200102;step6放款申请;step7上传三方产品批量任务文件;step8执行三方产品批量文件;step9触发日终任务,交易时间切换至20200202;step10还款申请;step11上传三方产品批量文件;step12执行三方产品批量任务;step13触发日终任务,交易时间切换至20200203。
其中,图6中逾期还款业务流程用例B执行步骤为:step1初始化测试库,交易日期20200101;step2授信申请;step3上传三方产品批量任务文件;step4执行三方产品批量任务;step5触发日终任务,交易时间切换至20200102;step6放款申请;step7上传三方产品批量任务文件;step8执行三方产品批量文件;step9触发日终任务,交易时间切换至20200205;step10还款申请;step11上传三方产品批量文件;step12执行三方产品批量任务;step13触发日终任务,交易时间切换至20200206。
参阅图7,根据业务互斥状态下用例并发执行的方法,将上传三方产品批量文件、执行三方产品批量任务、触发日终任务单独提出来形成一个公共的业务切点用例,这个用例模拟执行了真实线上每日定时任务触发的业务。图7中业务切点用例C执行步骤为:由前置步骤传入三方产品批量文件(变量file)和交易日期(变量date)进行step1上传执行三方产品批量任务文件file;step2执行三方产品批量任务;step3触发日终任务,交易时间切换至date。
参阅图8A和图8B,将原用例A的用例B的上传三方产品批量文件、执行三方产品批量任务和触发日终任务三个步骤替换成这个公共业务切点用例C,同时将初始化数据库操作放入测试计划的执行前置,测试用例A在测试计划中整个执行步骤为:测试计划前置执行,step1初始化测试库,交易日期20200101;测试计划用例执行,step2授信申请;经过将批量文件和20200102交易日期传入进行step3调用业务切点用例;step4放款申请;经过将批量文件和20200202交易日期传入进行step5调用业务切点用例;step6还款申请;经过将批量文件和20200203交易日期传入进行step7调用业务切点用例。测试用例B在测试计划中整个执行步骤为:测试计划前置执行,step1初始化测试库,交易日期20200101;测试计划用例执行,step2授信申请;经过将批量文件和20200102交易日期传入进行step3调用业务切点用例;step4放款申请;经过将批量文件和20200205交易日期传入进行step5调用业务切点用例;step6还款申请;经过将批量文件和20200206交易日期传入进行step7调用业务切点用例。
参阅图2,其中,步骤S1包括:
S11:将上传三方产品批量文件、执行三方产品批量任务和触发日终任务单独提出形成一个公共业务切点用例,该公共业务切点用例模拟执行真实线上每日定时任务触发的业务;
S12:将多组原用例中的上传三方产品批量文件、执行三方产品批量任务和触发日终任务三个步骤替换为公共业务切点用例,同时将初始化数据库操作放入测试计划的执行前置;
S13:在用例的原步骤调整后,测试计划将配置切点用例及切点属性。
其中,步骤S3包括:
S31:在启动测试计划执行后,自动化平台将所有所选用例模拟实际业务,根据交易日期将步骤中所有公共业务切点用例步骤合并为一步,交易日期则根据切点属性的交易日期参数来确定,并将多组原用例步骤合并为一个执行步骤计划。
其中,步骤S31包括:
S311:每个原用例被公共业务切点用例截断后,通过用例步骤标识来标示出截断的每部分起始和结束步骤;
S312:每个公共业务切点用例将对应一个该切点用例下的执行步骤,优先执行切点用例步骤,再执行切点下的用例步骤;
S313:对每次步骤的起始和结束时用例的执行上下文进行管理,切点用例执行前将未结束用例上下文中的文件变量内容合并,同时处理每个用例的结束状态,来确认已经结束。
其中,生成的切点属性的变化结果核心数据包括步骤执行前的切点属性值、步骤执行后的切点属性值、步骤编号、用例编号和执行目标编号。根据业务切点用例和切点属性,自动化平台会为每个用例包括用例步骤中依赖的其他测试用例的所有步骤生成切点属性变化结果,为执行时重新整理执行计划做准备,同时提供给自动化平台前端以给测试人员确认生成结果。
参阅图9,根据图8A和图8B所示的重排序后的用例执行结构包括切点用例步骤、切点所属执行步骤和切点交易时间。其中,切点交易时间20200101对应切点用例步骤step0默认Start节点(无执行步骤)、切点所属执行步骤用例A的step2授信申请和用例B的step2授信申请,参阅图9以此类推各个切点交易时间对应的各个切点用例步骤和切点所属执行步骤的内容。
参阅图10,切点用例步骤和切点所属步骤的简要执行逻辑为:Start默认切点,判断切点用例是否存在执行步骤,若存在则判断切点待执行用例集合中是否有未结束用例,若是则选择一个待执行用例的切点步骤,加入线程池执行并等待任务执行结束,若没有未结束用例则整个测试计划结束;如果切点用例没有存在执行步骤,则判断当前切点下是否存在待执行的测试步骤,当存在时,则将所有未结束用例的待执行步骤加入线程池执行并等待任务执行结束后与判断切点没有存在执行步骤同样继续判断是否存在下个切点,若是,则返回判断切点用例存在执行步骤,若否,则结束。
本方法通过将公共步骤提取出来放入业务切点用例下,可保证业务切点用例中不可重复执行的步骤只执行一次。通过文件合并的方式,保证批量任务业务数据正确性。通过将同一交易日期的步骤并入一个测试步骤集合,自动化测试平台就可并发执行这些步骤,缩短测试计划执行时间。
请参阅图3,实施例二提供了一种业务互斥状态下用例并发执行的系统,包括:
公共业务切点用例封装模块:用于将原用例步骤中的上传三方产品批量文件、执行三方产品批量任务和触发日终任务单独封装在一个公共业务切点用例中,并将该公共业务切点用例作为重排序的一个时间切点;
排序模块:用户将自动化平台用例集合的所有用例步骤在测试计划执行前分析,根据公共业务切点用例和切点属性,自动化平台为每个原用例的所有步骤生成切点属性变化结果,为执行时重新整理执行计划做准备,同时提供至自动化平台前端以给测试人员确认生成结果;
合并执行模块:用于将重新规整所有测试用例步骤执行的顺序,通过线程池并发执行模式进行执行,在时间切点执行前,合并各个用例执行时产生的文件内容。
参阅图4,其中,公共业务切点用例封装模块包括:
模拟执行单元:用于将上传三方产品批量文件、执行三方产品批量任务和触发日终任务单独提出形成一个公共业务切点用例,该公共业务切点用例模拟执行真实线上每日定时任务触发的业务;
公共业务切点用例替换单元:用于将多组原用例中的上传三方产品批量文件、执行三方产品批量任务和触发日终任务三个步骤替换为公共业务切点用例,同时将初始化数据库操作放入测试计划的执行前置;
配置单元:用于在用例的原步骤调整后,测试计划将配置切点用例及切点属性。
其中,合并执行模块包括:
用例合并单元:用于在启动测试计划执行后,自动化平台将所有所选用例模拟实际业务,根据交易日期将步骤中所有公共业务切点用例步骤合并为一步,交易日期则根据切点属性的交易日期参数来确定,并将多组原用例步骤合并为一个执行步骤计划。
其中,用例合并单元包括:
标识子单元:用于在每个原用例被公共业务切点用例截断后,通过用例步骤标识来标示出截断的每部分起始和结束步骤;
用例步骤执行单元:用于执行每个公共业务切点用例对应的一个该切点用例下的执行步骤,优先执行切点用例步骤,再执行切点下的用例步骤;
用例状态确认子单元:用于对每次步骤的起始和结束时用例的执行上下文进行管理,切点用例执行前将未结束用例上下文中的文件变量内容合并,同时处理每个用例的结束状态,来确认已经结束。
其中,切点属性包括步骤执行前的切点属性值、步骤执行后的切点属性值、步骤编号、用例编号和执行目标编号。
本系统通过将公共步骤提取出来放入业务切点用例下,保证了业务切点用例中不可重复执行的步骤只执行一次。通过文件合并的方式,保证批量任务业务数据正确性。通过将同一交易日期的步骤并入一个测试步骤集合,自动化平台测试系统就可并发执行这些步骤,缩短测试计划执行时间。将原来不可并发执行的测试用例并发执行,快速缩短测试计划耗时,该方法适用交易日切换业务的系统的自动化用例并发执行,且适用于自动化流程用例之间存在互斥步骤的系统需求。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。
Claims (8)
1.一种业务互斥状态下的自动用例并发执行方法,其特征在于,包括步骤:
S1:将原用例步骤中的上传三方产品批量文件、执行三方产品批量任务和触发日终任务单独封装在一个公共业务切点用例中,并将该公共业务切点用例作为重排序的一个时间切点;
S2:将自动化平台用例集合的所有用例步骤在测试计划执行前分析,根据公共业务切点用例和切点属性,自动化平台为每个原用例的所有步骤生成切点属性变化结果,为执行时重新整理执行计划做准备,同时提供至自动化平台前端以给测试人员确认生成结果;
S3:将重新规整所有测试用例步骤执行的顺序,通过线程池并发执行模式进行执行,在时间切点执行前,合并各个用例执行时产生的文件内容;
所述切点属性变化结果包括步骤执行前的切点属性值、步骤执行后的切点属性值、步骤编号、用例编号和执行目标编号;
所述步骤执行前的切点属性值默认为Start,当有前置步骤执行时Start将转变为前置步骤执行后的切点属性值;
所述步骤执行后的切点属性值,当调用业务切点用例或调用包含业务切点用例的步骤时所述步骤执行后的切点属性值进行变化;当无调用时则所述步骤执行后的切点属性值保持为所述步骤执行前的切点属性值;
所述执行目标编号,用于表示当前是否对业务切点用例进行了调用。
2.根据权利要求1所述的业务互斥状态下的自动用例并发执行方法,其特征在于,所述步骤S1包括:
S11:将上传三方产品批量文件、执行三方产品批量任务和触发日终任务单独提出形成一个公共业务切点用例,该公共业务切点用例模拟执行真实线上每日定时任务触发的业务;
S12:将多组原用例中的上传三方产品批量文件、执行三方产品批量任务和触发日终任务三个步骤替换为公共业务切点用例,同时将初始化数据库操作放入测试计划的执行前置;
S13:在用例的原步骤调整后,测试计划将配置切点用例及切点属性。
3.根据权利要求2所述的业务互斥状态下的自动用例并发执行方法,其特征在于,所述步骤S3包括:
S31:在启动测试计划执行后,自动化平台将所有所选用例模拟实际业务,根据交易日期将步骤中所有公共业务切点用例步骤合并为一步,交易日期则根据切点属性的交易日期参数来确定,并将多组原用例步骤合并为一个执行步骤计划。
4.根据权利要求3所述的业务互斥状态下的自动用例并发执行方法,其特征在于,所述步骤S31包括:
S311:每个原用例被公共业务切点用例截断后,通过用例步骤标识来标示出截断的每部分起始和结束步骤;
S312:每个公共业务切点用例将对应一个该切点用例下的执行步骤,优先执行切点用例步骤,再执行切点下的用例步骤;
S313:对每次步骤的起始和结束时用例的执行上下文进行管理,切点用例执行前将未结束用例上下文中的文件变量内容合并,同时处理每个用例的结束状态,来确认已经结束。
5.一种业务互斥状态下的自动用例并发执行系统,其特征在于,包括:
公共业务切点用例封装模块:用于将原用例步骤中的上传三方产品批量文件、执行三方产品批量任务和触发日终任务单独封装在一个公共业务切点用例中,并将该公共业务切点用例作为重排序的一个时间切点;
排序模块:用户将自动化平台用例集合的所有用例步骤在测试计划执行前分析,根据公共业务切点用例和切点属性,自动化平台为每个原用例的所有步骤生成切点属性变化结果,为执行时重新整理执行计划做准备,同时提供至自动化平台前端以给测试人员确认生成结果;
合并执行模块:用于将重新规整所有测试用例步骤执行的顺序,通过线程池并发执行模式进行执行,在时间切点执行前,合并各个用例执行时产生的文件内容;
所述切点属性变化结果包括步骤执行前的切点属性值、步骤执行后的切点属性值、步骤编号、用例编号和执行目标编号;
所述步骤执行前的切点属性值默认为Start,当有前置步骤执行时Start将转变为前置步骤执行后的切点属性值;
所述步骤执行后的切点属性值,当调用业务切点用例或调用包含业务切点用例的步骤时所述步骤执行后的切点属性值进行变化;当无调用时则所述步骤执行后的切点属性值保持为所述步骤执行前的切点属性值;
所述执行目标编号,用于表示当前是否对业务切点用例进行了调用。
6.根据权利要求5所述的业务互斥状态下的自动用例并发执行系统,其特征在于,所述公共业务切点用例封装模块包括:
模拟执行单元:用于将上传三方产品批量文件、执行三方产品批量任务和触发日终任务单独提出形成一个公共业务切点用例,该公共业务切点用例模拟执行真实线上每日定时任务触发的业务;
公共业务切点用例替换单元:用于将多组原用例中的上传三方产品批量文件、执行三方产品批量任务和触发日终任务三个步骤替换为公共业务切点用例,同时将初始化数据库操作放入测试计划的执行前置;
配置单元:用于在用例的原步骤调整后,测试计划将配置切点用例及切点属性。
7.根据权利要求6所述的业务互斥状态下的自动用例并发执行系统,其特征在于,所述合并执行模块包括:
用例合并单元:用于在启动测试计划执行后,自动化平台将所有所选用例模拟实际业务,根据交易日期将步骤中所有公共业务切点用例步骤合并为一步,交易日期则根据切点属性的交易日期参数来确定,并将多组原用例步骤合并为一个执行步骤计划。
8.根据权利要求7所述的业务互斥状态下的自动用例并发执行系统,其特征在于,所述用例合并单元包括:
标识子单元:用于在每个原用例被公共业务切点用例截断后,通过用例步骤标识来标示出截断的每部分起始和结束步骤;
用例步骤执行单元:用于执行每个公共业务切点用例对应的一个该切点用例下的执行步骤,优先执行切点用例步骤,再执行切点下的用例步骤;
用例状态确认子单元:用于对每次步骤的起始和结束时用例的执行上下文进行管理,切点用例执行前将未结束用例上下文中的文件变量内容合并,同时处理每个用例的结束状态,来确认已经结束。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311314750.1A CN117076329B (zh) | 2023-10-12 | 2023-10-12 | 一种业务互斥状态下用例并发执行的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311314750.1A CN117076329B (zh) | 2023-10-12 | 2023-10-12 | 一种业务互斥状态下用例并发执行的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117076329A CN117076329A (zh) | 2023-11-17 |
CN117076329B true CN117076329B (zh) | 2024-01-30 |
Family
ID=88713659
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202311314750.1A Active CN117076329B (zh) | 2023-10-12 | 2023-10-12 | 一种业务互斥状态下用例并发执行的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117076329B (zh) |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141753A (zh) * | 2006-09-06 | 2008-03-12 | 中兴通讯股份有限公司 | 一种大话务自动化测试装置及方法 |
CN105373469A (zh) * | 2014-08-25 | 2016-03-02 | 广东金赋信息科技有限公司 | 一种基于接口的软件自动化测试方法 |
CN109992509A (zh) * | 2019-03-22 | 2019-07-09 | 恒生电子股份有限公司 | 测试用例的自动化执行方法、装置、电子设备 |
CN110888818A (zh) * | 2019-12-22 | 2020-03-17 | 普信恒业科技发展(北京)有限公司 | 测试用例配置系统与方法,自动化测试系统与方法 |
CN110928774A (zh) * | 2019-11-07 | 2020-03-27 | 杭州顺网科技股份有限公司 | 一种基于节点式的自动化测试系统 |
CN111459824A (zh) * | 2020-04-01 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 并发服务的测试用例处理方法及装置 |
CN112306845A (zh) * | 2019-07-31 | 2021-02-02 | 腾讯科技(深圳)有限公司 | 一种并发测试方法、装置、设备及介质 |
CN114816969A (zh) * | 2021-01-19 | 2022-07-29 | 腾讯科技(深圳)有限公司 | 测试用例的生成方法、装置、设备及存储介质 |
CN115145826A (zh) * | 2022-07-22 | 2022-10-04 | 厦门市美亚柏科信息股份有限公司 | 一种全流程自动化测试方法和系统 |
CN115454869A (zh) * | 2022-09-21 | 2022-12-09 | 中国平安人寿保险股份有限公司 | 界面自动化测试方法、装置、设备及存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102591754A (zh) * | 2011-01-18 | 2012-07-18 | 智比特信息技术(镇江)有限公司 | 用于由计算机控制的电子产品的自动测试方法 |
-
2023
- 2023-10-12 CN CN202311314750.1A patent/CN117076329B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101141753A (zh) * | 2006-09-06 | 2008-03-12 | 中兴通讯股份有限公司 | 一种大话务自动化测试装置及方法 |
CN105373469A (zh) * | 2014-08-25 | 2016-03-02 | 广东金赋信息科技有限公司 | 一种基于接口的软件自动化测试方法 |
CN109992509A (zh) * | 2019-03-22 | 2019-07-09 | 恒生电子股份有限公司 | 测试用例的自动化执行方法、装置、电子设备 |
CN112306845A (zh) * | 2019-07-31 | 2021-02-02 | 腾讯科技(深圳)有限公司 | 一种并发测试方法、装置、设备及介质 |
CN110928774A (zh) * | 2019-11-07 | 2020-03-27 | 杭州顺网科技股份有限公司 | 一种基于节点式的自动化测试系统 |
CN110888818A (zh) * | 2019-12-22 | 2020-03-17 | 普信恒业科技发展(北京)有限公司 | 测试用例配置系统与方法,自动化测试系统与方法 |
CN111459824A (zh) * | 2020-04-01 | 2020-07-28 | 腾讯科技(深圳)有限公司 | 并发服务的测试用例处理方法及装置 |
CN114816969A (zh) * | 2021-01-19 | 2022-07-29 | 腾讯科技(深圳)有限公司 | 测试用例的生成方法、装置、设备及存储介质 |
CN115145826A (zh) * | 2022-07-22 | 2022-10-04 | 厦门市美亚柏科信息股份有限公司 | 一种全流程自动化测试方法和系统 |
CN115454869A (zh) * | 2022-09-21 | 2022-12-09 | 中国平安人寿保险股份有限公司 | 界面自动化测试方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
Cost Reduction through Combining Test Sequences with Input Data;Benedikt K.等;2012 IEEE Sixth International Conference on Software Security and Reliability Companion;全文 * |
可复用测试用例及其相关支撑管理框架研究;李学相;张文宁;;科技通报(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN117076329A (zh) | 2023-11-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109582301A (zh) | 基于任务调度系统的业务处理方法、装置、设备及介质 | |
CN101174208A (zh) | 一种软件生产线平台的实现方法 | |
CN108509344B (zh) | 日切跑批测试方法、设备及可读存储介质 | |
CN107678942A (zh) | 一种api自动化测试方法 | |
CN107908548A (zh) | 一种生成测试用例的方法和装置 | |
CN113325810B (zh) | 一种自动化数据交互方法 | |
CN110597721A (zh) | 一种基于压力测试脚本的自动化接口压力测试的方法 | |
CN117076329B (zh) | 一种业务互斥状态下用例并发执行的方法及系统 | |
CN111193638A (zh) | 一种基于Linux平台的网卡自动化测试方法及装置 | |
CN107357721B (zh) | 测试系统的方法及装置 | |
CN109885390A (zh) | 分子对接云计算流程控制方法 | |
CN112633731A (zh) | 产品是否合格的检测方法、检测装置、处理器和电子设备 | |
CN113868219A (zh) | 账套数据的迁移方法、装置、电子设备及计算机存储介质 | |
CN104460569A (zh) | 一种用于叶片生产的在制品监控方法 | |
CN105677555B (zh) | 主动式的设备自动化程序的仿真测试方法和系统 | |
CN114202652A (zh) | 一种基于Dish-YOLO的菜品识别方法和系统 | |
CN114416546A (zh) | 一种代码覆盖率确定方法及装置 | |
CN107729136A (zh) | 一种基于fpga的处理优先级配置方法及装置 | |
CN112053132A (zh) | 主机变更方法及装置 | |
CN111897725A (zh) | 中台服务自动化测试方法、介质、设备及系统 | |
CN115687054A (zh) | 基于业务分割还原的自适应测试方法以及装置 | |
CN113225374A (zh) | 自动售检票设备模块软件标准化方法、装置、介质和设备 | |
CN112069054B (zh) | 一种配置需求类端到端配置测试的方法及系统 | |
CN117421255B (zh) | 一种接口的自动巡检方法、装置、设备和存储介质 | |
CN114268535B (zh) | 一种5g切片产品开通方法及装置 |
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 |