CN118035114A - 测试用例库维护方法、电子设备、存储介质及程序产品 - Google Patents
测试用例库维护方法、电子设备、存储介质及程序产品 Download PDFInfo
- Publication number
- CN118035114A CN118035114A CN202410281884.6A CN202410281884A CN118035114A CN 118035114 A CN118035114 A CN 118035114A CN 202410281884 A CN202410281884 A CN 202410281884A CN 118035114 A CN118035114 A CN 118035114A
- Authority
- CN
- China
- Prior art keywords
- code
- flow information
- deduplication
- test case
- case library
- 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.)
- Pending
Links
- 238000012360 testing method Methods 0.000 title claims abstract description 112
- 238000000034 method Methods 0.000 title claims abstract description 74
- 238000012423 maintenance Methods 0.000 title claims abstract description 53
- 238000013507 mapping Methods 0.000 claims abstract description 50
- 238000012545 processing Methods 0.000 claims abstract description 50
- 230000008859 change Effects 0.000 claims description 11
- 238000004590 computer program Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 4
- 230000004048 modification Effects 0.000 description 4
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000004044 response Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000802 evaporation-induced self-assembly Methods 0.000 description 1
- 238000011990 functional testing Methods 0.000 description 1
- 239000013307 optical fiber Substances 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 238000013522 software testing Methods 0.000 description 1
Landscapes
- Stored Programmes (AREA)
Abstract
本公开提供了一种测试用例库维护方法、电子设备、存储介质及程序产品。本公开的测试用例库维护方法包括:响应于用户的操作获取和用户的操作对应的流量信息,并记录流量信息和代码信息的映射关系以及代码信息的更迭情况;基于映射关系和代码信息的更迭情况对流量信息进行去重处理,得到去重处理后的流量信息;以及基于去重处理后的流量信息维护测试用例库。
Description
技术领域
本公开涉及软件测试技术领域,本公开尤其涉及一种测试用例库维护方法、电子设备、存储介质及程序产品。
背景技术
回归测试需要利用大量测试用例对未发布的软件版本进行测试,以确认修改是否引入其他错误或使其他代码产生新的错误,测试用例的数量直接影响了回归测试的工作量,自动推荐测试用例可以避免测试工作人员针对待测功能手动选择大量测试用例,降低了测试工作人员的工作量。由于软件版本更新频率的增加,为了降低回归测试的工作量和测试时间,如何进一步减少回归测试的测试用例数量成为了关注的热点。
现有技术中,存在较多通过覆盖率的方式获取功能测试用例对应的代码行,从而通过修改代码反推测试用例回归范围的工具,以期获取准确的测试用例的方式。现有技术中已存在的上述测试用例推荐工具,通过历史记录获取测试用例与代码行的对应关系,存储至数据库中,在自动推荐回归测试用例时查询数据库以获得待测用例。
然而,若单一项目更迭的代码修改了复用性较高的方法,上述工具会推荐出巨量的历史功能用例,从而导致测试工作人员的工作量不减反增。此外,用例功能更迭后未及时维护导致用例数据库不准确,代码经过长时间的更迭后,出现用例数据库的可信度降低,数据库需要不断重新进行用例和代码的关联操作,耗费大量人力维护;若数据库不进行更新,自动推荐回归测试用例时,易推荐出不合适的测试用例,增大了测试过程的报错机率,增加了测试工作人员测试工作量。
发明内容
本公开提供了一种测试用例库维护方法、电子设备、存储介质及程序产品。
一方面,提供了一种测试用例库维护方法,包括:
响应于用户的操作获取和所述用户的操作对应的流量信息,并记录所述流量信息和代码信息的映射关系以及所述代码信息的更迭情况;
基于所述映射关系和所述代码信息的更迭情况对所述流量信息进行去重处理,得到去重处理后的流量信息;
基于所述去重处理后的流量信息维护所述测试用例库。
根据本公开一种可选的实施方式,基于所述映射关系和所述代码信息的更迭情况对所述流量信息进行去重处理,得到去重处理后的流量信息,包括:
基于所述映射关系对所述流量信息进行第一次去重,得到第一去重结果;
获取代码仓库中的代码更迭记录,基于所述代码更迭记录对所述流量信息进行第二次去重,得到第二去重结果;
基于所述第一去重结果和所述第二去重结果维护所述测试用例库。
根据本公开一种可选的实施方式,基于所述映射关系和所述代码信息的更迭情况对所述流量信息进行去重处理,得到去重处理后的流量信息,包括:
基于所述映射关系对所述流量信息进行第一次去重,得到第一去重结果;
基于所述第一去重结果获取代码仓库中的代码更迭记录,基于所述代码更迭记录对所述流量信息进行第二次去重,得到第二去重结果;
基于所述第二去重结果维护所述测试用例库。
根据本公开一种可选的实施方式,基于所述映射关系对所述流量信息进行第一次去重,得到第一去重结果,包括:
基于所述映射关系确定在所述代码仓库中是否存在与所述流量信息相对应的代码信息,得到第一处理结果;
基于所述第一处理结果获取所述流量信息中的第一子调用流量信息的数量和顺序,确定所述流量信息中是否存在和所述第一子调用流量信息相同数量和顺序的第二子调用流量信息,得到第二处理结果;
基于所述第二处理结果确定所述第一子调用流量信息和所述第二子调用流量信息是否经过相同的代码行,得到第三处理结果;
基于所述第三处理结果对所述流量信息进行第一次去重,得到第一去重结果。
根据本公开一种可选的实施方式,基于所述映射关系对所述流量信息进行第一次去重,得到第一去重结果,包括:
基于所述映射关系确定在所述代码仓库中是否存在与所述流量信息相对应的代码信息,若是,则删除已经存在的流量信息;
若否,则获取所述流量信息中的第一子调用流量信息的数量和顺序,确定所述流量信息中是否存在和所述第一子调用流量信息相同数量和顺序的第二子调用流量信息,若否,则将第一子调用流量信息加入所述测试用例库;
若是,则确定所述第一子调用流量信息与所述第二子调用流量信息是否经过相同的代码行,若否,则将所述第一子调用流量信息加入所述测试用例库;
若是,则删除所述第一子调用流量信息,得到所述第一去重结果。
根据本公开一种可选的实施方式,获取代码仓库中的代码更迭记录,基于所述代码更迭记录对所述流量信息进行第二次去重,得到第二去重结果,包括:
获取更迭后代码的代码行号;
基于所述更迭后代码的代码行号对所述流量信息进行第二次去重,得到第二去重结果。
根据本公开一种可选的实施方式,获取更迭后代码的代码行号,包括:
获取更迭后代码的第一代码树对象以及更迭前代码的第二代码树对象;
基于第一代码树对象和第二代码树对象获取代码树差异;
基于所述代码树差异获取代码的变动类型和变动代码的起始行;
基于代码的变动类型和代码的起始行得到更迭后代码的代码行号。
根据本公开一种可选的实施方式,获取更迭后代码的代码行号之前,还包括:
获取所述代码仓库中代码的更迭方式。
根据本公开一种可选的实施方式,所述代码的更迭方式包括第一方式和第二方式,所述第一方式为在原有代码的基础上进行改动,所述第二方式为将原有代码和现在代码进行合并。
根据本公开一种可选的实施方式,基于所述更迭后代码的代码行号对所述流量信息进行第二次去重,得到第二去重结果,包括:
确定代码的更迭方式,当代码的更迭方式为第二方式时删除经过更迭的代码行号的流量信息。
本公开还提供了一种电子设备,包括:存储器,存储器存储执行指令;以及处理器或其他硬件模块,处理器或其他硬件模块执行存储器存储的执行指令,使得处理器或其他硬件模块执行上述的测试用例库维护方法。
本公开还提供了一种可读存储介质,可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现上述的测试用例库维护方法。
本公开还提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述的测试用例库维护方法。
附图说明
附图示出了本公开的示例性实施方式,并与其说明一起用于解释本公开的原理,其中包括了这些附图以提供对本公开的进一步理解,并且附图包括在本说明书中并构成本说明书的一部分。
图1为本公开实施方式提供的测试用例库维护方法流程示意图。
图2为本公开实施方式提供的测试用例库维护方法中的步骤S120流程示意图。
图3为本公开实施方式提供的测试用例库维护方法中的步骤S121流程示意图。
图4为本公开实施方式提供的测试用例库维护方法中对流量信息进行第一次去重的示例性示意图。
图5为本公开实施方式提供的测试用例库维护方法中的步骤S122流程示意图。
图6为本公开实施方式提供的测试用例库维护方法中的获取更迭后代码行的逻辑示意图。
图7为本公开实施方式提供的测试用例库维护方法中的获取更迭后代码行号的示例性示意图。
图8是本公开的一个实施方式的采用处理器的硬件实现方式的测试用例库维护装置的结构示意框图。
具体实施方式
下面结合附图和实施方式对本公开作进一步的详细说明。可以理解的是,此处所描述的具体实施方式仅用于解释相关内容,而非对本公开的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本公开相关的部分。
需要说明的是,在不冲突的情况下,本公开中的实施方式及实施方式中的特征可以相互组合。下面将参考附图并结合实施方式来详细说明本公开的技术方案。
除非另有说明,否则示出的示例性实施方式/实施例将被理解为提供可以在实践中实施本公开的技术构思的一些方式的各种细节的示例性特征。因此,除非另有说明,否则在不脱离本公开的技术构思的情况下,各种实施方式/实施例的特征可以另外地组合、分离、互换和/或重新布置。
在附图中使用交叉影线和/或阴影通常用于使相邻部件之间的边界变得清晰。如此,除非说明,否则交叉影线或阴影的存在与否均不传达或表示对部件的具体材料、材料性质、尺寸、比例、示出的部件之间的共性和/或部件的任何其它特性、属性、性质等的任何偏好或者要求。此外,在附图中,为了清楚和/或描述性的目的,可以夸大部件的尺寸和相对尺寸。当可以不同地实施示例性实施例时,可以以不同于所描述的顺序来执行具体的工艺顺序。例如,可以基本同时执行或者以与所描述的顺序相反的顺序执行两个连续描述的工艺。此外,同样的附图标记表示同样的部件。
当一个部件被称作“在”另一部件“上”或“之上”、“连接到”或“结合到”另一部件时,该部件可以直接在所述另一部件上、直接连接到或直接结合到所述另一部件,或者可以存在中间部件。然而,当部件被称作“直接在”另一部件“上”、“直接连接到”或“直接结合到”另一部件时,不存在中间部件。为此,术语“连接”可以指物理连接、电气连接等,并且具有或不具有中间部件。
本文使用的术语是为了描述具体实施例的目的,而不意图是限制性的。如这里所使用的,除非上下文另外清楚地指出,否则单数形式“一个(种、者)”和“所述(该)”也意图包括复数形式。此外,当在本说明书中使用术语“包含”和/或“包括”以及它们的变型时,说明存在所陈述的特征、整体、步骤、操作、部件、组件和/或它们的组,但不排除存在或附加一个或更多个其它特征、整体、步骤、操作、部件、组件和/或它们的组。还要注意的是,如这里使用的,术语“基本上”、“大约”和其它类似的术语被用作近似术语而不用作程度术语,如此,它们被用来解释本领域普通技术人员将认识到的测量值、计算值和/或提供的值的固有偏差。
下文结合图1至图7对本公开的测试用例库维护方法、测试用例库维护装置等进行详细说明。
一方面,本公开实施方式提供了一种测试用例库维护方法,请参见图1,本公开实施方式提供的测试用例库维护方法M100包括:
S110、响应于用户的操作获取和用户的操作对应的流量信息,并记录流量信息和代码信息的映射关系以及代码信息的更迭情况。
S120、基于映射关系和代码信息的更迭情况对流量信息进行去重处理,得到去重处理后的流量信息。
S130、基于去重处理后的流量信息维护测试用例库。
本公开实施方式提供的测试用例库维护方法,通过响应于用户的操作获取和用户的操作对应的流量信息,并且记录流量信息和代码信息的映射关系以及代码信息的更迭情况,可以根据流量信息与代码信息之间的映射关系确定该流量信息是否在测试用例库中重复出现;基于映射关系和代码信息的更迭情况对流量信息进行去重处理,得到去重处理结果;当代码信息发生更迭时可以实现对流量信息的去重,可以避免测试用例库中的流量信息重复,减少了需要维护的流量信息的数量,进一步降低了测试用例库中测试用例的维护成本,并且,本公开实施方式提供的测试用例库维护方法,能够智能识别测试用例变更情况和代码信息变更情况,智能地维护和提示测试用例库更新,不需要人力维护,降低了测试工作人员的测试工作量。
本公开实施方式中,测试用例库维护包括对测试用例库的增加、删除和/或更改等操作。
在本公开实施方式提供的测试用例库维护方法中的步骤S110中,响应于用户的操作获取和用户的操作对应的流量信息,并记录流量信息和代码信息的映射关系以及代码信息的更迭情况。
其中,本公开实施方式中的测试用例即流量信息用例。测试用例库即流量信息用例库,即保存和记录用户操作时调用的流量信息的用例库。流量信息至少包括:流量名称、流量ID、流量步骤和流量运行结果等。流量步骤和流量运行结果为自然语言;代码信息至少包括:代码类名、方法名、方法传入参数、方法和/或分支语句以及代码组成的代码行的名称、类型等。代码信息的更迭情况包括代码类名的变更、方法名的变更、代码的新增、代码的删除、代码的修改等,本公开实施方式对代码信息的更迭情况不限于此。
本公开实施方式中,用户对该流量信息进行调用时,该流量信息会经过代码仓库中的代码行,流量信息经过的代码行不同,则说明该流量信息的应用场景不同,将流量信息和经过的代码行关联起来,建立映射关系,即本公开实施方式中的流量信息和代码信息的映射关系。
在本公开实施方式提供的测试用例库维护方法中的步骤S120中,基于映射关系和代码信息的更迭情况对流量信息进行去重处理,得到去重处理后的流量信息。
流量信息被调用时经过的代码行是确定的,作为一种示例,当有第一流量信息进入时,第一流量信息会经过与其具有映射关系的第一代码行,第二流量信息进入时,第二流量会经过与其具有映射关系的第二代码行,当第一代码行与第二代码行重复或相同时,说明第一流量信息与第二流量信息重复或相同,则将第一流量信息删除,即本公开实施方式所述的对流量信息进行去重处理,得到去重处理后的流量信息。
在本公开实施方式提供的测试用例库维护方法中的步骤S130中,基于去重处理后的流量信息维护测试用例库。
本公开实施方式提供的步骤S120中已经得到去重处理后的流量信息,将去重后的流量信息加入到测试用例库中,完成对测试用例库的维护。
根据本公开一种优选的实施方式,请参见图2,本公开实施方式中的步骤S120、基于映射关系和代码信息的更迭情况对流量信息进行去重处理,得到去重处理后的流量信息,包括:S121、S122以及S123。
S121、基于映射关系对流量信息进行第一次去重,得到第一去重结果。
本公开实施方式提供的测试用例维护方法对流量信息的去重包括两次去重,第一次基于流量信息整体的层面,基于流量信息和代码信息的映射关系,实现的对流量信息的第一次去重处理。第二次通过获取代码仓库中的代码更迭记录,通过更迭记录对流量信息进行第二次去重,提高了对流量信息去重的效率和准确率。
S122、获取代码仓库中的代码更迭记录,基于代码更迭记录对流量信息进行第二次去重,得到第二去重结果。
本公开实施方式中,会存在代码仓库中的代码发生变更或迭代,但是流量信息还一直存放,此时,会出现代码信息和流量信息不匹配的情况,因此需要获取代码仓库中的代码更迭记录,基于代码更迭记录对流量信息进行第二次去重。
S123、基于第一去重结果和第二去重结果维护测试用例库。
根据本公开一种优选的实施方式,基于映射关系和代码信息的更迭情况对流量信息进行去重处理,得到去重处理后的流量信息,包括:
基于映射关系对流量信息进行第一次去重,得到第一去重结果。
基于第一去重结果获取代码仓库中的代码更迭记录,基于代码更迭记录对流量信息进行第二次去重,得到第二去重结果。
基于第二去重结果维护测试用例库。
本公开实施方式提供的对流量信息进行的第一次去重和第二次去重可以是并列进行,也可以是先进行第一次去重,在第一次去重的结果的基础上进行第二次去重。即本公开实施方式中提供的基于映射关系对流量信息进行第一次去重,得到第一去重结果,在第一去重结果的基础上对流量信息进行第二次去重,即获取代码仓库中的代码更迭记录,基于代码更迭记录对流量信息进行第二次去重,得到第二去重结果。
根据本公开一种优选的实施方式,请参见图3,本公开实施方式提供的步骤S121基于映射关系对流量信息进行第一次去重,得到第一去重结果,包括:S1211、S1212、S1213以及S1214。
S1211、基于映射关系确定在代码仓库中是否存在与流量信息相对应的代码信息,得到第一处理结果。
S1212、基于第一处理结果获取流量信息中的第一子调用流量信息的数量和顺序,确定流量信息中是否存在和第一子调用流量信息相同数量和顺序的第二子调用流量信息,得到第二处理结果。
S1213、基于第二处理结果确定第一子调用流量信息和第二子调用流量信息是否经过相同的代码行,得到第三处理结果。
S1214、基于第三处理结果对流量信息进行第一次去重,得到第一去重结果。
根据本公开一种优选的实施方式,基于映射关系对流量信息进行第一次去重,得到第一去重结果,包括:
基于映射关系确定在代码仓库中是否存在与流量信息相对应的代码信息,若是,则删除已经存在的流量信息。
若否,则获取流量信息中的第一子调用流量信息的数量和顺序,确定流量信息中是否存在和第一子调用流量信息相同数量和顺序的第二子调用流量信息,若否,则将第一子调用流量信息加入测试用例库。
若是,则确定第一子调用流量信息与第二子调用流量信息是否经过相同的代码行,若否,则将第一子调用流量信息加入测试用例库。
若是,则删除第一子调用流量信息,得到第一去重结果。
代码仓库中会不断记录和保存测试用例系统提交的代码信息。作为一种示例,请参见图4,本公开实施方式通过消息中间件kafka将流量信息发出,测试用例库维护系统监听消息中间件kafka发出的流量信息,基于映射关系确定在代码仓库中是否存在与流量信息相对应的代码信息,若是,则删除已经存在的流量信息。即图4中描述的存在相同参数的用例(流量信息),如果存在与流量信息相对应的代码信息,则删除已经存在的流量信息。如果否,则进行下一步去重处理,即若否,则获取流量信息中的第一子调用流量信息的数量和顺序,确定流量信息中是否存在和第一子调用流量信息相同数量和顺序的第二子调用流量信息,若否,则将第一子调用流量信息加入测试用例库,即图4中的若否,则确定是否存在相同子调用数量+顺序的用例(流量信息)。若是,则确定第一子调用流量信息与第二子调用流量信息是否经过相同的代码行,若否,则将第一子调用流量信息加入测试用例库,即图4中的若是,则判断是否经过相同的代码行,若否,则将该第一子调用流量信息插入用例库(本公开实施方式的测试用例库)。若是,则删除第一子调用流量信息,得到第一去重结果,即图4中的删除已存在的用例(第一流量信息)。
根据本公开一种优选的实施方式,请参见图5,本公开实施方式提供的步骤S122获取代码仓库中的代码更迭记录,基于代码更迭记录对流量信息进行第二次去重,得到第二去重结果,包括:S1221与S1222。
S1221、获取更迭后代码的代码行号。
S1222、基于更迭后代码的代码行号对流量信息进行第二次去重,得到第二去重结果。
根据本公开一种优选的实施方式,代码的更迭方式包括第一方式和第二方式,第一方式为在原有代码的基础上进行改动,第二方式为将原有代码和现在代码进行合并。
请参见图6,图6为本公开实施方式提供的获取更迭后代码的代码行号,进而对流量信息进行第二次去重的逻辑示意图。
当测试用例库维护系统想代码仓库提交代码时,即图6中的gitlab事件,通过webhook(服务器)的消息中间件kafka将流量信息发出,测试用例库维护系统将gitlab事件划分为两类事件,一类是push事件(即本公开实施方式提供的第一方式),一类是mergerequest事件(即本公开实施方式提供的第二方式)。对于push事件获取更迭前的代码,即图6中的获取变更前的代码。对于merge request事件获取更迭后的代码,即图6中的获取最新代码。最终通过git diff计算更迭后代码行号。判断代码行号更迭是否属于代码仓库中代码行的变动,即图6中的master分支,若是,则删除经过变动的代码行的用例,上述描述步骤即本公开实施方式中提供的确定代码更迭方式,当代码更迭方式为第二方式时删除经过更迭的代码行号的流量信息。若否,则将该代码更新至代码仓库中的代码行,即图6中的更新代码分支的代码行号。
根据本公开一种优选的实施方式,请参见图7,图7为本公开实施方式提供的计算更迭后代码行的逻辑示意图。本公开实施方式提供的步骤S1221获取更迭后代码的代码行号,包括:
获取更迭后代码的第一代码树对象以及更迭前代码的第二代码树对象。
需要说明的是,代码树(Code tree)是指软件开发中版本控制系统中的代码组织结构。第一代码树对象为更迭后的代码形成的数据结构,第二代码树对象为更迭前的代码形成的数据结构。
基于第一代码树对象和第二代码树对象获取代码树差异。
通过比较更迭后的代码形成的数据结构(即第一代码树对象)和更迭前的代码形成的数据结构(即第二代码树对象)可以得到代码树差异,代码树差异可以提现代码更迭情况。
基于代码树差异获取代码的变动类型和变动代码的起始行。
本公开实施方式中通过diff formatter计算代码树差异。扫描所有代码树差异并获取差异代码树对象。遍历每一个edilist(电子数据交换列表)即本公开实施方式提供的代码仓库,获取更迭代码的更迭类型,例如代码的新增、修改或删除等。以及获取更迭代码的起始行,例如新增代码的起始行,或修改代码的起始行,或删除代码的起始行等。
基于代码的变动类型和代码的起始行得到更迭后代码的代码行号。
本公开实施方式通过多种方式获取更迭后代码的代码行号,并且基于代码行号对流量信息进行变更。提高了流量信息的去重精度,进一步提高测试用例库的维护效率和效果。
根据本公开一种优选的实施方式,获取更迭后代码的代码行号之前,还包括:获取代码仓库中代码的更迭方式。
根据本公开一种优选的实施方式,基于更迭后代码的代码行号对流量信息进行第二次去重,得到第二去重结果,包括:
确定代码的更迭方式,当代码的更迭方式为第二方式时删除经过更迭的代码行号的流量信息。
代码仓库中的代码更迭方式不同,对流量信息进行去重的方式不同。本公开实施方式中,通过基于更迭的代码行号对流量信息进行第二次去重,得到第二去重结果,可以提高对流量信息的去重精确度。
进一步地,本公开实施方式中的步骤S1222、基于代码更迭方式获取更迭的代码行号,包括基于代码更迭方式获取更迭前代码行号和更迭后代码行号,基于代码更迭方式确定将更迭前代码行号或更迭后代码行号作为最终的更迭的代码行号。
进一步地,本公开实施方式中的步骤S1223、基于更迭的代码行号对流量信息进行第二次去重,得到第二去重结果包括基于更迭的代码行号对流量信息中的各个子调用进行第二次去重,得到多个第二去重子结果,将多个第二去重子结果作为第二去重结果。
图8是本公开的一个实施方式的采用处理器的硬件实现方式的测试用例库维护装置的结构示意框图。
该测试用例库维护装置可以包括执行上述流程图中各个或几个步骤的相应模块。因此,可以由相应模块执行上述流程图中的每个步骤或几个步骤,并且该装置可以包括这些模块中的一个或多个模块。模块可以是专门被配置为执行相应步骤的一个或多个硬件模块、或者由被配置为执行相应步骤的处理器来实现、或者存储在计算机可读介质内用于由处理器来实现、或者通过某种组合来实现。
本公开的测试用例库维护装置的硬件结构可以利用总线架构来实现。总线架构可以包括任何数量的互连总线和桥接器,这取决于硬件的特定应用和总体设计约束。总线1100将包括一个或多个处理器1200、存储器1300和/或硬件模块的各种电路连接到一起。总线1100还可以将诸如外围设备、电压调节器、功率管理电路、外部天线等的各种其他电路1400连接。
总线1100可以是工业标准体系结构(ISA,Industry Standard Architecture)总线、外部设备互连(PCI,Peripheral Component)总线或扩展工业标准体系结构(EISA,Extended Industry Standard Component)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,该图中仅用一条连接线表示,但并不表示仅有一根总线或一种类型的总线。
流程图中或在此以其他方式描述的任何过程或方法描述可以被理解为,表示包括一个或更多个用于实现特定逻辑功能或过程的步骤的可执行指令的代码的模块、片段或部分,并且本公开的优选实施方式的范围包括另外的实现,其中可以不按所示出或讨论的顺序,包括根据所涉及的功能按基本同时的方式或按相反的顺序,来执行功能,这应被本公开的实施方式所属技术领域的技术人员所理解。处理器执行上文所描述的各个方法和处理。例如,本公开中的方法实施方式可以被实现为软件程序,其被有形地包含于机器可读介质,例如存储器。在一些实施方式中,软件程序的部分或者全部可以经由存储器和/或通信接口而被载入和/或安装。当软件程序加载到存储器并由处理器执行时,可以执行上文描述的方法中的一个或多个步骤。备选地,在其他实施方式中,处理器可以通过其他任何适当的方式(例如,借助于固件)而被配置为执行上述方法之一。
在流程图中表示或在此以其他方式描述的逻辑和/或步骤,可以具体实现在任何可读存储介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。
就本说明书而言,“可读存储介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。可读存储介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(RAM),只读存储器(ROM),可擦除可编辑只读存储器(EPROM或闪速存储器),光纤装置,以及便携式只读存储器(CDROM)。另外,可读存储介质甚至可以是可在其上打印程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得程序,然后将其存储在存储器中。
应当理解,本公开的各部分可以用硬件、软件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(PGA),现场可编程门阵列(FPGA)等。
本技术领域的普通技术人员可以理解实现上述实施方式方法的全部或部分步骤是可以通过程序来指令相关的硬件完成,程序可以存储于一种可读存储介质中,该程序在执行时,包括方法实施方式的步骤之一或其组合。
此外,在本公开各个实施方式中的各功能单元可以集成在一个处理模块中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个可读存储介质中。存储介质可以是只读存储器,磁盘或光盘等。
参考图8,根据本公开的一个实施方式,本公开的测试用例库维护装置1000,包括:
获取模块1002,获取模块1002响应于用户的操作获取和用户的操作对应的流量信息,并记录流量信息和代码信息的映射关系以及代码信息的更迭情况。
去重模块1004,去重模块1004基于映射关系和代码信息的更迭情况对流量信息进行去重处理,得到去重处理后的流量信息。
维护模块1006,维护模块1006基于去重处理后的流量信息维护测试用例库。
去重模块1004包括:第一去重单元与第二去重单元。
第一去重单元基于映射关系对流量信息进行第一次去重,得到第一去重结果。
第二去重单元获取代码仓库中的代码更迭记录,基于代码更迭记录对流量信息进行第二次去重,得到第二去重结果。
维护模块1006基于第一去重结果和第二去重结果维护测试用例库。
去重模块1004基于映射关系对流量信息进行第一次去重,得到第一去重结果。
基于第一去重结果获取代码仓库中的代码更迭记录,基于代码更迭记录对流量信息进行第二次去重,得到第二去重结果。
维护模块1006基于第二去重结果维护测试用例库。
第一去重单元基于映射关系确定在代码仓库中是否存在与流量信息相对应的代码信息,得到第一处理结果。
基于第一处理结果获取流量信息中的第一子调用流量信息的数量和顺序,确定流量信息中是否存在和第一子调用流量信息相同数量和顺序的第二子调用流量信息,得到第二处理结果。
基于第二处理结果确定第一子调用流量信息和第二子调用流量信息是否经过相同的代码行,得到第三处理结果。
基于第三处理结果对流量信息进行第一次去重,得到第一去重结果。
第一去重单元基于映射关系确定在代码仓库中是否存在与流量信息相对应的代码信息,若是,则删除已经存在的流量信息。
若否,则获取流量信息中的第一子调用流量信息的数量和顺序,确定流量信息中是否存在和第一子调用流量信息相同数量和顺序的第二子调用流量信息,若否,则将第一子调用流量信息加入测试用例库。
若是,则确定第一子调用流量信息与第二子调用流量信息是否经过相同的代码行,若否,则将第一子调用流量信息加入测试用例库。
若是,则删除第一子调用流量信息,得到第一去重结果。
第二去重单元获取更迭后代码的代码行号。
基于更迭后代码的代码行号对流量信息进行第二次去重,得到第二去重结果。
第二去重单元获取更迭后代码的代码树对象。
基于更迭后代码的代码树对象获取代码树差异。
基于代码树差异获取代码变动类型和代码起始行。
基于代码变动类型和代码起始行得到更迭后代码的代码行号。
本公开还提供了一种电子设备,包括:存储器,存储器存储执行指令;以及处理器或其他硬件模块,处理器或其他硬件模块执行存储器存储的执行指令,使得处理器或其他硬件模块执行上述的测试用例库维护方法。
本公开还提供了一种可读存储介质,可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现上述的测试用例库维护方法。
本公开还提供了一种计算机程序产品,包括计算机程序/指令,计算机程序/指令被处理器执行时实现上述的测试用例库维护方法。
本领域的技术人员应当理解,上述实施方式仅仅是为了清楚地说明本公开,而并非是对本公开的范围进行限定。对于所属领域的技术人员而言,在上述公开的基础上还可以做出其它变化或变型,并且这些变化或变型仍处于本公开的范围内。
Claims (10)
1.一种测试用例库维护方法,其特征在于,包括:
响应于用户的操作获取和所述用户的操作对应的流量信息,并记录所述流量信息和代码信息的映射关系以及所述代码信息的更迭情况;
基于所述映射关系和所述代码信息的更迭情况对所述流量信息进行去重处理,得到去重处理后的流量信息;以及
基于所述去重处理后的流量信息维护所述测试用例库。
2.根据权利要求1所述的测试用例库维护方法,其特征在于,基于所述映射关系和所述代码信息的更迭情况对所述流量信息进行去重处理,得到去重处理后的流量信息,包括:
基于所述映射关系对所述流量信息进行第一次去重,得到第一去重结果;
获取代码仓库中的代码更迭记录,基于所述代码更迭记录对所述流量信息进行第二次去重,得到第二去重结果;以及
基于所述第一去重结果和所述第二去重结果维护所述测试用例库。
3.根据权利要求1所述的测试用例库维护方法,其特征在于,基于所述映射关系和所述代码信息的更迭情况对所述流量信息进行去重处理,得到去重处理后的流量信息,包括:
基于所述映射关系对所述流量信息进行第一次去重,得到第一去重结果;
基于所述第一去重结果获取代码仓库中的代码更迭记录,基于所述代码更迭记录对所述流量信息进行第二次去重,得到第二去重结果;以及
基于所述第二去重结果维护所述测试用例库。
4.根据权利要求2或3所述的测试用例库维护方法,其特征在于,基于所述映射关系对所述流量信息进行第一次去重,得到第一去重结果,包括:
基于所述映射关系确定在所述代码仓库中是否存在与所述流量信息相对应的代码信息,得到第一处理结果;
基于所述第一处理结果获取所述流量信息中的第一子调用流量信息的数量和顺序,确定所述流量信息中是否存在和所述第一子调用流量信息的数量和顺序相同的第二子调用流量信息,得到第二处理结果;
基于所述第二处理结果确定所述第一子调用流量信息和所述第二子调用流量信息是否经过相同的代码行,得到第三处理结果;以及
基于所述第三处理结果对所述流量信息进行第一次去重,得到第一去重结果。
5.根据权利要求4所述的测试用例库维护方法,其特征在于,基于所述映射关系对所述流量信息进行第一次去重,得到第一去重结果,包括:
基于所述映射关系确定在所述代码仓库中是否存在与所述流量信息相对应的代码信息,若是,则删除已经存在的流量信息;
若否,则获取流量信息中的第一子调用流量信息的数量和顺序,确定所述流量信息中是否存在和所述第一子调用流量信息的数量和顺序相同的第二子调用流量信息,若否,则将所述第一子调用流量信息加入所述测试用例库;
若是,则确定所述第一子调用流量信息与所述第二子调用流量信息是否经过相同的代码行,若否,则将所述第一子调用流量信息加入所述测试用例库;以及
若是,则删除所述第一子调用流量信息,得到所述第一去重结果。
6.根据权利要求2或3所述的测试用例库维护方法,其特征在于,获取代码仓库中的代码更迭记录,基于所述代码更迭记录对所述流量信息进行第二次去重,得到第二去重结果,包括:
获取更迭后代码的代码行号;以及
基于所述更迭后代码的代码行号对所述流量信息进行第二次去重,得到第二去重结果。
7.根据权利要求6所述的测试用例库维护方法,其特征在于,获取更迭后代码的代码行号,包括:
获取更迭后代码的第一代码树对象以及更迭前代码的第二代码树对象;
基于所述第一代码树对象和所述第二代码树对象获取代码树差异;
基于所述代码树差异获取代码的变动类型和变动代码的起始行;以及
基于所述代码的变动类型和所述代码的起始行得到更迭后代码的代码行号。
8.一种电子设备,其特征在于,包括:
存储器,所述存储器存储执行指令;以及
处理器,所述处理器执行所述存储器存储的执行指令,使得所述处理器执行权利要求1至7中任一项所述的测试用例库维护方法。
9.一种可读存储介质,其特征在于,所述可读存储介质中存储有执行指令,所述执行指令被处理器执行时用于实现权利要求1至7中任一项所述的测试用例库维护方法。
10.一种计算机程序产品,包括计算机程序/指令,其特征在于,所述计算机程序/指令被处理器执行时实现权利要求1至7中任一项所述的测试用例库维护方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410281884.6A CN118035114A (zh) | 2024-03-12 | 2024-03-12 | 测试用例库维护方法、电子设备、存储介质及程序产品 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410281884.6A CN118035114A (zh) | 2024-03-12 | 2024-03-12 | 测试用例库维护方法、电子设备、存储介质及程序产品 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118035114A true CN118035114A (zh) | 2024-05-14 |
Family
ID=90993020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410281884.6A Pending CN118035114A (zh) | 2024-03-12 | 2024-03-12 | 测试用例库维护方法、电子设备、存储介质及程序产品 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118035114A (zh) |
-
2024
- 2024-03-12 CN CN202410281884.6A patent/CN118035114A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109388566B (zh) | 一种代码覆盖率分析方法、装置、设备及存储介质 | |
CN107463661B (zh) | 数据的导入方法及装置 | |
CN104252481A (zh) | 主从数据库一致性的动态校验方法和装置 | |
CN102981946B (zh) | Etl冒烟测试方法 | |
CN112307124A (zh) | 数据库同步验证方法、装置、设备及存储介质 | |
CN111382198B (zh) | 数据还原方法、装置、设备及存储介质 | |
CN112328499A (zh) | 一种测试数据生成方法、装置、设备及介质 | |
CN115544088A (zh) | 地址信息查询方法、装置、电子设备及存储介质 | |
CN118035114A (zh) | 测试用例库维护方法、电子设备、存储介质及程序产品 | |
CN113391767A (zh) | 数据一致性的校验方法、装置、电子设备及可读存储介质 | |
CN115827636B (zh) | 存储及从波形数据库读取逻辑系统设计的仿真数据的方法 | |
US20070180369A1 (en) | Method and apparatus for automatically formatting data based on a best match test result type | |
CN115373889A (zh) | 数据同步中的数据比对校验及数据修复的方法及装置 | |
CN113535538B (zh) | 应用全链路自动化测试方法、装置、电子设备和存储介质 | |
CN108304330B (zh) | 内容提取方法、装置和计算机设备 | |
CN114942905A (zh) | 一种迁移数据验证方法、装置、设备和存储介质 | |
CN113656318A (zh) | 软件版本测试方法、装置及计算机设备 | |
CN111008150A (zh) | 一种测试报告生成方法、装置及设备 | |
CN117349267B (zh) | 一种数据库迁移处理方法及系统 | |
CN110287153B (zh) | 一种a2l标定量地址范围冲突的检测方法及装置 | |
CN114116729B (zh) | 一种测试数据的处理方法和设备 | |
CN117472906A (zh) | 数据处理方法、电子设备及可读存储介质 | |
CN115357655A (zh) | 变更信息自动整合方法、装置、电子设备及存储介质 | |
CN116975029A (zh) | 数据核对方法、装置、存储介质、电子设备及产品 | |
CN118071525A (zh) | 一种财务数据审核方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |