CN108363660B - 一种测试程序生成方法和装置 - Google Patents

一种测试程序生成方法和装置 Download PDF

Info

Publication number
CN108363660B
CN108363660B CN201710057685.7A CN201710057685A CN108363660B CN 108363660 B CN108363660 B CN 108363660B CN 201710057685 A CN201710057685 A CN 201710057685A CN 108363660 B CN108363660 B CN 108363660B
Authority
CN
China
Prior art keywords
test
test component
program
parameter value
preset
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.)
Expired - Fee Related
Application number
CN201710057685.7A
Other languages
English (en)
Other versions
CN108363660A (zh
Inventor
李艳华
刘旭东
叶荣标
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710057685.7A priority Critical patent/CN108363660B/zh
Publication of CN108363660A publication Critical patent/CN108363660A/zh
Application granted granted Critical
Publication of CN108363660B publication Critical patent/CN108363660B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3684Test management for test design, e.g. generating new test cases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3668Software testing
    • G06F11/3672Test management
    • G06F11/3688Test management for test execution, e.g. scheduling of test suites

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Debugging And Monitoring (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明实施例公开了一种测试程序的生成方法和装置,包括分析目标业务程序的逻辑特性;在预设的执行环境中运行目标业务程序,测量预设的目标性能参数的第一参数值;在预设的测试组件库中查询与目标业务程序的逻辑特性关联的至少一个测试组件;配置至少一个测试组件中每个测试组件的数据负载,以及配置至少一个测试组件的组合策略;根据数据负载和组合策略将至少一个测试组件合成测试程序;在执行环境中运行测试程序,测试运行过程中目标性能参数的第二参数值;判断第一参数值和第二参数值的偏差值是否满足预设条件;若为是,生成测试程序的合成配置文件。采用本发明,能够提高测试程序的合成效率。

Description

一种测试程序生成方法和装置
技术领域
本发明涉及测试领域,尤其涉及一种测试程序的生成方法和装置。
背景技术
从事计算机体系结构工作的开发者在自己设计的体系结构实际做成硬件前,经常要在仿真器上部署自己的设计来验证想法的正确性。因此,在仿真器上运行benchmark程序,采集与体系结构有关的数据(如运行时间,缓存命中率等),用新数据与来自原有体系结构的数据进行对比,成为了体系机构开发者常用的手段。
目前典型的Benchmark合成技术方案,其基本流程包括:分析原始应用程序的特征;别和提取原始应用特征;于上述提取的应用特征构造Benchmark程序,在物理或者模拟平台上运行构造的Benchmark程序;基于运行结果来判断构造的Benchmark程序是否满足设计的精度和特征要求,如果不满足,则回到上一步重新构造Benchmark程序并再次验证;如果满足精度和特征要求,则保持当前的配置和代码,流程结束。
现有的Benchmark的合成流程可以看出:合成过程的工作量大和可重用性差,对每一个业务程序都要进行Benchmark构造,而且以程序特征为牵引的精度校准方法慢。
发明内容
本申请所要解决的技术问题在于,提供一种测试程序的生成方法及装置。可根据目标业务程序的逻辑特性快速的构建测试程序,具有工作量小和速度快的优点。
第一方面,本申请提供了一种测试程序的的生成方法,包括:
分析目标业务程序的逻辑特性,目标业务程序用于执行特定的业务的程序,逻辑特性包括但不限于关键操作、阶段特性、访存特性和线程通信等特性。在预设的执行环境中运行目标业务程序,执行环境表示运行目标业务程序的软件资源和硬件资源,在目标业务程序运行在执行环境的过程中,测试预设的目标性能参数的第一参数值,目标性能参数可以为一个或多个性能参数,目标性能参数包括但不限于指令比例、同步比例、通信比例、访存指令数、IO指令数。其中,可以采用Profile工具、PMU工具或PERF工具等测试目标性能参数的第一参数值。在预设的测试组件库中查询与目标业务程序的逻辑特性关联的至少一个测试组件,其中测试组件库中包括多个测试组件,每个测试组件配置有逻辑特性标签,在本实施例中,可以基于文本检索的方式在预设的测试组件库中查询关联的至少一个测试组件。对于选择的至少一个测试组件中的每个测试组件,在执行环境中运行测试组件,测量运行环境中目标性能参数的测量值,确定每个测试组件的测量值的贡献度,即每个测量值所占的权重。确定每个测试组件的数据负载,确定的方法可以是:基于主要牵引指标和上述测量到的每个测试组件的测量值的贡献度确定每个测试组件的数据负载。例如:可以采用准确量化和叠加的测量值,采用指令比例、同步比例、整体执行时间等作为确定每个测试组件的主要牵引指标,形成候选集,然后通过其他性能参数(例如IPC、缓存丢失率和内存带宽)的辅助来确定每个测试组件的数据负载。确定选择的至少一个测试组件的组合策略,基于目标业务程序的阶段特性、线程数量、线程生命周期等特征确定每个测试组件的加入时间、线程数量及线程通信方式。根据上述的数据负载和组合策略将选择的至少一个测试组件合成测试程序,在执行环境中运行测试程序,测量运行过程中目标性能参数的第二参数值,比较第一参数值和第二参数值的偏差值,偏差值可以是单个性能参数的偏差值和所有的性能参数的偏差值,在偏差值满足预设条件的情况下,生成测试程序的合成配置文件,合成配置文件包括每个测试组件的数据负载和组合策略。测试程序可以为Benchmark。
上述实施例,能根据业务程序的逻辑特征从测试组件库中选择和合成满足测试精度的测试程序,具有合成效率高和速度快的优点,同时测试程序具有很强的兼容性。
在本方面的一种可能的实施方式中,在第一参数值和第二参数值的偏差值不满足预设条件的情况下,重配置至少一个测试组件中每个测试组件的数据负载,以及重配置所述至少一个测试组件的组合策略,根据重新配置的数据负载和重新配置的组合策略合成测试程序,在执行环境中运行测试程序,测试运行过程中目标性能参数的参数值,根据得到参数值更新第二参数值,比较第一参数值和更新后的第二参数值的偏差值是否满足预设条件,若为是,生成测试程序的配置文件。
在本方面的一种可能的实施方式中,在第一参数值和第二参数值的偏差值不满足预设条件的情况下,在预设的测试组件库中重新查询与目标业务程序的逻辑特性关联的至少一个测试组件,此时查询到的至少一个测试组件发生更新,后续的处理过程参照第一方面,此处不再赘述。至少一个测试组件的更新包括增加新的测试组件和删除已有的测试组件。
在本方面的一种可能的实施方式中,在第一参数值和第二参数值的偏差值不满足预设条件的次数大于预设次数的情况下,减少偏差值,已降低测试精度要求。
第二方面,本申请还提供了一种图像标注装置,包括处理器和存储器,存储器中存储有程序代码,处理器调用该程序代码用于执行第一方面和第一方面的第一至第四方面的任意一种所述的测试图像的生成方法。
第三方面,本申请还提供了一种存储介质,用于控制计算机设备执行第一方面和第一方面至第四方面的任意一种所述的图测试程序的生成方法。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
图1本发明实施例提供的一种测试程序的生成方法的流程示意图
图2是本发明实施例提供的一种测试程序的生成装置的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。
参见图1,为本发明实施例提供的一种测试程序的生成方法的流程示意图,在本发明实施例中,所述方法包括:
S101、分析目标业务程序的逻辑特性。
具体的,目标业务程序用于执行特定的业务的程序,例如在芯片测试中,目标业务程序用于验证缓存一致性协议,又例如在局域网测试中,目标业务程序用于验证局域网通信协议。逻辑特性表示根据目标业务程序的特性抽象出来的应用特性,逻辑特性包括但不限于关键操作、阶段特性、访存特性、线程通信中的任意一种。其中,目标业务程序可具有一个或多个逻辑特性。
S102、在预设的执行环境中运行所述目标业务程序,测量预设的目标性能参数的第一参数值。
具体的,执行环境用于表示目标业务程序运行的硬件环境和软件环境,例如目标业务程序在虚拟机、物理机或仿真器中运行。生成装置将目标业务程序在预设的执行环境中运行,在运行过程中测量预设的目标性能参数的第一参数值,目标性能参数可以为一个或多个性能参数。例如,目标性能参数为:指令比例、通信比例、同步比例、计算指标、访存指标和IO指标,生成装置在目标业务程序在指定的执行环境中运行时,获取上述目标性能参数的第一参数值。需要说明的是,本实施例可以采用Profile工具、PMU工具或PERF工具等测试目标性能参数的第一参数值。假设此时测量得到的目标性能参数的第一参数值为:指令比例=a1,通信比例=b1,同步比例=c1,访存比例=d1,IO指标=e1。
S103、在预设的测试组件库中查询与所述目标业务程序的逻辑特性关联的至少一个测试组件。
具体的,测试组件库中包括多个测试组件,每个测试组件只执行单一的逻辑功能,即每个测试组件只具有单一的逻辑特性,在本实施例中,每个测试组件配置有一个逻辑特性标签,用于标识测试组件的逻辑特性。生成装置可根据S101分析出来的目标业务程序的逻辑特性在预设的测试组件库中匹配至少一个测试组件。例如:可以基于文本检索的方式在测试组件库中查询匹配的至少一个测试组件,测试组件的表现形式可以为Microbench。
S104、配置所述至少一个测试组件中每个测试组件的数据负载,以及配置所述至少一个测试组件的组合策略。
具体的,确定每个测试组件的数据负载,确定的方法可以是:基于主要牵引指标和上述测量到的每个测试组件的测量值的贡献度确定每个测试组件的数据负载。例如:可以采用准确量化和叠加的测量值,采用指令比例、同步比例、整体执行时间等作为确定每个测试组件的主要牵引指标,形成候选集,然后通过其他性能参数(例如IPC、缓存丢失率和内存带宽)的辅助来确定每个测试组件的数据负载。
S105、根据所述数据负载和所述组合策略将所述至少一个测试组件合成测试程序。
具体的,确定选择的至少一个测试组件的组合策略,基于目标业务程序的阶段特性、线程数量、线程生命周期等特征确定每个测试组件的加入时间、线程数量及线程通信方式。根据上述的数据负载和组合策略将选择的至少一个测试组件合成测试程序。
S106、在所述执行环境中运行所述测试程序,测试运行过程中所述目标性能参数的第二参数值。
具体的,在执行环境中运行测试程序,测量运行过程中目标性能参数的第二参数值,此处的目标性能参数和S102中的目标性能参数相同,比较第一参数值和第二参数值的偏差值,偏差值可以是单个性能参数的偏差值和所有的性能参数的偏差值。
举例说明,S106中测量得到的目标性能参数的第二参数值为:指令比例=a2,通信比例=b2,同步比例=c2,访存比例=d2,IO指标=e2。根据S102测量得到的目标性能参数的第一参数值,生成装置计算a1和a2之间的偏差值,b1和b2之间的偏差值、c1和c2之间的偏差值,d1和d2之间的偏差值,以及e1和e2之间的偏差值,判断上述偏差值是否均小于预设值,在判断结果为是的情况下,确定偏差值满足预设条件,执行S107。
在一种可能的实施方式中,生成装置还根据获得的上述偏差值,确定上述每个偏差值的权重,根据权重对上述偏差值进行求和得到总偏差值,在确定总偏差值小于预设值的情况下,确定满足预设条件,执行S107。
S107、在所述第一参数值和所述第二参数值的偏差值满足预设条件的情况下,生成所述测试程序的合成配置文件。
具体的,在偏差值满足预设条件的情况下,生成测试程序的合成配置文件,合成配置文件包括每个测试组件的数据负载和组合策略。测试程序可以为Benchmark。
上述实施例,能根据业务程序的逻辑特征从测试组件库中选择和合成满足测试精度的测试程序,具有合成效率高和速度快的优点,同时测试程序具有很强的兼容性。
可选的,所述配置所述至少一个测试组件中每个测试组件的数据负载包括:
在所述执行环境中运行每个测试组件,测量运行过程中所述目标性能参数的测量值;
根据每个测试组件的测量值配置每个测试组件的数据负载。
具体的,执行环境和S102中的执行环境相同,对于每个测试组件,生成装置在执行环境中运行测试组件,测量测试组件在运行过程中目标性能参数的测量值,此处的目标性能参数和S102中的目标性能参数相同,例如目标性能参数为指令比例、同步比例、通信比例、计算比例、访存比例和IO比例,生成装置测量出每个测试组件的目标性能参数的测量值,对应每个测试组件,评估目标性能参数中每个维度的贡献度。
示例性的,选择的测试组件为测试组件1、测试组件2、测试组件3,目标性能参数为参数a、参数b和参数c,生成装置测量得到上述三个测试组件在执行环境中的测量值:测试组件1的参数a=a1,参数b=b1,参数c=c1;测试组件2的参数a=a2,参数b=b2,参数c=c2;测试组件3的参数a=a3,参数b=b3,参数c=c3,则测试组件1中参数a的测量值的贡献度=a1/(a1+a2+a3),测试组件1中参数b的测量值的贡献度=b1/(b1+b2+b3),测试组件1中参数c的测量值的贡献度=c1/(c1+c2+c3),测试组件2和测试组件3中各个维度的贡献度可参数测试组件1的计算方式,此处不再赘述。生成装置根据上述得到的各个维度的贡献度确定每个测试组件的负载。
可选的,所述方法还包括:
在所述第一参数值和所述第二参数值的偏差值不满足预设条件的情况下,重配置所述至少一个测试组件中每个测试组件的数据负载,以及重配置所述至少一个测试组件的组合策略。
具体的,在第一参数值和第二参数值的偏差值不满足预设条件的情况下,重配置至少一个测试组件中每个测试组件的数据负载,以及重配置至少一个测试组件的组合策略,根据重新配置的数据负载和重新配置的组合策略合成测试程序,在执行环境中运行测试程序,测试运行过程中目标性能参数的参数值,根据得到参数值更新第二参数值,比较第一参数值和更新后的第二参数值的偏差值是否满足预设条件,若为是,生成测试程序的配置文件。重配置数据负载可以是根据预设的补偿增加或减少每个数据的负载,重配置组合策略的方式可以是,调整测试组件的执行顺序。
可选的,所述方法还包括:
在所述第一参数值和所述第二参数值的偏差值不满足预设条件的情况下,在预设的测试组件库中重查询与所述目标业务程序的逻辑特性关联的至少一个测试组件。
具体的,在第一参数值和第二参数值的偏差值不满足预设条件的情况下,在预设的测试组件库中重新查询与目标业务程序的逻辑特性关联的至少一个测试组件,此时查询到的至少一个测试组件发生更新,后续的处理过程参照第一方面,此处不再赘述。至少一个测试组件的更新包括增加新的测试组件和删除已有的测试组件。
可选的,所述组合策略包括测试组件的加入时间、线程数量和线程间通信方式中的一种或多种。
下面就一个具体的实施例对本发明实施例的测试程序的生成方法进行说明,在本发明实施例中测试组件以Microbench为例。
目标业务程序的逻辑特性分析以及选取Microbench。Hadoop的TeraSort计算逻辑上主要是对Record中的10个字节进行排序,为了使每个Reduce内部数据无序,但是Reduce之间的数据保持顺序性,即Reduce0的数据都小于Reduce1的数据,Terasort的实现过程中根据Split Point建立Trie树。Trie树的结构共两层,每一层有256个结点,对应256个ASCII(American Standard Code for Information Interchange,美国信息交换标准代码,简称ASCII)码值,输入的数据可以依据Trie树分到正确的Partitioner,划分的过程也是读取Key的前两个码值,找到相应的叶子结点,再同该叶子结点的Bound进行比较,决定最后归属的Partitioner。另外,Hadoop框架中涉及到Hash的过程,因此之后可以看到选取的Microbench有拟合Hash的过程。
按照Hadoop TeraSort程序的执行过程,首先Hadoop Terasort根据Split point建立Trie树涉及图操作,我们使用图的遍历操作BFS进行拟合,之后我们使用同样具有Split输入数据、多线程快速排序、Merge中间数据、全排序输出过程的Openmp Sort拟合Terasort的排序过程。最后,在Hadoop框架中使用了Hash算法,因此我们使用Openmp MD5拟合框架的Hash过程。整个过程我们抽象成首先建立Trie树(Openmp BFS),然后hadoop框架hash过程(Openmp MD5)和排序(Openmp Sort)同时进行的过程。因此通过对HadoopTeraSort负载的特性以及阶段性特征的分析,我们找出了几个与目标单元功能最接近的组件作为建模候选,这样可以通过分析应用运行逻辑将几个Microbench进行有机组合(串联、并联、串并联组合)形成对于Hadoop的TeraSort的描述。在实测中,我们采用串行BFS+并行MD5和Sort的组合方式。
目标业务程序在目标平台指标量化分析以及Microbench在目标平台指标量化分析。为了保证Microbench具有独特的性质以及设计的组合方式能够表现目标应用的特征,需要在目标平台上进行评测。主要关注计算机微架构层面的指标包括但不限于:指令比例、同步/通信比例、计算指标、访存指标、IO指标等。然后在目标平台上获取Microbench的不同组合以及真实应用的性能数据。主要做法为首先分析每个组合中的Microbench特征,然后分析目标应用特征,最后根据特征在4.1的基础上对于Microbench组合进行调整以适应指标的要求。选出的Hadoop的TeraSort负载Microbench主要有:Openmp Sort、Openmp BFS、Openmp MD5等。为了将Microbench组合,以生产最终组合Bench,首先必须在目标物理平台测试上述Microbench的量化指标,如指令比例;其次,需要测试Hadoop的TeraSort负载的量化指标;然后再分析他们之间的对应关系确定每个Microbench的负载;然后通过采用如下策略:优先采用可以准确量化、叠加的指标,比如指令比例、同步比例、整体执行时间比例等作为确定每个Microbench的主要牵引指标,形成候选集;再通过其他重要指标如IP、CacheMiss Rate、Memory带宽等选择最合适Microbench负载;最后通过调整Microbench组合的比例,在不破坏运行逻辑的前提下,逼近目标应用(Hadoop的TeraSort应用)。
测试结果:通过使用性能检测工具包括Profile工具(Vtune等)、PMU事件统计、PERF、操作系统性能数据等进行数据采集计算组合Bench与目标应用在这些性能指标下的偏差。
表1为在某物理平台上运行测试目标业务程序以及组合Bench的微观指标对比结果。在实测中,我们采用不同规模数据集进行适应性测试(例如5G和10G数据量)。
Figure BDA0001219782110000061
表1
通过该结果可以看出,组合Bench与目标业务程序有极高的相似度(从算术运算/逻辑运算指令比重的相似度可以看出),同时在其他微观指标上也有极高的准确性,除了“L1D TLB Hit”,在5G数据集大小的情况下该指标的偏差高达35%,因此在该指标成为关键指标时,可以通过对组合bench中Microbench的比例进行调整,然后重新测试,就可以得到调整以后的组合bench在多个维度下的性能指标;重新对比调整以后的组合bench与目标应用在这些维度下性能指标的偏差以决定是否需要重新调整Mircobench的组合比例。最终满足可行性与准确性要求的一组Microbench的组合方式将被记录在配置文件中,该文件记录了组合bench所包含的各个Microbench项目,组合方式,以及每一个Microbench所占比例;通过参考这份配置文件,用户可以快速从Microbench库中选取出需要组成目标应用的Microbench集并按照配置文件中规定的方式将其组合,加入比例信息后就可以得到对该目标应用进行精简建模的一个实例。
参见图2,为本发明实施例提供的一种测试程序的生成装置的结构示意图,在本发明实施例中,生成装置2包括处理器20、存储器21和通信接口22。通信接口22用于与外部设备之间收发数据。生成装置2中的处理器20的数量可以是一个或多个。本发明的一些实施例中,处理器20、存储器21和收发器22可通过总线系统或其他方式连接。生成装置2可以用于执行图1所示的方法。关于本实施例涉及的术语的含义以及举例,可以参考图1对应的实施例。此处不再赘述。
其中,存储器21中存储程序代码。处理器20用于调用存储器21中存储的程序代码,用于执行以下操作:
分析目标业务程序的逻辑特性;
在预设的执行环境中运行所述目标业务程序,测量预设的目标性能参数的第一参数值;
在预设的测试组件库中查询与所述目标业务程序的逻辑特性关联的至少一个测试组件;
配置所述至少一个测试组件中每个测试组件的数据负载,以及配置所述至少一个测试组件的组合策略;
根据所述数据负载和所述组合策略将所述至少一个测试组件合成测试程序;
在所述执行环境中运行所述测试程序,测试运行过程中所述目标性能参数的第二参数值;
判断所述第一参数值和所述第二参数值的偏差值是否满足预设条件;
若为是,生成所述测试程序的合成配置文件。
可选的,处理器21执行所述配置所述至少一个测试组件中每个测试组件的数据负载包括:
在所述执行环境中运行每个测试组件,测量运行过程中所述目标性能参数的测量值;
根据每个测试组件的测量值配置每个测试组件的数据负载。
可选的,处理器21还用于执行:
在所述第一参数值和所述第二参数值的偏差值不满足预设条件的情况下,重配置所述至少一个测试组件中每个测试组件的数据负载,以及重配置所述至少一个测试组件的组合策略。
可选的,处理器21还用于执行:
在所述第一参数值和所述第二参数值的偏差值不满足预设条件的情况下,在预设的测试组件库中重查询与所述目标业务程序的逻辑特性关联的至少一个测试组件。
可选的,所述组合策略包括测试组件的加入时间、线程数量和线程间通信方式中的一种或多种。
上述实施例,能根据业务程序的逻辑特征从测试组件库中选择和合成满足测试精度的测试程序,具有合成效率高和速度快的优点,同时测试程序具有很强的兼容性。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明一种实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。

Claims (8)

1.一种测试程序的生成方法,其特征在于,包括:
分析目标业务程序的逻辑特性,所述逻辑特性表示根据所述目标业务程序的特性抽象出来的应用特性;
在预设的执行环境中运行所述目标业务程序,测量预设的目标性能参数的第一参数值;
在预设的测试组件库中查询与所述目标业务程序的逻辑特性关联的至少一个测试组件;
配置所述至少一个测试组件中每个测试组件的数据负载,以及配置所述至少一个测试组件的组合策略,其中,所述组合策略包括测试组件的加入时间、线程数量和线程间通信方式中的一种或多种;
根据所述数据负载和所述组合策略将所述至少一个测试组件合成测试程序;在所述执行环境中运行所述测试程序,测试运行过程中所述目标性能参数的第二参数值;
判断所述第一参数值和所述第二参数值的偏差值是否满足预设条件;
若为是,生成所述测试程序的合成配置文件;
其中,所述配置所述至少一个测试组件中每个测试组件的数据负载包括:在所述执行环境中运行每个测试组件,测量运行过程中所述目标性能参数的测量值;根据每个测试组件的测量值配置每个测试组件的数据负载。
2.如权利要求1所述的方法,其特征在于,还包括:在所述第一参数值和所述第二参数值的偏差值不满足预设条件的情况下,重配置所述至少一个测试组件中每个测试组件的数据负载,以及重配置所述至少一个测试组件的组合策略。
3.如权利要求1所述的方法,其特征在于,还包括:在所述第一参数值和所述第二参数值的偏差值不满足预设条件的情况下,在预设的测试组件库中重查询与所述目标业务程序的逻辑特性关联的至少一个测试组件。
4.一种测试程序的生成装置,其特征在于,包括处理器和存储器,所述存储器中存储一组程序代码,所述处理器调用所述存储器中存储的程序代码,用于执行以下操作:
分析目标业务程序的逻辑特性,所述逻辑特性表示根据所述目标业务程序的特性抽象出来的应用特性;
在预设的执行环境中运行所述目标业务程序,测量预设的目标性能参数的第一参数值;
在预设的测试组件库中查询与所述目标业务程序的逻辑特性关联的至少一个测试组件;
配置所述至少一个测试组件中每个测试组件的数据负载,以及配置所述至少一个测试组件的组合策略,其中,所述组合策略包括测试组件的加入时间、线程数量和线程间通信方式中的一种或多种;
根据所述数据负载和所述组合策略将所述至少一个测试组件合成测试程序;
在所述执行环境中运行所述测试程序,测试运行过程中所述目标性能参数的第二参数值;
判断所述第一参数值和所述第二参数值的偏差值是否满足预设条件;
若为是,生成所述测试程序的合成配置文件;
其中,
所述处理器执行所述配置所述至少一个测试组件中每个测试组件的数据负载包括:在所述执行环境中运行每个测试组件,测量运行过程中所述目标性能参数的测量值;根据每个测试组件的测量值配置每个测试组件的数据负载。
5.如权利要求4所述的装置,其特征在于,所述处理器还用于执行:
在所述第一参数值和所述第二参数值的偏差值不满足预设条件的情况下,重配置所述至少一个测试组件中每个测试组件的数据负载,以及重配置所述至少一个测试组件的组合策略。
6.如权利要求4所述的装置,其特征在于,所述处理器还用于执行:
在所述第一参数值和所述第二参数值的偏差值不满足预设条件的情况下,在预设的测试组件库中重查询与所述目标业务程序的逻辑特性关联的至少一个测试组件。
7.一种测试程序的生成装置,其特征在于,包括:
处理器和存储器;其中,所述存储器中存储程序代码,所述处理器用于调用所述存储器中存储的程序代码,用于执行权利要求1至3任意一项所述的方法。
8.一种计算机可读取存储介质,其特征在于,
所述计算机可读取存储介质存储有计算机程序,所述计算机程序被硬件执行时能够实现权利要求1至3任意一项所述的方法。
CN201710057685.7A 2017-01-26 2017-01-26 一种测试程序生成方法和装置 Expired - Fee Related CN108363660B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710057685.7A CN108363660B (zh) 2017-01-26 2017-01-26 一种测试程序生成方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710057685.7A CN108363660B (zh) 2017-01-26 2017-01-26 一种测试程序生成方法和装置

Publications (2)

Publication Number Publication Date
CN108363660A CN108363660A (zh) 2018-08-03
CN108363660B true CN108363660B (zh) 2021-06-01

Family

ID=63011450

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710057685.7A Expired - Fee Related CN108363660B (zh) 2017-01-26 2017-01-26 一种测试程序生成方法和装置

Country Status (1)

Country Link
CN (1) CN108363660B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109190382B (zh) * 2018-09-11 2020-04-07 网御安全技术(深圳)有限公司 一种cpu信道检测方法、智能终端及存储介质
CN111198787B (zh) * 2018-11-16 2021-11-02 长鑫存储技术有限公司 测试程序生成方法、装置、存储介质及电子设备
CN112532447A (zh) * 2020-11-27 2021-03-19 锐捷网络股份有限公司 一种rdma参数配置的方法、装置及存储介质
CN115455089B (zh) * 2022-11-09 2023-02-28 西安弘捷电子技术有限公司 一种无源组件的性能评估方法、系统及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103257923A (zh) * 2013-04-16 2013-08-21 中国科学院计算技术研究所 数据中心数据分析类基准测试程序的应用选取方法及系统
CN104850411A (zh) * 2015-06-10 2015-08-19 清华大学 存储系统基准评测程序生成方法及装置
CN105260191A (zh) * 2015-11-03 2016-01-20 中国电子科技集团公司第四十一研究所 一种基于配置的测试程序与操作员界面数据交互方法
CN105677521A (zh) * 2015-12-29 2016-06-15 东南大学—无锡集成电路技术研究所 一种面向移动智能终端处理器的基准测试程序合成方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9569342B2 (en) * 2012-12-20 2017-02-14 Microsoft Technology Licensing, Llc Test strategy for profile-guided code execution optimizers

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103257923A (zh) * 2013-04-16 2013-08-21 中国科学院计算技术研究所 数据中心数据分析类基准测试程序的应用选取方法及系统
CN104850411A (zh) * 2015-06-10 2015-08-19 清华大学 存储系统基准评测程序生成方法及装置
CN105260191A (zh) * 2015-11-03 2016-01-20 中国电子科技集团公司第四十一研究所 一种基于配置的测试程序与操作员界面数据交互方法
CN105677521A (zh) * 2015-12-29 2016-06-15 东南大学—无锡集成电路技术研究所 一种面向移动智能终端处理器的基准测试程序合成方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
面向并行Agent仿真的合成基准测试模型;余文广等;《系统工程与电子技术》;20120430;第34卷(第4期);全文 *

Also Published As

Publication number Publication date
CN108363660A (zh) 2018-08-03

Similar Documents

Publication Publication Date Title
US9569179B1 (en) Modifying models based on profiling information
US9037915B2 (en) Analysis of tests of software programs based on classification of failed test cases
US10025696B2 (en) System and method for equivalence class analysis-based automated requirements-based test case generation
CN108363660B (zh) 一种测试程序生成方法和装置
CN106897109B (zh) 基于随机森林回归的虚拟机性能预测方法
CN108345544B (zh) 一种基于复杂网络的软件缺陷分布影响因素分析方法
EP2095236B1 (en) Method, system and computer program for testing software applications based on multiple data sources
CN104850411B (zh) 存储系统基准评测程序生成方法及装置
KR20100069573A (ko) 프로그램 분석을 보조하는 방법, 컴퓨터 판독가능한 기록 매체 및 컴퓨터 시스템
Şora et al. Software architecture reconstruction: An approach based on combining graph clustering and partitioning
CN111309581B (zh) 一种数据库升级场景下的应用性能检测方法及装置
CN113128143B (zh) Ai处理器的仿真方法、装置、计算机设备及存储介质
CN113868120A (zh) 工业软件调试方法、装置、计算机设备和存储介质
CN106933572B (zh) 一种基于llvm中间表示程序切片的度量模型
Zhang et al. A comprehensive deep learning library benchmark and optimal library selection
CN112600936B (zh) 一种云计算系统服务的量化和评估方法
Eismann et al. Integrating statistical response time models in architectural performance models
Rathfelder et al. Capacity planning for event-based systems using automated performance predictions
Hauck et al. Ginpex: deriving performance-relevant infrastructure properties through goal-oriented experiments
CN110109811A (zh) 一种面向gpu计算性能问题的溯源方法
Liu et al. Agent-based online quality measurement approach in cloud computing environment
CN109976802A (zh) 一种面向模式的软件架构重构方法
CN106547696A (zh) 一种面向工作流系统的测试用例生成方法及装置
Triantafyllidis et al. Low-level profiling and marte-compatible modeling of software components for real-time systems
Zhang et al. Design of Reusable Effectiveness Evaluation Model Framework

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20210601

Termination date: 20220126

CF01 Termination of patent right due to non-payment of annual fee