通过分析修改代码确定测试范围的方法及装置制造方法及图纸

技术编号:29330403 阅读:16 留言:0更新日期:2021-07-20 17:47
本发明专利技术涉及一种通过分析修改代码确定测试范围的方法及装置,方法包括扫描代码库,从代码库中提取所有的修改信息;分析修改信息得到修改信息的类型,根据类型判断修改项的风险数值,确定风险级别;确定修改信息与测试项列表的映射关系,包括提取修改信息的关键字,根据关键字获取测试点,根据测试点确定待测项列表,结合所述风险级别和待测项列表得到建议测试项。本发明专利技术能够针对不同的项目设置不同的风险策略,并不断的完善,通过提取关键字并形成修改项和待测项的映射关系并不断的补充和修正,可以帮助测试人员主动的去发现测试点,在开发人员如果遗漏了测试范围的给出,可以提升测试人员的代码水平,提高测试人员的竞争力和影响力。

【技术实现步骤摘要】
通过分析修改代码确定测试范围的方法及装置
本专利技术属于代码测试
,具体涉及一种通过分析修改代码确定测试范围的方法及装置。
技术介绍
相关技术中,代码测试的范围主要依靠测试整理的测试用例,回归用例,和开发给出的影响范围进行测试,另外再配合自动化代码,以及代码覆盖率等措施。但是,上述的方法使得测试人员始终比较被动,黑盒方式居多,针对性差、精准性较低,以及主动根据代码的改动去发现测试点的措施较少。
技术实现思路
有鉴于此,本专利技术的目的在于克服现有技术的不足,提供一种通过分析修改代码确定测试范围的方法及装置,以解决现有技术中代码提供测试范围的针对性差、精准性较低的问题。为实现以上目的,本专利技术采用如下技术方案:一种通过分析修改代码确定测试范围的方法,包括:扫描代码库,从所述代码库中提取所有的修改信息;分析所述修改信息得到修改信息的类型,根据所述类型判断修改项的风险数值,确定风险级别;确定所述修改信息与测试项列表的映射关系,包括:提取所述修改信息的关键字,根据所述关键字获取测试点,根据所述测试点确定待测项列表;结合所述风险级别和待测项列表得到建议测试项。进一步的,还包括:定时对所述修改信息与测试项列表的映射关系进行修正。进一步的,所述从所述代码库中提取所有的修改信息,包括:通过git命令从代码库中的commitid文件提取所有的修改信息。进一步的,所述修改信息的类型包括:修改方法、修改代码的类别、修改文件、修改的代码行数、修改人信息及注释。进一步的,所述根据所述类型判断修改项的风险数值,确定风险级别,包括:当所述类型为采用公用方法修改时,确定为高风险;当所述类型为修改代码的类别时,如果修改类别的个数大于预设的个数阈值,则确定为高风险,否则确定为中风险;当所述修改的代码行数大于预设的行数阈值时,则确定为高风险,否则确定为低风险;当修改文件为静态资源文件时,确定为低风险;当修改人信息为新人时,确定为高风险,当修改人信息为资深人员时,确定为低风险。本申请实施例提供一种通过分析修改代码确定测试范围的装置,包括:提取模块,用于扫描代码库,从所述代码库中提取所有的修改信息;分析模块,用于分析所述修改信息得到修改信息的类型,根据所述类型判断修改项的风险数值,确定风险级别;确定模块,用于确定所述修改信息与测试项列表的映射关系,包括:提取所述修改信息的关键字,根据所述关键字获取测试点,根据所述测试点确定待测项列表;结合模块,用于结合所述风险级别和待测项列表得到建议测试项。本专利技术采用以上技术方案,能够达到的有益效果包括:本专利技术提供一种通过分析修改代码确定测试范围的方法及装置,方法包括扫描代码库,从代码库中提取所有的修改信息;分析修改信息得到修改信息的类型,根据类型判断修改项的风险数值,确定风险级别;确定修改信息与测试项列表的映射关系,包括:提取修改信息的关键字,根据关键字获取测试点,根据测试点确定待测项列表。本专利技术能够针对不同的项目设置不同的风险策略,并不断的完善,通过提取关键字并形成修改项和待测项的映射关系并不断的补充和修正,这样可以帮助测试人员主动的去发现测试点,在开发人员如果遗漏了测试范围的给出,测试人员仍可以自发的进行测试点的挖掘,还可以提升测试人员的代码水平,提高测试人员的竞争力和影响力。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术通过分析修改代码确定测试范围的方法的步骤示意图;图2为本专利技术通过分析修改代码确定测试范围的装置的结构示意图。具体实施方式为使本专利技术的目的、技术方案和优点更加清楚,下面将对本专利技术的技术方案进行详细的描述。显然,所描述的实施例仅仅是本专利技术一部分实施例,而不是全部的实施例。基于本专利技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施方式,都属于本专利技术所保护的范围。下面结合附图介绍本申请实施例中提供的一个具体的通过分析修改代码确定测试范围的方法。如图1所示,本申请实施例中提供的通过分析修改代码确定测试范围的方法包括:S101,扫描代码库,从所述代码库中提取所有的修改信息;S102,分析所述修改信息得到修改信息的类型,根据所述类型判断修改项的风险数值,确定风险级别;S103,确定所述修改信息与测试项列表的映射关系,包括:提取所述修改信息的关键字,根据所述关键字获取测试点,根据所述测试点确定待测项列表;S104,结合所述风险级别和待测项列表得到建议测试项。通过分析修改代码确定测试范围的方法的工作原理为:本申请扫描代码库,从代码库中提取所有的修改信息;分析修改信息得到修改信息的类型,根据类型判断修改项的风险数值,确定风险级别;确定修改信息与测试项列表的映射关系,包括提取修改信息的关键字,根据关键字获取测试点,根据测试点确定待测项列表。本申请是一种通过分析开发修改的代码确定所影响的范围,以及调用关系,循环语句,判断条件,异常等,从中提取关键字包括变量名,方法名,类名等信息以及注释。通常可以根据这些名词去分析所影响的范围形成待测项列表,根据所修改文件的类型,修改文件的数量,代码行数,修改人设置风险策略给出预警,给测试人员提供一种可以主动发现测试点和测试范围的方案。在分析数据达到理想情况下可以给出建议测试项。通过本申请提供的技术方案可以更有根据的去发现测试点,还可以借助这种方式去提高测试的代码能力,和开发更多的交流提高影响力。如果因为开发改动代码但是没有评估到影响范围,或者没有通知测试而造成的遗漏,测试人员可以自发的去发现测试点。该方法并非让测试人员去读懂代码,而是分析关键字得到额外的测试范围。一些实施例中,还包括:定时对所述修改信息与测试项列表的映射关系进行修正。可以理解的是,本申请体用的方法除了分析测试风险值以外,更为重要的是从修改的代码或者注释中提取关键字,从而生成待测项列表。例如在电商的项目中,一个开发修改了com.xxx.xxx.order.model包下的OrderCoupon类,那可以分析出待测项是和优惠券相关,从注释中提取/**获取优惠券id@returncoupon_id-优惠券id*/,那测试人员在测试时可以更多的关注在优惠券id的查询,设置,修改等等测试点上。如果修改类com.xxx.xxx.order.dto.OrderPromotionDTO,那测试人员可以得知和订单的促销有关,而且和数据库的交互有关,可以更有针对性的进行测试。如果开发人员没有给出相关的测试范围,测试人员可以更有针对性的提出质疑。再例如开本文档来自技高网...

【技术保护点】
1.一种通过分析修改代码确定测试范围的方法,其特征在于,包括:/n扫描代码库,从所述代码库中提取所有的修改信息;/n分析所述修改信息得到修改信息的类型,根据所述类型判断修改项的风险数值,确定风险级别;/n确定所述修改信息与测试项列表的映射关系,包括:提取所述修改信息的关键字,根据所述关键字获取测试点,根据所述测试点确定待测项列表;/n结合所述风险级别和待测项列表得到建议测试项。/n

【技术特征摘要】
1.一种通过分析修改代码确定测试范围的方法,其特征在于,包括:
扫描代码库,从所述代码库中提取所有的修改信息;
分析所述修改信息得到修改信息的类型,根据所述类型判断修改项的风险数值,确定风险级别;
确定所述修改信息与测试项列表的映射关系,包括:提取所述修改信息的关键字,根据所述关键字获取测试点,根据所述测试点确定待测项列表;
结合所述风险级别和待测项列表得到建议测试项。


2.根据权利要求1所述的方法,其特征在于,还包括:
定时对所述修改信息与测试项列表的映射关系进行修正。


3.根据权利要求1所述的方法,其特征在于,所述从所述代码库中提取所有的修改信息,包括:
通过git命令从代码库中的commitid文件提取所有的修改信息。


4.根据权利要求1所述的方法,其特征在于,所述修改信息的类型包括:
修改方法、修改代码的类别、修改文件、修改的代码行数、修改人信息及注释。


5.根据权利要求4所述的方...

【专利技术属性】
技术研发人员:薛飞
申请(专利权)人:上海中通吉网络技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1