敏捷迭代下基于自动构建的精准测试系统及方法与流程

文档序号:33045130发布日期:2023-01-24 22:19阅读:34来源:国知局
敏捷迭代下基于自动构建的精准测试系统及方法与流程

1.本发明涉及软件测试领域,具体地,涉及一种敏捷迭代下基于自动构建的精准测试系统及方法。


背景技术:

2.目前市面精准测试计数方式主要是通过代码插桩获取到代码执行的覆盖率情况,并且通过代码和案例关联来进行精准覆盖率提高,但是没有考虑:
3.1.案例和代码关联到具体的需求内容,如果一个需求在迭代中大面积变更还是需要进行人工案例筛选而不能基于需求进行管理;
4.2.不能实现迭代中的快速基于代码提交出发调度任务,自动化进行工程构建和测试自动化执行达到快速执行和回归的要求;
5.3.没有详细和明确的给出精准测试在整个测试流程中的角色高效配合方法,在执行中可能出现角色权责不清晰,配合不力的情况。
6.专利文献cn113516333a(申请号:cn202110259269.1)公开了一种基于精准化业务模型的性能测试方法及系统,所述方法包括:步骤10、通过apm提供交易数据,通过定时跑批任务自动获取所述交易数据,按一定的格式存放到文件服务器指定目录路径下;步骤20、将所述交易数据存入数据库;步骤30、提取交易数据中相关系统数据进行可视化展示;步骤40、通过人工筛选日交易高峰时段的建模区间,生成对应的业务模型或通过自动分析规则对交易数据进行分析得到对应的业务模型;步骤50、输出业务模型结果,根据该业务模型的最高交易量评估系统的处理能力,依据该业务模型进行测试模型的精准化构建,执行对应的性能测试流程。但该发明不能实现迭代中的快速基于代码提交出发调度任务。


技术实现要素:

7.针对现有技术中的缺陷,本发明的目的是提供一种敏捷迭代下基于自动构建的精准测试系统及方法。
8.根据本发明提供的一种敏捷迭代下基于自动构建的精准测试系统,包括:
9.测试门户服务模块:进行界面展示及登录认证,进行各模块调度触发,接收输入请求以及向外提供报告;
10.监控服务模块:执行对被测服务进程插桩,读取代码的执行结果生成文件并计算覆盖率,执行代码库同案例库的关联,触发测试管理服务模块;
11.需求管理服务模块:编号存档、需求分类和拆解、责任人分配及需求点同测试案例初步关联,将测试案例入库于测试管理服务模块;
12.测试管理服务模块:管理及执行测试案例,缺陷管理,输出测试数据;
13.被测进程部署服务模块:构建代码自动编译生成,并且搭建虚拟化容器以部署相关被测服务到容器。
14.优选地,在所述测试门户服务模块中:
15.提供ui展示界面及登录认证服务,实现各角色责任人的账户权限管理,测试门户服务模块所有角色用户均能够登录访问;测试门户服务模块当被设置开启自动任务调度之后,通过代码仓库获取到代码变更及关联需求,或者通过测试管理服务模块获取到测试案例变更及关联需求,当同一个需求编号id关联的代码和测试案例都完成后便会自动触发被测进程部署服务模块的代码自动构建和部署,测试门户服务模块收到被测进程部署服务模块的自动构建和部署的完成状态后,会再自动触发启动监控服务模块的代码插桩,敏捷迭代下会存在代码或者案例单独更新的情况,案例或代码任一个状态更新且满足更新后两个都为完成状态时会自动触发服务调度;
16.测试门户服务模块提供需求及设计文稿导入的入口,需求导入后会被测试门户服务模块传输到需求管理服务模块进行下一步分析和处理,相关的任务部署调整和取消也能够通过接收输入请求的功能实现;
17.测试门户服务模块调用测试管理服务模块和监控服务模块的数据,从而生成完整的测试执行结果和测试执行覆盖率的报告,测试门户服务模块由设置筛选项目去掉不用计算覆盖率的代码内容,从而调整执行覆盖率的最终结果。
18.优选地,在所述监控服务模块中:
19.监控服务模块接收到测试门户服务模块的自动服务调度触发,从而触发对被测进程部署服务模块的进程插桩,插桩通过在被测试服务器的进程中启动探针技术的方式获取服务进程中代码被调用和执行的情况;
20.读取代码的执行结果生成文件并计算覆盖率,监控服务模块将插桩获取到的代码执行情况从被测服务中获取出来生成代码执行记录文件,监控服务模块再将这个代码执行记录文件同代码库中获取的代码做比较标记,得到测试执行覆盖率,此执行覆盖率结果由测试门户服务模块设置筛选项目去掉不用计算覆盖率的内容;在敏捷迭代中每次代码的执行覆盖率设置为只计算同上个版本的变更代码部分的覆盖率或者全部代码的覆盖率;
21.监控服务模块在案例执行的过程中,通过测试管理服务模块获取到案例执行的时间及监控服务模块中代码插桩被执行的时间,进行逐条案例和代码的关联,并将案例、代码及代码责任人关联情况记录到测试管理服务模块中,并在测试门户服务模块中对需求编号id的初步绑定的状态变为更为精准的绑定状态,有更为精准的绑定状态标记的内容则能够在后续代码变更后自动触发案例执行。
22.优选地,在所述需求管理服务模块中:
23.业务人员通过测试门户服务模块导入内容后,内容包括相关的需求及设计文稿,相关需求就会被测试门户服务模块导入需求管理服务模块中;需求管理服务模块对应产生相应的需求编号id,测试人员和开发人员对此需求进行分析和拆解,划分为更细的开发和测试需求小点并绑定相关责任人员;需求编号id回传到测试门户服务模块,当代码开发提交及测试案例提交的时候,测试门户服务模块获取到提交状态并通过需求编号id对案例和代码进行了初步绑定。
24.优选地,在所述测试管理服务模块模块中:
25.从需求管理服务模块同步到需求编号id及拆分的更细的测试需求小点,测试人员编写案例的时候将案例同需求编号id进行初步绑定,案例编写完成后,完成状态同步到测试门户服务模块,监控服务模块获取到构建状态变化,进行自动化执行对应初步绑定的案
例,在初步绑定的案例执行完成后,获取到监控服务模块同步的执行情况及案例、代码及代码责任人关联情况,测试管理服务模块做相关状态和责任人记录,同步信息给测试门户服务模块将对应需求编号id的初步绑定的状态变为更为精准的绑定状态;所有案例执行完成将测试所有数据同步到测试门户服务模块,测试门户服务模块输出测试报告。
26.优选地,在所述被测进程部署服务模块模块中:
27.通过虚拟云化的方式支持不同的集中或者分布式部署,并且支持动态扩容;获取到测试门户服务模块的构建触发后,被测进程部署服务模块拉取代码进行自动编译构建工程,构建完成后自动进行服务部署;测试管理服务模块执行案例的操作作用在被测进程部署服务模块中的被测试进程上;监控服务模块的插桩操作执行在被测进程部署服务模块中的被测试进程上,相关的结果传回到监控服务模块。
28.根据本发明提供的一种敏捷迭代下基于自动构建的精准测试方法,采用所述的敏捷迭代下基于自动构建的精准测试系统,执行包括:
29.步骤s1:测试门户服务模块触发被测进程部署服务模块自动编译构建,进程部署,完成技术集成测试;
30.步骤s2:进行验收测试,在测试管理服务模块模块获取自动化测试案例执行;
31.步骤s3:对于线上的情况进行监控,进行生产上线维护及优化。
32.优选地,在所述步骤s1中:
33.步骤s1.1:业务人员通过测试门户服务模块提出需求并向具体负责需求内容的开发人员及测试人员进行需求澄清;开发人员及测试人员通过测试门户服务模块登入需求管理服务模块进行需求拆解和工作细分;
34.步骤s1.2:开发人员进行产品开发代码编写提交代码仓库;测试人员进行案例编写并邀请开发人员及业务人员进行案例评审;
35.步骤s1.3:开发项目经理在代码仓库拉出sit代码分支,在测试门户服务模块开启自动任务调度并且对开发人员提交内容进行代码检视之后合入分支;测试人员在测试管理服务模块完成测试案例编写并提交;
36.步骤s1.4:测试门户服务模块获取到开发代码合入及测试案例提交信息后触发被测进程部署服务模块自动编译构建,进程部署,以及触发监控服务模块测试监控启动,确认完成上述部署和启动后,触发测试管理服务模块自动化测试案例执行,测试经理对以上内容进行确认;
37.步骤s1.5:测试人员在测试管理服务模块监控自动化测试案例执行进行缺陷发掘和提交,若果有缺陷则开发人员进行代码修复重新提交开发项目经理进行代码检视合入sit分支,触发自动编译构建,进程部署,以及触发测试自动进行执行;若最终没有缺陷,则得到在测试门户服务模块完整的测试结果及执行覆盖率结果,开发人员同步在测试门户服务模块提交不用计算覆盖率的内容,得到最终完整的sit阶段执行覆盖率结果;
38.步骤s1.6:测试经理在测试门户服务模块获取到完整的测试执行覆盖率结果以及代码同测试案例具体关联的情况;若有未覆盖内容则召集相关测试人员进行测试设计分析,重新设计未覆盖内容案例,重复步骤s1.4的内容;若无未覆盖内容,则得出完整测试准出结论。
39.优选地,在所述步骤s2中:
40.步骤s2.1:开发项目经理收到测试经理的uat准入结论后,根据最终测试sit分支代码在代码仓库拉出uat分支;同时测试人员在测试管理服务模块建立uat的案例库将待测试案例导入;
41.步骤s2.2:测试门户服务模块获取到开发代码合入及测试案例提交信息后触发被测进程部署服务模块自动编译构建,进程部署,以及触发监控服务模块测试监控启动,确认完成上述部署和启动后,触发测试管理服务模块自动化测试案例执行,测试经理对以上内容进行确认;
42.步骤s2.3:业务人员加入进行项目验收测试,同时测试人员在测试管理服务模块获取自动化测试案例执行,及配合业务人员进行案例优化改造,进行缺陷发掘和提交;若果有需求变化或者修改则开发人员进行代码变更或者修复重新提交开发项目经理进行代码检视合入uat分支,测试人员在测试管理服务模块完成测试案例编写并提交,触发自动编译构建,进程部署,以及触发测试自动进行执行;
43.步骤s2.4:测试经理确认最终执行结果,确认最终没有缺陷,则得到在测试门户服务模块完整的测试结果及执行覆盖率结果,开发人员同步在测试门户服务模块提交不用计算覆盖率的内容,得到最终完整的uat阶段执行覆盖率结果。
44.优选地,在所述步骤s3中:
45.步骤s3.1:测试经理发布测试结论召集开发项目经理及业务人员进行版本下发生产评审,评审通过后则开发项目经理根据最终测试uat分支代码在代码仓库合入master分支,进行生产环境下发;
46.步骤s3.2:业务人员对于线上的情况进行监控,收集用户反馈的问题并提交给测试人员;
47.步骤s3.3:测试人员在被测进程部署服务模块中进行问题复现及并提交缺陷给开发人员,开发人员同测试人员一起配合修复问题,并且进行测试案例优化和测试案例提交;
48.步骤s3.4:开发项目经理对开发人员提交内容进行代码检视之后合入uat分支;
49.步骤s3.5:测试经理确认测试门户服务模块获取开发代码合入及测试案例提交信息后触发被测进程部署服务模块自动编译构建,进程部署,以及触发监控服务模块测试监控启动,确认完成上述部署和启动后,触发测试管理服务模块自动化测试案例执行;
50.步骤s3.6:测试经理确认最终执行结果,确认最终没有缺陷,则得到在测试门户服务模块完整的测试结果及执行覆盖率结果,确认修复验证情况,提交业务人员及开发项目经理进行评审;
51.步骤s3.7:测试经理同测试人员共同分析改进测试案例测试方案。
52.与现有技术相比,本发明具有如下的有益效果:
53.1、本发明将当前的需求管理事务、测试案例编写和执行的事务、基于代码监控达成精准测试的事务以及自动化构建和测试的事务整合为一个精准测试系统;
54.2、本发明中案例同代码进行了2次关联第一次通过需求管理将需求id、测试案例、代码进行一级关联,可以进行需求级的自动化执行和回归;第二次通过测试执行过程中插桩监控与执行记录匹配完成了测试案例与代码的二级关联,可以执行代码级的自动化执行和回归;
55.3、本发明提出了一整套测试流程方案,明确了各个责任人职责和行动规范,以助
于本系统下各人员达成高效配合。
附图说明
56.通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
57.图1为精准测试系统框图;
58.图2为精准测试流程方法框图。
具体实施方式
59.下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
60.实施例1:
61.针对现有技术中的缺陷,本发明的目的是提出一套将需求管理事务、测试案例编写和执行事务、基于代码监控达成精准测试的事物以及自动化构建和测试的一个精准测试系统。
62.根据本发明提供的系统及执行流程,明确了系统协调工作的方法,各个子系统的功能,及在流程中各个角色职责及每个阶段的具体工作内容、关键输出产物及进入不同阶段的准入条件。
63.将当前的需求管理事务、测试案例编写和执行的事务、基于代码监控达成精准测试的事务以及自动化构建和测试的事务整合为一个精准测试系统。本系统由如下几个服务构成,精准测试门户服务(precise-testing protal service:ptps)、精准监控服务(precise-testing monitor service:ptms)、需求管理服务(requirement management service:rms)、测试管理服务(testing management service:tms)、被测进程部署服务(process deployment service:pds),同时关联代码仓库(database of code)。精准测试门户服务(ptps)提供ui展示界面及登录认证服务,进行各项服务调度触发,接收输入请求以及向外提供报告。精准监控服务(ptms)执行对被测服务进程插桩,读取代码的执行结果生成文件并计算覆盖率,执行代码库同案例库的关联。需求管理服务(rms)提供编号存档、需求分类和拆解、责任人分配及需求点同测试案例初步关联的功能。测试管理服务(testing management service:tms),提供案例管理及自动化案例执行,缺陷管理,输出测试数据功能。被测进程部署服务(pds)提供代码自动编译生成的构建服务,并且搭建虚拟化容器提供部署相关被测服务到容器的服务。
64.对于这套系统的执行流程明确了参与角色的职责、在每个阶段的具体工作内容、各角色协同配合的方式、关键的输出产物和进入一下阶段的条件等,以上内容共同形成了一套基于本系统开展工作的方法。其中关键角色有业务人员(pm)、开发项目经理(rd manager)、开发人员(rd)、测试经理(te manager)、测试人员(te)。业务人员(pm)在本系统中主要职责是规划需求方案提交系统、参与案例评审、执行业务验收测试、跟踪线上问题。开发项目经理(rd manager)在本系统主要职责是进行分支管理、控制代码合入、分支拉取、
构建部署后的确认和以及最终生产下发。开发人员(rd)在本系统中主要职责是明确需求并按照开发点拆分需求、完成开发任务、提交代码以及缺陷修复、提交免测试覆盖内容点、配合对代码覆盖率结果进行分析。测试经理(te manager)在本系统的主要职责是进行监控任务部署管理,主导和发起代码覆盖率分析,主导监控工具使用情况分析和改进。测试人员(te)在本系统的主要职责是需求确认,案例编写优化、技术测试执行、主责对应模块的覆盖率分析、线上问题分析。系统方法所包含流程的阶段分为系统集成测试(system integration testing:sit)阶段、用户验收测试(user acceptance test:uat)阶段、生产上线维护及优化阶段(distribution and maintenance:dam)。
65.根据本发明提供的一种敏捷迭代下基于自动构建的精准测试系统,如图1-图2所示,包括:
66.测试门户服务模块:进行界面展示及登录认证,进行各模块调度触发,接收输入请求以及向外提供报告;
67.具体地,在所述测试门户服务模块中:
68.提供ui展示界面及登录认证服务,实现各角色责任人的账户权限管理,测试门户服务模块所有角色用户均能够登录访问;测试门户服务模块当被设置开启自动任务调度之后,通过代码仓库获取到代码变更及关联需求,或者通过测试管理服务模块获取到测试案例变更及关联需求,当同一个需求编号id关联的代码和测试案例都完成后便会自动触发被测进程部署服务模块的代码自动构建和部署,测试门户服务模块收到被测进程部署服务模块的自动构建和部署的完成状态后,会再自动触发启动监控服务模块的代码插桩,敏捷迭代下会存在代码或者案例单独更新的情况,案例或代码任一个状态更新且满足更新后两个都为完成状态时会自动触发服务调度;
69.测试门户服务模块提供需求及设计文稿导入的入口,需求导入后会被测试门户服务模块传输到需求管理服务模块进行下一步分析和处理,相关的任务部署调整和取消也能够通过接收输入请求的功能实现;
70.测试门户服务模块调用测试管理服务模块和监控服务模块的数据,从而生成完整的测试执行结果和测试执行覆盖率的报告,测试门户服务模块由设置筛选项目去掉不用计算覆盖率的代码内容,从而调整执行覆盖率的最终结果。
71.监控服务模块:执行对被测服务进程插桩,读取代码的执行结果生成文件并计算覆盖率,执行代码库同案例库的关联,触发测试管理服务模块;
72.具体地,在所述监控服务模块中:
73.监控服务模块接收到测试门户服务模块的自动服务调度触发,从而触发对被测进程部署服务模块的进程插桩,插桩通过在被测试服务器的进程中启动探针技术的方式获取服务进程中代码被调用和执行的情况;
74.读取代码的执行结果生成文件并计算覆盖率,监控服务模块将插桩获取到的代码执行情况从被测服务中获取出来生成代码执行记录文件,监控服务模块再将这个代码执行记录文件同代码库中获取的代码做比较标记,得到测试执行覆盖率,此执行覆盖率结果由测试门户服务模块设置筛选项目去掉不用计算覆盖率的内容;在敏捷迭代中每次代码的执行覆盖率设置为只计算同上个版本的变更代码部分的覆盖率或者全部代码的覆盖率;
75.监控服务模块在案例执行的过程中,通过测试管理服务模块获取到案例执行的时
间及监控服务模块中代码插桩被执行的时间,进行精准的逐条案例和代码的关联,并将案例、代码及代码责任人关联情况记录到测试管理服务模块中,并在测试门户服务模块中对需求编号id的初步绑定的状态变为精准绑定,有精准绑定标记的内容则能够在后续代码变更后自动触发案例执行。
76.需求管理服务模块:编号存档、需求分类和拆解、责任人分配及需求点同测试案例初步关联,将测试案例入库于测试管理服务模块;
77.具体地,在所述需求管理服务模块中:
78.业务人员通过测试门户服务模块导入内容后,内容包括相关的需求及设计文稿,相关需求就会被测试门户服务模块导入需求管理服务模块中;需求管理服务模块对应产生相应的需求编号id,测试人员和开发人员对此需求进行分析和拆解,划分为更细的开发和测试需求小点并绑定相关责任人员;需求编号id回传到测试门户服务模块,当代码开发提交及测试案例提交的时候,测试门户服务模块获取到提交状态并通过需求编号id对案例和代码进行了初步绑定。
79.测试管理服务模块:管理及执行测试案例,缺陷管理,输出测试数据;
80.具体地,在所述测试管理服务模块模块中:
81.从需求管理服务模块同步到需求编号id及拆分的更细的测试需求小点,测试人员编写案例的时候将案例同需求编号id进行初步绑定,案例编写完成后,完成状态同步到测试门户服务模块,监控服务模块获取到构建状态变化,进行自动化执行对应初步绑定的案例,在初步绑定的案例执行完成后,获取到监控服务模块同步的执行情况及案例、代码及代码责任人关联情况,测试管理服务模块做相关状态和责任人记录,同步信息给测试门户服务模块将对应需求编号id的初步绑定的状态变为精准绑定;所有案例执行完成将测试所有数据同步到测试门户服务模块,测试门户服务模块输出测试报告。
82.被测进程部署服务模块:构建代码自动编译生成,并且搭建虚拟化容器以部署相关被测服务到容器。
83.具体地,在所述被测进程部署服务模块模块中:
84.通过虚拟云化的方式支持不同的集中或者分布式部署,并且支持动态扩容;获取到测试门户服务模块的构建触发后,被测进程部署服务模块拉取代码进行自动编译构建工程,构建完成后自动进行服务部署;测试管理服务模块执行案例的操作作用在被测进程部署服务模块中的被测试进程上;监控服务模块的插桩操作执行在被测进程部署服务模块中的被测试进程上,相关的结果传回到监控服务模块。
85.根据本发明提供的一种敏捷迭代下基于自动构建的精准测试方法,采用所述的敏捷迭代下基于自动构建的精准测试系统,执行包括:
86.步骤s1:测试门户服务模块触发被测进程部署服务模块自动编译构建,进程部署,完成技术集成测试;
87.具体地,在所述步骤s1中:
88.步骤s1.1:业务人员通过测试门户服务模块提出需求并向具体负责需求内容的开发人员及测试人员进行需求澄清;开发人员及测试人员通过测试门户服务模块登入需求管理服务模块进行需求拆解和工作细分;
89.步骤s1.2:开发人员进行产品开发代码编写提交代码仓库;测试人员进行案例编
写并邀请开发人员及业务人员进行案例评审;
90.步骤s1.3:开发项目经理在代码仓库拉出sit代码分支,在测试门户服务模块开启自动任务调度并且对开发人员提交内容进行代码检视之后合入分支;测试人员在测试管理服务模块完成测试案例编写并提交;
91.步骤s1.4:测试门户服务模块获取到开发代码合入及测试案例提交信息后触发被测进程部署服务模块自动编译构建,进程部署,以及触发监控服务模块测试监控启动,确认完成上述部署和启动后,触发测试管理服务模块自动化测试案例执行,测试经理对以上内容进行确认;
92.步骤s1.5:测试人员在测试管理服务模块监控自动化测试案例执行进行缺陷发掘和提交,若果有缺陷则开发人员进行代码修复重新提交开发项目经理进行代码检视合入sit分支,触发自动编译构建,进程部署,以及触发精准测试自动进行执行;若最终没有缺陷,则得到在测试门户服务模块完整的测试结果及执行覆盖率结果,开发人员同步在测试门户服务模块提交不用计算覆盖率的内容,得到最终完整的sit阶段执行覆盖率结果;
93.步骤s1.6:测试经理在测试门户服务模块获取到完整的测试执行覆盖率结果以及代码同测试案例具体关联的情况;若有未覆盖内容则召集相关测试人员进行测试设计分析,重新设计未覆盖内容案例,重复步骤s1.4的内容;若无未覆盖内容,则得出完整测试准出结论。
94.步骤s2:进行验收测试,在测试管理服务模块模块获取自动化测试案例执行;
95.具体地,在所述步骤s2中:
96.步骤s2.1:开发项目经理收到测试经理的uat准入结论后,根据最终测试sit分支代码在代码仓库拉出uat分支;同时测试人员在测试管理服务模块建立uat的案例库将待测试案例导入;
97.步骤s2.2:测试门户服务模块获取到开发代码合入及测试案例提交信息后触发被测进程部署服务模块自动编译构建,进程部署,以及触发监控服务模块测试监控启动,确认完成上述部署和启动后,触发测试管理服务模块自动化测试案例执行,测试经理对以上内容进行确认;
98.步骤s2.3:业务人员加入进行项目验收测试,同时测试人员在测试管理服务模块获取自动化测试案例执行,及配合业务人员进行案例优化改造,进行缺陷发掘和提交;若果有需求变化或者修改则开发人员进行代码变更或者修复重新提交开发项目经理进行代码检视合入uat分支,测试人员在测试管理服务模块完成测试案例编写并提交,触发自动编译构建,进程部署,以及触发精准测试自动进行执行;
99.步骤s2.4:测试经理确认最终执行结果,确认最终没有缺陷,则得到在测试门户服务模块完整的测试结果及执行覆盖率结果,开发人员同步在测试门户服务模块提交不用计算覆盖率的内容,得到最终完整的uat阶段执行覆盖率结果。
100.步骤s3:对于线上的情况进行监控,进行生产上线维护及优化。
101.具体地,在所述步骤s3中:
102.步骤s3.1:测试经理发布测试结论召集开发项目经理及业务人员进行版本下发生产评审,评审通过后则开发项目经理根据最终测试uat分支代码在代码仓库合入master分支,进行生产环境下发;
103.步骤s3.2:业务人员对于线上的情况进行监控,收集用户反馈的问题并提交给测试人员;
104.步骤s3.3:测试人员在被测进程部署服务模块中进行问题复现及并提交缺陷给开发人员,开发人员同测试人员一起配合修复问题,并且进行测试案例优化和测试案例提交;
105.步骤s3.4:开发项目经理对开发人员提交内容进行代码检视之后合入uat分支;
106.步骤s3.5:测试经理确认测试门户服务模块获取开发代码合入及测试案例提交信息后触发被测进程部署服务模块自动编译构建,进程部署,以及触发监控服务模块测试监控启动,确认完成上述部署和启动后,触发测试管理服务模块自动化测试案例执行;
107.步骤s3.6:测试经理确认最终执行结果,确认最终没有缺陷,则得到在测试门户服务模块完整的测试结果及执行覆盖率结果,确认修复验证情况,提交业务人员及开发项目经理进行评审;
108.步骤s3.7:测试经理同测试人员共同分析改进测试案例测试方案。
109.实施例2:
110.实施例2为实施例1的优选例,以更为具体地对本发明进行说明。
111.一种敏捷迭代下基于自动构建的精准测试系统,包括:
112.精准测试门户服务(ptps),是本系统的展示入口和相关任务调度的控制服务,也是本系统的核心服务单元。提供ui展示界面及登录认证服务,实现各角色责任人的账户权限管理,精准测试门户系统所有角色用户均可登录访问;服务调度触发,精准测试门户服务(ptps)当被设置开启自动任务调度之后(开发项目经理(rd manager)有此权限),便可以通过代码仓库获取到代码变更及关联需求,也可以通过测试管理服务(tms)获取到测试案例变更及关联需求,当同一个需求编号id关联的代码和测试案例都完成后便会自动触发被测进程部署服务(pds)的代码自动构建和部署,精准测试门户服务(ptps)收到被测进程部署服务(dps)的自动构建和部署的完成状态后,会再自动触发启动精准监控服务(ptms)的代码插桩,敏捷迭代下会存在代码或者案例单独更新的情况,案例或代码任一个状态更新且满足更新后两个都为完成状态时会自动触发服务调度。接收输入请求,精准测试门户服务(ptps)提供需求及设计文稿导入的入口(此功能仅业务人员角色可以使用),需求导入后会被精准测试门户服务(ptps)传输到需求管理服务(rms)进行下一步的分析和处理,相关的任务部署调整和取消(项目开发经理和测试经理有此权限)也可以通过接收输入请求的功能实现;向外提供报告,精准测试门户服务(ptps)可以调用测试管理服务(tms)和精准监控服务(pdms)的数据,从而生成完整的测试执行结果和测试执行覆盖率的报告(所有角色均有此查看权限),精准测试门户服务(ptps)可以由设置筛选项目去掉不用计算覆盖率的代码内容(例如一些未完全提测或者有已知缺陷不用测试的内容),从而调整执行覆盖率的最终结果(此功能除了业务人员其余人员均有权限)。
113.精准监控服务(pdms),是执行对被测服务进程插桩,拉取测试执行覆盖结果以及计算覆盖率,执行代码库同案例库精准关联的服务,是本系统的重点服务单元。精准监控服务(pdms)可以接收到精准测试门户服务(ptps)的自动服务调度触发,从而触发对被测进程部署服务(pds)的进程插桩,插桩通过在被测试服务器的进程中启动探针技术的方式获取服务进程中代码被调用和执行的情况。读取代码的执行结果生成文件并计算覆盖率,精准监控服务(pdms)将插桩获取到的代码执行情况从被测服务中获取出来生成代码执行记录
文件,精准监控服务(pdms)再将这个代码执行记录文件同代码库中获取的代码做比较标记,可以得到测试执行覆盖率,此执行覆盖率结果可以由精准测试门户服务(ptps)设置筛选项目去掉不用计算覆盖率的内容(开发人员rd、测试人员te、开发项目经理rd manager、测试经理te manager均有此权限)。在敏捷迭代中每次代码的执行覆盖率可以设置为只计算同上个版本的变更代码部分的覆盖率或者全部代码的覆盖率(测试经理有此权限)。精准监控服务(pdms)在案例执行的过程中,通过测试管理服务(tms)获取到案例执行的时间及精准监控服务(pdms)率中代码插桩被执行的时间,进行精准的逐条案例和代码的关联(可以多对多关联),并将案例、代码及代码责任人关联情况记录到测试管理服务(tms)中,并在精准测试门户服务(ptps)中对需求编号id的初步绑定的状态变为精准绑定,有精准绑定标记的内容则可以在后续代码变更后自动触发案例执行。
114.需求管理服务(rms),提供编号及存档、需求分类和拆解、责任人分配及需求点同测试案例关联的功能。业务人员(pm)通过精准测试门户服务(ptps)导入相关的需求及设计文稿等内容后,相关需求就会被精准测试门户服务(ptps)导入需求管理服务(rms)中。需求管理服务(rms)会对应产生相应的需求编号id,测试人员和开发人员对此需求进行分析和拆解,可以划分为更细的开发和测试需求小点并绑定相关责任人员。需求编号id回传到精准测试门户服务(ptps),当代码开发提交及测试案例提交的时候精准测试门户服务(ptps)获取到提交状态并通过需求编号id对案例和代码进行了初步绑定。
115.测试管理服务(testing management service:tms)提供案例管理及自动化案例执行,缺陷管理,输出测试数据功能。从求管理服务(rms)可以同步到需求编号id及拆分的更细的测试需求小点,测试人员编写案例的时候可以将案例同需求编号id进行初步绑定。案例编写完成后,完成状态会同步到精准测试门户服务(ptps)。精准监控服务(pdms)获取到构建状态变化的时候,可以进行自动化执行对应初步绑定的案例,在初步绑定的案例执行完成后,获取到精准监控服务(pdms)同步过来的执行情况及案例、代码及代码责任人关联情况,测试管理服务(tms)做相关状态和责任人记录,同步信息给到精准测试门户服务(ptps)将对应需求编号id的初步绑定的状态变为精准绑定。状需求所有案例执行完成将测试所有数据同步到精准测试门户服务(ptps),支撑精准测试门户服务(ptps)输出测试报告。
116.被测进程部署服务(pds)提供代码自动编译生成的构建服务,并且搭建虚拟化容器提供部署相关被测服务到容器的服务。并且通过虚拟云化的方式支持不同的集中或者分布式部署,并且支持动态扩容。获取到精准测试门户服务(ptps)的构建触发后,被测进程部署服务(pds)拉取代码进行自动编译构建工程,构建完成后自动进行服务部署。测试管理服务(tms)执行案例的操作会作用在被测进程部署服务(pds)中的被测试进程上。精准监控服务(pdms)的插桩操作也执行在被测进程部署服务(pds)中的被测试进程上,并且相关的结果也会被传回到精准监控服务(pdms)。
117.一套基于本系统开展工作的流程方法如下:
118.步骤1:技术集成测试(sit)
119.步骤1.1:业务人员(pm)通过精准测试门户服务(ptps)提出需求并向具体负责需求内容的开发人员(rd)及测试人员(te)进行需求澄清。开发人员(rd)及测试人员(te)通过精准测试门户服务(ptps)行登入需求管理服务(rms)进行需求拆解和工作细分
120.步骤1.2:开发人员(rd)进行产品开发代码编写提交代码仓库(database of code);测试人员(te)进行案例编写并邀请开发人员(rd)及业务人员(pm)进行案例评审
121.步骤1.3:开发项目经理(rd manager)在代码仓库(dbc)拉出sit代码分支,在精准测试门户服务(ptps)开启自动任务调度并且对开发人员提交内容进行代码检视(code review)之后合入分支。测试人员在测试管理服务(tms)完成测试案例编写并提交。
122.步骤1.4:精准测试门户服务(ptps)获取到开发代码合入及测试案例提交信息后触发被测进程部署服务(pds)自动编译构建,进程部署,以及触发精准监控服务(pdms)精准测试监控启动,确认完成上述部署和启动后,触发测试管理服务(tms)自动化测试案例执行。测试经理(te manager)对以上内容进行确认。
123.步骤1.5:测试人员在测试管理服务(tms)监控自动化测试案例执行进行缺陷发掘和提交,若果有缺陷则开发人员(rd)进行代码修复重新提交开发项目经理(rd manager)进行代码检视合入sit分支,触发自动编译构建,进程部署,以及触发精准测试自动进行执行;若最终没有缺陷,则可以得到在精准测试门户服务(ptps)完整的测试结果及执行覆盖率结果,开发人员可同步在精准测试门户服务(ptps)提交不用计算覆盖率的内容,得到最终完整的sit阶段执行覆盖率结果。
124.步骤1.6:测试经理(te manager)在精准测试门户服务(ptps)获取到完整的测试执行覆盖率结果以及代码同测试案例具体关联的情况;若有未覆盖内容则召集相关测试人员进行测试设计分析,重新设计未覆盖内容案例,重复步骤1.4的内容。若无未覆盖内容,则得出完整测试准出结论,可以进入下一个用户验收测试阶段uat。
125.步骤2:用户验收测试(uat)
126.步骤2.1:开发项目经理(rd manager)收到测试经理(te manager)的uat准入结论后,则根据最终测试sit分支代码在代码仓库(dbc)拉出uat分支;同时测试人员在测试管理服务(tms)建立uat的案例库将待测试案例导入。
127.步骤2.2:精准测试门户服务(ptps)获取到开发代码合入及测试案例提交信息后触发被测进程部署服务(pds)自动编译构建,进程部署,以及触发精准监控服务(pdms)精准测试监控启动,确认完成上述部署和启动后,触发测试管理服务(tms)自动化测试案例执行。测试经理(te manager)对以上内容进行确认。
128.步骤2.3:业务人员(pm)加入进行项目验收测试,同时测试人员在测试管理服务(tms)获取自动化测试案例执行,及配合业务人员进行案例优化改造,进行缺陷发掘和提交。若果有需求变化或者修改则开发人员(rd)进行代码变更或者修复重新提交开发项目经理(rd manager)进行代码检视合入uat分支,测试人员在测试管理服务(tms)完成测试案例编写并提交,触发自动编译构建,进程部署,以及触发精准测试自动进行执行;
129.步骤2.4:测试经理确认最终执行结果。确认最终没有缺陷,则可以得到在精准测试门户服务(ptps)完整的测试结果及执行覆盖率结果,开发人员可同步在精准测试门户服务(ptps)提交不用计算覆盖率的内容,得到最终完整的uat阶段执行覆盖率结果。
130.步骤3:生产上线维护及优化阶段(dam):
131.步骤3.1:测试经理(te manager)发布测试结论召集开发项目经理(rd manager)及业务人员(pm)进行版本下发生产评审。评审通过后则开发项目经理(rd manager)根据最终测试uat分支代码在代码仓库(dbc)合入master分支(主分支),进行生产环境下发。
132.步骤3.2:业务人员(pm)对于线上的情况进行监控,收集用户反馈的问题并提交给测试人员(te);
133.步骤3.3:测试人员(te)在被测进程部署服务(pds)中进行问题复现及并提交缺陷给到开发人员,开发人员同测试人员一起配合修复问题,并且进行测试案例优化和测试案例提交。
134.步骤3.4:开发项目经理(rd manager)对开发人员提交内容进行代码检视(code review)之后合入uat分支。
135.步骤3.5:测试经理(te manager)确认精准测试门户服务(ptps)获取到开发代码合入及测试案例提交信息后触发被测进程部署服务(pds)自动编译构建,进程部署,以及触发精准监控服务(pdms)精准测试监控启动,确认完成上述部署和启动后,触发测试管理服务(tms)自动化测试案例执行。
136.步骤3.6:测试经理(te manager)确认最终执行结果。确认最终没有缺陷,则可以得到在精准测试门户服务(ptps)完整的测试结果及执行覆盖率结果,确认修复验证情况,提交业务人员(pm)及开发项目经理(rd manager)进行评审。
137.步骤3.7:测试经理(te manager)同测试人员(te)共同分析改进测试案例测试方案。
138.本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
139.以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本技术的实施例和实施例中的特征可以任意相互组合。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1