代码测试方法、存储介质、电子设备和装置制造方法及图纸

技术编号:36513140 阅读:19 留言:0更新日期:2023-02-01 15:42
本申请提供了一种代码测试方法、存储介质、电子设备和装置,可应用于互联网程序的高效测试,方法包括:在程序B的第二执行时,根据程序B中方法F1与程序A中对应代码块的相关关系,确定方法F1对应的代码块标识;根据程序B内方法所对应的探针在测试运行过程中执行情况,生成报告P2;所述报告P2根据代码块标识区分程序B内方法的执行情况;程序B与程序A修改后的源码对应。上述方法可以使测试人员分析测试结果的效率更高。果的效率更高。果的效率更高。

【技术实现步骤摘要】
代码测试方法、存储介质、电子设备和装置


[0001]本申请涉及互联网
,具体涉及互联网应用程序开发过程中的代码测试方法、存储介质、电子设备和装置。

技术介绍

[0002]随着互联网云计算技术的发展,对互联网软件开发的效率提出了更高的要求,提高工作效率的前提条件是所有工作成果的质量必须合格,而保证代码开发质量合格的关键就是软件测试。软件测试,描述一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。软件测试同时存在着使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别。现有的软件测试工具已经很多,然而,软件开发并非是一个静态的过程,在开发过程中,软件代码会发生多个版本的修改,开发也是以增量的方式推进。然而,现有的测试工具在测试代码时,只是针对测试目标程序进行测试以及生成测试报告,导致研发人员在看测试报告时,需要重新在修改后的测试目标程序中重新寻找目标代码块,然后根据目标代码块的路径在测试报告中查找对应代码块的执行情况,这导致研发人员如果试图根据第二份测试报告发现或核对代码问题或测试问题,是很费时的。

技术实现思路

[0003]上述
技术实现思路
相关记载仅是本申请技术方案的概述,为了让本领域普通技术人员能够更清楚地了解本申请的技术方案,进而可以依据说明书的文字及附图记载的内容予以实施,并且为了让本申请的上述目的及其它目的、特征和优点能够更易于理解,以下结合本申请的具体实施方式及附图进行说明。
[0004]第一方面,本专利技术提供一种代码测试方法,包括:在程序B的第二执行时,根据程序B中方法F1与程序A中对应代码块的相关关系,确定方法F1对应的代码块标识;根据程序B内方法所对应的探针在测试运行过程中执行情况,生成报告P2;所述报告P2根据代码块标识区分程序B内方法的执行情况;程序B与程序A修改后的源码对应。
[0005]第二方面,本专利技术还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序用于执行前述第一方面所述的代码测试方法的步骤。
[0006]第三方面,本专利技术还提供一种电子设备,包括:处理器、存储介质和总线,所述存储介质存储有所述处理器可执行的机器可读指令,当电子设备运行时,所述处理器与所述存储介质之间通过总线通信,所述处理器执行所述机器可读指令,以执行前述第一方面所述的代码测试方法的步骤。
[0007]第四方面,本专利技术还提供一种代码测试装置,包括:标识确认模块,用于在程序B的第二执行时,根据程序B中方法F1与程序A中对应代
码块的相关关系,确定方法F1对应的代码块标识;报告生成模块,用于根据程序B内方法所对应的探针在测试运行过程中执行情况,生成报告P2;所述报告P2根据代码块标识区分程序B内方法的执行情况;程序B与程序A修改后的源码对应。
[0008]本申请提供了一种测试工具,用于对代码迭代修改后,延续测试任务的可读性。即虽然程序A的代码已经修改了,但本文公开的方案中在第二次测试时,通过识别修改后的代码与修改前的代码的关系,从而对于程序中的同一个方法(版本迭代前后有修改),在第二次测试时仍然尽可能的沿用相同的代码块标识,相比于现有技术每次测试即重新生成一份测试报告,需要依靠路径名查询相应代码块的测试情况,本方案尽可能减少测试工作者或研发人员在看前后两份测试报告时,需要反复比对测试报告时的时间消耗,本申请在第二次测试时尽可能与第一次测试时的报告的内容保持一致,从而在第一次测试代码执行并分析测试报告之后,测试人员或研发人员能够更快的定位第二次测试报告中目标代码块的测试结果。
附图说明
[0009]附图仅用于示出本申请具体实施方式以及其他相关内容的原理、实现方式、应用、特点以及效果等,并不能认为是对本申请的限制。
[0010]在说明书附图中:图1本申请的一个实施例的流程图;图2a本申请的一个实施例中的一段代码修改迭中的原始码示意图;图2b本申请的一个实施例中的一段代码修改迭中的修改后的代码示意图;图3a现有技术中串行的程序控制结构;图3b 现有技术中goto程序控制结构;图3c 现有技术中if控制结构;图3d 现有技术中return控制结构;图4a本申请的一个实施例中对应于图3a的探针插入位置示意图图4b 本申请的一个实施例中对应于图3b的探针插入位置示意图;图4c 本申请的一个实施例中对应于图3c的探针插入位置示意图;图4d 本申请的一个实施例中对应于图3d的探针插入位置示意图;图5a 本申请的一个实施例中的探针插入后的一段程序示意图;图5b 本申请的一个实施例中记录探针执行情况的执行表;图6 本申请对应的一种电子设备。
具体实施方式
[0011]为详细说明本申请可能的应用场景,技术原理,可实施的具体方案,能实现目的与效果等,以下结合所列举的具体实施例并配合附图详予说明。本文所记载的实施例仅用于更加清楚地说明本申请的技术方案,因此只作为示例,而不能以此来限制本申请的保护范围。
[0012]在本文中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中各个位置出现的“实施例”一词并不一定指代相同的实施例,亦不特别限定其与其它实施例之间的独立性或关联性。原则上,在本申请中,只要不存在技术矛盾或冲突,各实施例中所提到的各项技术特征均可以以任意方式进行组合,以形成相应的可实施的技术方案。
[0013]除非另有定义,本文所使用的技术术语的含义与本申请所属
的技术人员通常理解的含义相同;本文中对相关术语的使用只是为了描述具体的实施例,而不是旨在限制本申请。
[0014]在本申请的描述中,用语“和/或”是一种用于描述对象之间逻辑关系的表述,表示可以存在三种关系,例如A和/或B,表示:存在A,存在B,以及同时存在A和B这三种情况。另外,本文中字符“/”一般表示前后关联对象是一种“或”的逻辑关系。
[0015]在本申请中,诸如“第一”和“第二”之类的用语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何实际的数量、主次或顺序等关系。
[0016]在没有更多限制的情况下,在本申请中,语句中所使用的“包括”、“包含”、“具有”或者其他类似的开放式表述,意在涵盖非排他性的包含,这些表述并不排除在包括所述要素的过程、方法或者产品中还可以存在另外的要素,从而使得包括一系列要素的过程、方法或者产品中不仅可以包括那些限定的要素,而且还可以包括没有明确列出的其他要素,或者还包括为这种过程、方法或者产品所固有的要素。
[0017]与《审查指南》中的理解相同,在本申请中,“大于”、“小于”、“超过”等表述理解为不包括本数;“以上”、“以下”、“以内”等表述理解为包括本数。此外,在本申请实施例的描述中“多个”的含义是两个以上(包括两个),与之类似的与“多”相关的表述亦做此类理解,例如“多组”、“多次”等,除非另有明确具体的限定。
[0018]第一方面,如图1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种代码测试方法,其特征在于,包括:在程序B的第二执行时,根据程序B中方法F1与程序A中对应代码块的相关关系,确定方法F1对应的代码块标识;根据程序B内方法所对应的探针在测试运行过程中执行情况,生成报告P2;所述报告P2根据代码块标识区分程序B内方法的执行情况;程序B与程序A修改后的源码对应。2.根据权利要求1所述的方法,其特征在于,所述根据程序B中方法F1与程序A中对应代码块的相关关系,确定方法F1对应的代码块标识包括步骤:根据第一执行时程序A中与方法F1具有相同路径的方法所对应的代码块标识作为程序B中方法F1的代码块标识;若无法根据方法F1的路径确定方法F1的代码块标识码,则查找第二执行时方法F1中的代码字符与第一执行时代码字符的相似度最高的方法F2,确定方法F2的代码块标识作为方法F1的代码块标识码。3.根据权利要求1所述的方法,其特征在于,所述根据程序B内方法所对应的探针在测试运行过程中执行情况,生成报告P2包括步骤:根据程序结构划分最小可运行单元,在程序B中根据最小可运行单元插入探针代码,在程序B测试时,根据探针代码的执行情况,以及根据代码块标识对应的探针关系生成基于方法统计的执行情况表,所述执行情况表用于生成报告P2。4.根据权利要求1所述的方法,其特征在于,所述代码块标识是用于区分不同方法的字符串,代码块标识以方法路径的哈希值作为代码块标识,或代码块标识以方法中的代码的哈希值作为代码块标识。5.根据权利要求1所述的方法,其特征在于,所述代码块标识是用于区分不同方法的字符串,代码块标识以方法路径的MD5作为代码块标识,或以方法的代码的MD5作为代码块标识。6.根据权利要求1所述的方法,其特征在于,包括步骤:在程序A第一执行时,根据方法的路径确定方法所对应的代码块标识;根据程序A内...

【专利技术属性】
技术研发人员:申苏鲁温健
申请(专利权)人:海马云天津信息技术有限公司
类型:发明
国别省市:

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

1