一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种回归测试用例的推荐方法、装置、介质及设备与流程

2022-05-21 03:40:13 来源:中国专利 TAG:


1.本技术实施例涉及计算机技术领域,尤其涉及一种回归测试用例的推荐方法、装置、介质及设备。


背景技术:

2.随着科技发展,对应用程序的版本提出更多的需求。在渐进和快速迭代开发中,新版本的发布使回归测试进行的更加频繁。
3.回归测试作为软件生命周期的一个组成部分,在整个软件测试过程中占有很大的工作量比重,软件开发的各个阶段都会进行多次回归测试。回归测试是指修改了旧代码后,重新进行测试以确认修改没有引入新的错误或导致其他代码产生错误。因此,通过合理的回归测试用例推荐方法来避免测试遗漏、提升代码测试覆盖率是非常有意义的。
4.现有技术中回归测试用例选取主要基于测试人员的主观判断,过度依赖测试人员的经验水平。因此很容易因测试人员主观分析导致的测试遗漏的问题。


技术实现要素:

5.本技术实施例提供一种回归测试用例的推荐方法、装置、介质及设备,可以通过代码覆盖率报告抽取出每条测试用例与程序类的映射表和最小测试用例集覆盖程序重点类,来确定回归测试用例集。从而实现提升代码测试覆盖率的目的。
6.第一方面,本技术实施例提供了一种回归测试用例的推荐方法,包括:
7.使用测试用例对目标应用进行代码测试,通过统计工具得到代码覆盖率信息;
8.根据所述覆盖率信息提取各测试用例与程序类的映射表;
9.根据所述映射表中各测试用例映射的程序类与预先确定的程序重点类之间的关系,采用预设推荐规则确定测试用例的推荐结果。
10.第二方面,本技术实施例提供了一种回归测试用例的推荐装置,该装置包括:
11.代码覆盖率获取模块,用于使用测试用例对目标应用进行代码测试,通过统计工具得到代码覆盖率信息;
12.映射表生成模块,用于根据所述覆盖率信息提取各测试用例与程序类的映射表;
13.测试用例结果推荐模块,用于根据所述映射表中各测试用例映射的程序类与预先确定的程序重点类之间的关系,采用预设推荐规则确定测试用例的推荐结果。
14.第三方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本技术实施例所述的回归测试用例的推荐方法。
15.第四方面,本技术实施例提供了一种电子设备,包括存储器,处理器及存储在存储器上并可在处理器运行的计算机程序,所述处理器执行所述计算机程序时实现如本技术实施例所述的回归测试用例的推荐方法。
16.本技术实施例所提供的技术方案,通过使用测试用例对目标应用进行代码测试,通过统计工具得到代码覆盖率信息;根据所述覆盖率信息提取各测试用例与程序类的映射
表;根据所述映射表中各测试用例映射的程序类与预先确定的程序重点类之间的关系,采用预设推荐规则确定测试用例的推荐结果。本技术方案通过代码覆盖率报告抽取出每条测试用例与程序类的映射表和最小测试用例集覆盖程序重点类,来确定回归测试用例集;可以补充完善测试场景,提升代码测试覆盖率。解决现有技术中用例选取基于测试人员的主观判断,因测试人员主观分析导致的测试遗漏的问题。
附图说明
17.图1是本技术实施例一提供的回归测试用例的推荐方法的流程图;
18.图2为本发明实施例二中的回归测试用例的推荐方法的流程图;
19.图3为本发明实施例三中的回归测试用例的推荐方法的流程图;
20.图4为本发明实施例四提供的一种回归测试用例的推荐装置的结构框图;
21.图5是本技术实施例六提供的一种电子设备的结构示意图。
具体实施方式
22.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本技术,而非对本技术的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本技术相关的部分而非全部结构。
23.在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
24.实施例一
25.图1是本技术实施例一提供的回归测试用例的推荐方法的流程图,本实施例可适用于回归测试的测试用例推荐的场景,该方法可以由本技术实施例所提供的回归测试用例的推荐装置执行,该装置可以由软件和/或硬件的方式来实现,并可集成于电子设备中。
26.如图1所示,所述回归测试用例的推荐方法包括:
27.s110,使用测试用例对目标应用进行代码测试,通过统计工具得到代码覆盖率信息。
28.测试用例可以是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。代码覆盖率可以是软件测试中的一种度量;描述程式中源代码被测试的比例和程度,所得比例称为代码覆盖率。例如,测试一共有100行代码、覆盖到80行代码,则源代码被测试的比例为80%。每行代码测试被覆盖的次数可以是源代码被测试的程度。
29.目标应用可以是需要进行代码测试的应用。例如,更新上线之前进行回归测试的应用。
30.统计工具可以是jacoco工具,jacoco是一个开源的代码覆盖率工具,可以嵌入到ant、maven中,并提供了eclemma eclipse插件,也可以使用javaagent技术监控java程序。很多第三方的工具提供了对jacoco的集成,如sonar、jenkins等。
31.代码测试的过程可以是将代码通过测试工具执行测试用例产生反馈结果,判断反馈结果与测试用例的期望结果是否一致。
32.在本实施例中,可以使用测试用例对目标应用进行代码测试,通过预先部署在所述目标应用的服务器中的jacocoagent服务收集测试执行数据,以得到代码覆盖率信息。
33.s120,根据所述覆盖率信息提取各测试用例与程序类的映射表。
34.其中,覆盖率信息可以是测试有效性的一个度量。通过已执行代码表示,用于可靠性、稳定性以及性能的评测。例如,覆盖率信息可以是程序中源代码被测试的比例和程度。
35.其中,类可以理解为表示有同一特征的事物,程序类可以是根据程序的属性及可以实现的行为进行分类。例如某种函数,比如irsflow、tpcfserverservice等。
36.映射表可以是一种依照键/值对存储元素的容器。它提供了通过键快速获取、删除和更新键/值对的功能。映射表将键与值一起保存,键可以是任意类型的对象,映射表中不能有重复的键,如果存储的键在映射表中已经存在则值会覆盖。
37.例如,在本实施例中基于jacoco工具生成每条测试用例的代码覆盖率报告,根据每条测试用例的代码覆盖率报告集,使用自定义抽取算法生成测试用例与程序类的映射表caseresults。
38.s130,根据所述映射表中各测试用例映射的程序类与预先确定的程序重点类之间的关系,采用预设推荐规则确定测试用例的推荐结果。
39.程序重点类可以是事先人工筛选确定。预设推荐规则可以是最小测试用例集覆盖程序重点类。
40.在本实施例中,可选的,采用预设推荐规则确定测试用例推荐结果的过程可以是给定程序重点类的清单,遍历统计每个测试用例覆盖重点类的个数,优先选取覆盖最多重点类的测试用例,放入回归测试用例集中;再次循环选取,剔除已被覆盖的重点类和已被选取的测试用例,遍历统计剩余每个测试用例覆盖剩余重点类的个数,优先选取覆盖最多重点类的测试用例,继续放入回归测试用例集中;如此循环下去,如循环中监测到所有重点类均被覆盖,则退出循环显示最小回归测试用例集清单;如直至循环结束,即遍历所有测试用例后仍有重点类未被覆盖,则给出未被覆盖重点类列表。例如,项目共有100个类,重点类有60个。如果抽取6个测试用例覆盖所有重点类,则确定最小测试用例集包括6个测试用例。如果抽完所有测试用例只能覆盖50个重点类,则根据测试用例包含程序重点类的数量递减的顺序进行排列,得到测试用例的推荐结果。
41.本技术实施例所提供的技术方案,通过使用测试用例对目标应用进行代码测试,通过统计工具得到代码覆盖率信息;根据所述覆盖率信息提取各测试用例与程序类的映射表;根据所述映射表中各测试用例映射的程序类与预先确定的程序重点类之间的关系,采用预设推荐规则确定测试用例的推荐结果。本技术方案通过代码覆盖率报告抽取出每条测试用例与程序类的映射表和最小测试用例集覆盖程序重点类,来确定回归测试用例集;可以补充完善测试场景,提升代码测试覆盖率。解决现有技术中用例选取基于测试人员的主观判断,因测试人员主观分析导致的测试遗漏的问题。
42.实施例二
43.图2为本发明实施例二中的回归测试用例的推荐方法的流程图,本实施例以上述实施例为基础进行优化。具体优化为:根据所述映射表中各测试用例映射的程序类与预先
确定的程序重点类之间的关系,采用预设推荐规则确定测试用例的推荐结果,包括:确定各测试用例映射的程序类与所述程序重点类之间的覆盖关系;若所述程序重点类被全部覆盖,则确定覆盖程序重点类的最小数量测试用例集作为推荐结果。如图2所示,本实施例的方法具体包括如下步骤:
44.s210,使用测试用例对目标应用进行代码测试,通过统计工具得到代码覆盖率信息;
45.本实施列中,可选的,使用测试用例对目标应用进行代码测试,通过统计工具得到代码覆盖率信息,包括:
46.使用测试用例对目标应用进行代码测试,通过预先部署在所述目标应用的服务器中的jacocoagent服务收集测试执行数据,以得到代码覆盖率信息。
47.jacoco是一个开源的代码覆盖率工具,可以嵌入到ant、maven中,并提供了eclemma eclipse插件,也可以使用javaagent技术监控java程序。很多第三方的工具提供了对jacoco的集成,如sonar、jenkins等。
48.本实施列中,通过在应用服务器上启动jacocoagent服务收集测试执行数据,使用方法灵活,支持分支覆盖。
49.s220,根据所述覆盖率信息提取各测试用例与程序类的映射表;
50.s230,确定各测试用例映射的程序类与所述程序重点类之间的覆盖关系;
51.程序重点类可以是事先人工筛选确定。测试用例映射的程序类与所述程序重点类之间的覆盖关系包括程序重点类被全部覆盖和程序重点类未被全部覆盖。在本实施例中,可选的,在确定各测试用例映射的程序类与所述程序重点类之间的覆盖关系之后,所述方法还包括:
52.若所述程序重点类未被全部覆盖,则确定各测试用例映射的程序类中包含所述程序重点类的数量,按照所述数量的递减顺序对各测试用例进行排列,以作为测试用例的推荐结果。
53.本实施列中,如果所有的测试用例都没有对程序重点类实现全部覆盖的测试,则可以将各测试用例映射的程序类中包含所述程序重点类的数量进行排序,按照包含的程序重点类的数量由高到低的顺序进行排列,作为推荐结果。通过测试用例映射的程序类与所述程序重点类之间的覆盖关系确定测试用例的推荐结果,可以在未能全部覆盖程序重点类的情况下,提供一种参考依据,由研发测试人员来确定如何选择测试用例。
54.s240,若所述程序重点类被全部覆盖,则确定覆盖程序重点类的最小数量测试用例集作为推荐结果。
55.其中,最小数量测试用例集可以是包含所有程序重点类并且数量最小的测试用例的集合。例如,项目共有100个类,重点类有60个。如果抽取6个测试用例覆盖所有重点类,则确定最小测试用例集包括6个测试用例。
56.在本实施例中,确定覆盖程序重点类的最小数量测试用例集的过程可以是确定各测试用例映射的程序类中包含所述程序重点类的数量;抽取出包含所述程序重点类的数量最多的测试用例,并将已抽取的测试用例在映射表中标记为已统计。若所述程序重点类未被全部覆盖,则对所述映射表中未统计的测试用例按照包含所述程序重点类的数量最多的顺序逐个进行抽取,直至所述程序重点类被全部覆盖,则结束抽取;将抽取的测试用例按照
抽取顺序进行排列,得到测试用例的推荐结果。
57.本实施例中,在程序重点类被全部覆盖时,通过确定覆盖程序重点类的最小数量测试用例集作为推荐结果可以用较小的成本完成所需要的回归测试,既省时省力又保证较高的测试质量。
58.本方案通过测试用例映射的程序类与所述程序重点类之间的覆盖关系确定测试用例的推荐结果,可以有效地解决现有测试用例的覆盖问题,补充完善测试场景提升代码测试覆盖率。在程序重点类被全部覆盖时,通过确定覆盖程序重点类的最小数量测试用例集作为推荐结果可以用较小的成本完成所需要的回归测试,既省时省力又保证较高的测试质量。
59.实施例三
60.本实施例以实施例一为基础进行优化。具体优化为:根据所述覆盖率信息提取各测试用例与程序类的映射表。包括:对所述覆盖率信息从第一个文件开始读取,获取单个测试的用例名以及读取单个测试用例文件;遍历测试用例文件的每行数据,获取抽取时间、测试用例名以及程序类名;基于所述每行数据的抽取时间、测试用例名以及程序类名,插入测试用例与程序类的映射表。图3为本发明实施例三中的回归测试用例的推荐方法的流程图。如图3所示,本实施例的方法具体包括如下步骤:
61.s310,使用测试用例对目标应用进行代码测试,通过统计工具得到代码覆盖率信息;
62.本实施列中使用测试用例对目标应用进行代码测试,通过预先部署在所述目标应用的服务器中的jacocoagent服务收集测试执行数据,以得到代码覆盖率信息。
63.本实施列中,通过在应用服务器上启动jacocoagent服务收集测试执行数据,使用方法灵活,支持分支覆盖。
64.s320,对所述覆盖率信息从第一个文件开始读取,获取单个测试的用例名以及读取单个测试用例文件;
65.s330,遍历测试用例文件的每行数据,获取抽取时间、测试用例名以及程序类名;
66.其中,抽取时间可以是获取测试用例名的时间,通过自定义的抽取算法获取抽取时间。
67.其中,自定义抽取算法如下:
68.69.[0070][0071]
s340,基于所述每行数据的抽取时间、测试用例名以及程序类名,插入测试用例与程序类的映射表。
[0072]
其中,测试用例名可以通过用例代码映射矩阵得到对应的程序类名,根据测试用例和程序类的映射关系插入映射表。用例代码映射矩阵可以是根据测试用例和程序类的映射关系生成的矩阵。
[0073]
在本实施例中,通过用例代码映射矩阵将测试用例名和程序类名对应插入映射表,可以提高映射精度和插入映射表的速度。
[0074]
s350,根据所述映射表中各测试用例映射的程序类与预先确定的程序重点类之间的关系,采用预设推荐规则确定测试用例的推荐结果。
[0075]
本方案根据每条测试用例的代码覆盖率报告集,使用自定义抽取算法生成测试用例与程序类的映射表,可以建立起测试用例与程序类的对应关系,提高查询速度。
[0076]
实施例四
[0077]
图4为本发明实施例四提供的一种回归测试用例的推荐装置的结构框图,该装置可执行本发明任意实施例所提供的回归测试用例的推荐方法,具备执行方法相应的功能模块和有益效果。如图4所示,该装置可以包括:
[0078]
代码覆盖率获取模块410,用于使用测试用例对目标应用进行代码测试,通过统计工具得到代码覆盖率信息;
[0079]
映射表生成模块420,用于根据所述覆盖率信息提取各测试用例与程序类的映射表;
[0080]
测试用例结果推荐模块430,用于根据所述映射表中各测试用例映射的程序类与
预先确定的程序重点类之间的关系,采用预设推荐规则确定测试用例的推荐结果。
[0081]
进一步的,测试用例结果推荐模块430包括:
[0082]
覆盖关系判断单元,用于确定各测试用例映射的程序类与所述程序重点类之间的覆盖关系。
[0083]
第一结果推荐单元,用于若所述程序重点类被全部覆盖,则确定覆盖程序重点类的最小数量测试用例集作为推荐结果。
[0084]
进一步的,测试用例结果推荐模块430还包括:
[0085]
第二结果推荐单元,用于若所述程序重点类未被全部覆盖,则确定各测试用例映射的程序类中包含所述程序重点类的数量,按照所述数量的递减顺序对各测试用例进行排列,以作为测试用例的推荐结果。
[0086]
进一步的,所述装置还包括:
[0087]
程序重点类的数量确定模块,用于确定各测试用例映射的程序类中包含所述程序重点类的数量;
[0088]
测试用例抽取模块,用于抽取出包含所述程序重点类的数量最多的测试用例,并将已抽取的测试用例在映射表中标记为已统计;
[0089]
对应的,第二结果推荐单元,具体用于:
[0090]
若所述程序重点类未被全部覆盖,则对所述映射表中未统计的测试用例按照包含所述程序重点类的数量最多的顺序逐个进行抽取,直至所述程序重点类被全部覆盖,则结束抽取;将抽取的测试用例按照抽取顺序进行排列,得到测试用例的推荐结果。
[0091]
进一步的,所述映射表生成模块420包括:
[0092]
覆盖率信息读取单元,用于对所述覆盖率信息从第一个文件开始读取,获取单个测试的用例名以及读取单个测试用例文件;
[0093]
遍历测试用例文件单元,用于遍历测试用例文件的每行数据,获取抽取时间、测试用例名以及程序类名;
[0094]
映射表生成单元,用于基于所述每行数据的抽取时间、测试用例名以及程序类名,插入测试用例与程序类的映射表。
[0095]
进一步的,映射表生成模块420还包括:
[0096]
程序重点类获取单元,用于获取预先确定的程序重点类;
[0097]
程序重点类命中数值确定单元,用于基于所述程序类名命中所述程序重点类的数量,确定程序重点类命中数值;
[0098]
对应的,所述映射表生成单元具体用于将所述每行数据的抽取时间、测试用例名以及程序类名,以及所述程序重点类命中数值,插入测试用例与程序类的映射表。
[0099]
进一步的,所述代码覆盖率获取模块410,具体用于:使用测试用例对目标应用进行代码测试,通过预先部署在所述目标应用的服务器中的jacocoagent服务收集测试执行数据,以得到代码覆盖率信息。
[0100]
上述装置可执行本技术实施例所提供的回归测试用例的推荐方法,具备执行方法相应的功能模块和有益效果。
[0101]
实施例五
[0102]
本发明实施例五提供了一种计算机可读存储介质,其上存储有计算机程序,该程
序被处理器执行时实现如本技术所有发明实施例提供的回归测试用例的推荐方法:
[0103]
使用测试用例对目标应用进行代码测试,通过统计工具得到代码覆盖率信息;
[0104]
根据所述覆盖率信息提取各测试用例与程序类的映射表;
[0105]
根据所述映射表中各测试用例映射的程序类与预先确定的程序重点类之间的关系,采用预设推荐规则确定测试用例的推荐结果。
[0106]
可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0107]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括——但不限于——电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0108]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于——无线、电线、光缆、rf等等,或者上述的任意合适的组合。
[0109]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c ,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0110]
实施例六
[0111]
本技术实施例六提供了一种电子设备。图5是本技术实施例六提供的一种电子设备的结构示意图。如图5所示,本实施例提供了一种电子设备500,其包括:一个或多个处理器520;存储装置510,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器520执行,使得所述一个或多个处理器520实现本技术实施例所提供的回归测试用例的推荐方法,该方法包括:
[0112]
使用测试用例对目标应用进行代码测试,通过统计工具得到代码覆盖率信息;
[0113]
根据所述覆盖率信息提取各测试用例与程序类的映射表;
[0114]
根据所述映射表中各测试用例映射的程序类与预先确定的程序重点类之间的关系,采用预设推荐规则确定测试用例的推荐结果。
[0115]
当然,本领域技术人员可以理解,处理器520还实现本技术任意实施例所提供的回
归测试用例的推荐方法的技术方案。
[0116]
图5显示的电子设备500仅仅是一个示例,不应对本技术实施例的功能和使用范围带来任何限制。
[0117]
如图5所示,该电子设备500包括处理器520、存储装置510、输入装置530和输出装置540;电子设备中处理器520的数量可以是一个或多个,图5中以一个处理器520为例;电子设备中的处理器520、存储装置510、输入装置530和输出装置540可以通过总线或其他方式连接,图5中以通过总线550连接为例。
[0118]
存储装置510作为一种计算机可读存储介质,可用于存储软件程序、计算机可执行程序以及模块单元,如本技术实施例中的回归测试用例的推荐方法对应的程序指令。
[0119]
存储装置510可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端的使用所创建的数据等。此外,存储装置510可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实例中,存储装置510可进一步包括相对于处理器520远程设置的存储器,这些远程存储器可以通过网络连接。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0120]
输入装置530可用于接收输入的数字、字符信息或语音信息,以及产生与电子设备的用户设置以及功能控制有关的键信号输入。输出装置540可包括显示屏、扬声器等电子设备。
[0121]
本技术实施例提供的电子设备,通过代码覆盖率报告抽取出每条测试用例与程序类的映射表和最小测试用例集覆盖程序重点类,来确定回归测试用例集;可以补充完善测试场景,提升代码测试覆盖率。解决现有技术中用例选取基于测试人员的主观判断,因测试人员主观分析导致的测试遗漏的问题。
[0122]
上述实施例中提供的回归测试用例的推荐装置、介质及电子设备可执行本技术任意实施例所提供的回归测试用例的推荐方法,具备执行该方法相应的功能模块和有益效果。未在上述实施例中详尽描述的技术细节,可参见本技术任意实施例所提供的回归测试用例的推荐方法。
[0123]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献