CN110188039A - 软件测试、软件优化的方法与系统 - Google Patents
软件测试、软件优化的方法与系统 Download PDFInfo
- Publication number
- CN110188039A CN110188039A CN201910420787.XA CN201910420787A CN110188039A CN 110188039 A CN110188039 A CN 110188039A CN 201910420787 A CN201910420787 A CN 201910420787A CN 110188039 A CN110188039 A CN 110188039A
- Authority
- CN
- China
- Prior art keywords
- software
- simulation
- model
- result
- simulation result
- 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
- 238000000034 method Methods 0.000 title claims abstract description 99
- 238000004088 simulation Methods 0.000 claims abstract description 244
- 238000004458 analytical method Methods 0.000 claims abstract description 77
- 238000005457 optimization Methods 0.000 claims abstract description 47
- 230000004044 response Effects 0.000 claims abstract description 21
- 238000013461 design Methods 0.000 claims description 68
- 230000006870 function Effects 0.000 claims description 27
- 238000013139 quantization Methods 0.000 claims description 17
- 238000003745 diagnosis Methods 0.000 claims description 16
- 238000013522 software testing Methods 0.000 claims description 16
- 238000003062 neural network model Methods 0.000 claims description 12
- 235000013399 edible fruits Nutrition 0.000 claims description 6
- 210000004218 nerve net Anatomy 0.000 claims description 3
- 210000005036 nerve Anatomy 0.000 claims description 2
- 206010054949 Metaplasia Diseases 0.000 claims 1
- 230000015689 metaplastic ossification Effects 0.000 claims 1
- 238000010998 test method Methods 0.000 abstract 1
- 230000007547 defect Effects 0.000 description 24
- 238000013528 artificial neural network Methods 0.000 description 23
- 230000008569 process Effects 0.000 description 18
- 239000012530 fluid Substances 0.000 description 16
- 238000004519 manufacturing process Methods 0.000 description 10
- 238000012163 sequencing technique Methods 0.000 description 10
- 238000013507 mapping Methods 0.000 description 9
- 239000000463 material Substances 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 238000003860 storage Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000012805 post-processing Methods 0.000 description 6
- 241000208340 Araliaceae Species 0.000 description 5
- 235000005035 Panax pseudoginseng ssp. pseudoginseng Nutrition 0.000 description 5
- 235000003140 Panax quinquefolius Nutrition 0.000 description 5
- 230000008859 change Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 235000008434 ginseng Nutrition 0.000 description 5
- 238000004364 calculation method Methods 0.000 description 4
- 238000012549 training Methods 0.000 description 4
- 238000005094 computer simulation Methods 0.000 description 3
- 230000005611 electricity Effects 0.000 description 3
- 238000010438 heat treatment Methods 0.000 description 3
- 238000002203 pretreatment Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 230000005670 electromagnetic radiation Effects 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000010129 solution processing Methods 0.000 description 2
- 241001269238 Data Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 238000000926 separation method Methods 0.000 description 1
- 238000004904 shortening Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/20—Design optimisation, verification or simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Evolutionary Computation (AREA)
- Biomedical Technology (AREA)
- Quality & Reliability (AREA)
- Artificial Intelligence (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Geometry (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请实施例提供了一种软件测试、优化的方法及系统。该测试方法包括:确定待测仿真软件对产品模型进行仿真得到第一仿真结果;确定所述待测仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果;根据所述第一仿真结果以及第二仿真结果,对所述待测仿真软件进行诊断。该优化方法包括:确定待优化仿真软件对产品模型进行仿真得到第一仿真结果;确定所述待优化仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果;对所述第一仿真结果以及第二仿真结果进行差异分析,响应于差异分析结果大于预设的差异阈值,对所述待优化仿真软件进行优化。通过软件进行测试及优化,提高软件的准确性和稳定性,加速软件的研发周期。
Description
技术领域
本申请实施例涉及软件测试及优化技术领域,尤其涉及一种软件测试、软件优化的方法与系统。
背景技术
工业仿真软件是对实体工业仿真的一种虚拟,其将实体工业仿真中的各个模块转化成数据整合到一个虚拟的体系中,在这个体系中模拟实现工业仿真作业中的每一项工作和流程,并与之实现交互。工业仿真技术的引入,工业仿真软件在各行业领域的工业仿真环节的广泛应用,使工业仿真设计发生了质的飞跃。
随着工业仿真软件的大规模应用,在软件开发过程中出现错误或缺陷的机率越来越高。软件测试及优化伴随着软件的产生而产生,随着市场对软件质量重要性的认识持续增强,软件测试及优化在软件项目实施过程中的重要性日益突出。
发明内容
有鉴于此,本发明实施例所解决的技术问题之一在于提供一种软件测试的方法及系统,对工业仿真软件进行测试,发现工业仿真软件中存在的问题和缺陷。本发明实施例所解决的技术问题之一还在于提供一种软件优化的方法及系统,对工业仿真软件进行优化。通过对工业仿真软件进行测试及优化,以提高工业仿真软件的准确性和稳定性,加速工业仿真软件的研发周期。
为达上述目的及其他相关目的,本申请实施例提供一种软件测试方法,包括:确定待测仿真软件对产品模型进行仿真得到第一仿真结果;确定所述待测仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果;根据所述第一仿真结果以及第二仿真结果,对所述待测仿真软件进行诊断。
可选地,在本申请的任一实施例中,所述软件测试方法还包括:获取匹配任务需求的已有所述产品模型。
可选地,在本申请的任一实施例中,所述软件测试方法还包括:实时设计匹配任务需求的所述产品模型。
可选地,在本申请的任一实施例中,所述软件测试方法还包括:对所述任务需求进行量化生成设计指标,基于预先建立的生成模型,按照预设的建模规则,根据所述设计指标生成匹配所述任务需求的所述产品模型。
可选地,在本申请的任一实施例中,所述生成模型为第一深度神经网络模型。
可选地,在本申请的任一实施例中,所述第一深度神经网络模型为生成式对抗网络,但不限于此。
可选地,在本申请的任一实施例中,所述软件测试方法还包括:基于预先建立的学习模型,根据所述设计指标生成模型参数,通过所述生成模型,按照所述建模规则生成匹配所述任务需求的所述产品模型。
可选地,在本申请的任一实施例中,将所述第一仿真结果与第二仿真结果进行比较,根据比较结果,通过所述学习模型对所述模型参数进行调整,以对所述产品模型进行更新。
可选地,在本申请的任一实施例中,将所述第一仿真结果与第二仿真结果进行比较,根据比较结果对所述产品模型进行修正,以对所述产品模型进行更新。
可选地,在本申请的任一实施例中,所述学习模型包括:策略网络,所述策略网络根据所述比较结果确定执行所述模型参数的调整操作。
可选地,在本申请的任一实施例中,所述学习模型还包括:价值网络,所述价值网络用于对所述策略网络执行的所述模型参数的调整操作进行评估。
可选地,在本申请的任一实施例中,所述策略网络通过损失函数确定所述模型参数的调整操作。
可选地,在本申请的任一实施例中,所述根据所述第一仿真结果以及第二仿真结果,对所述待测仿真软件进行诊断包括:基于预先建立的诊断模型,根据所述第一仿真结果以及第二仿真结果,对所述待测仿真软件进行诊断。
可选地,在本申请的任一实施例中,所述对所述待测仿真软件进行诊断包括:根据仿真的阶段,对所述待测仿真软件进行阶段性诊断。
可选地,在本申请的任一实施例中,所述诊断模型为第二深度神经网络模型。
可选地,在本申请的任一实施例中,所述基于预先建立的诊断模型,根据所述第一仿真结果以及第二仿真结果,对所述待测仿真软件进行诊断包括:基于预先建立的差计算模型,对所述第一仿真结果以及第二仿真结果进行差计算,将差计算结果输入所述诊断模型,以对所述待测仿真软件进行诊断。
本申请实施例还提供一种软件测试系统,包括:仿真模块,用于确定待测仿真软件对产品模型进行仿真得到第一仿真结果,以及,确定所述待测仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果;诊断模块,用于根据所述第一仿真结果以及第二仿真结果,对所述待测仿真软件进行诊断。
本申请实施例还提供一种软件优化方法,包括:确定待优化仿真软件对产品模型进行仿真得到第一仿真结果;确定所述待优化仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果;对所述第一仿真结果以及第二仿真结果进行差异分析,响应于差异分析结果大于预设的差异阈值,对所述待优化仿真软件进行优化。
可选地,在本申请的任一实施例中,所述软件优化方法还包括:获取匹配所述任务需求的已有所述产品模型。
可选地,在本申请的任一实施例中,所述软件优化方法还包括:实时设计匹配所述任务需求的所述产品模型。
可选地,在本申请的任一实施例中,所述软件优化方法还包括:对所述任务需求进行量化生成设计指标,基于预先建立的生成模型,按照预设的建模规则,根据所述设计指标生成匹配所述任务需求的所述产品模型。
可选地,在本申请的任一实施例中,所述响应于差异分析结果大于预设的差异阈值,对所述待优化仿真软件进行优化包括:响应于所述差异分析结果大于所述差异阈值,根据所述差异分析结果生成优化参数,以对所述待优化仿真软件进行优化。
可选地,在本申请的任一实施例中,所述软件优化方法还包括:基于预先建立的学习模型,根据所述设计指标生成模型参数以及优化参数;通过所述生成模型,按照预设的建模规则,根据所述模型参数生成匹配所述任务需求的所述产品模型,以及根据所述优化参数,通过所述学习模型对所述待优化仿真软件进行优化。
可选地,在本申请的任一实施例中,所述响应于差异分析结果大于预设的差异阈值,对所述待优化仿真软件进行优化包括:响应于所述差异分析结果大于所述差异阈值,根据所述差异分析结果,通过所述学习模型对所述优化参数进行调整,以对所述待优化软件进行优化。
本申请实施例还提供一种软件优化系统,包括:仿真模块,用于确定待优化仿真软件对产品模型进行仿真得到第一仿真结果;以及,确定所述待优化仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果;分析模块,用于对所述第一仿真结果以及第二仿真结果进行差异分析,得到差异分析结果;优化模块,响应于所述差异分析结果大于预设的差异阈值,对所述待优化仿真软件进行优化。
由上可知,本申请实施例所提供的软件测试方法与系统,通过待测仿真软件对产品模型进行仿真得到第一仿真结果,与待测仿真软件对应的标准仿真软件对产品模型进行仿真得到第二仿真结果;根据第一仿真结果与第二仿真结果,以对待测仿真软件进行诊断,输出待测仿真软件存在的缺陷或问题。本申请实施例所提供的软件优化方法及系统,通过待优化仿真软件对产品模型进行仿真得到第一仿真结果;与待优化仿真软件对应的标准仿真软件对产品模型进行仿真得到第二仿真结果;然后根据第一仿真结果和第二仿真结果,对待优化仿真软件进行优化。通过对工业仿真软件进行测试及优化,以提高工业仿真软件的准确性和稳定性,加速工业仿真软件的研发周期。而且,在这个过程中,工业仿真软件的测试及优化能够基于人工智能自动完成,基本上替代了人工测试,省事省力。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本申请实施例的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1为根据本申请的第一实施例所示的软件测试方法的流程图;
图2为根据本申请的第二实施例所示的软件测试方法的流程图;
图3为根据本申请的第三实施例所示的软件测试方法的流程图;
图4为根据本申请的第一实施例所示的软件测试系统的结构图;
图5为根据本申请的第二实施例所示的软件测试系统的结构图;
图6为根据本申请的第三实施例所示的软件测试系统的结构图;
图7为根据本申请的第一实施例所示的软件优化方法的流程图;
图8为根据本申请的第二实施例所示的软件优化方法的流程图;
图9为根据本申请的第三实施例所示的软件优化方法的流程图;
图10为根据本申请的第一实施例所示的软件优化系统的结构图;
图11为根据本申请的第二实施例所示的软件优化系统的结构图;
图12为根据本申请的第三实施例所示的软件优化系统的结构图。
具体实施方式
实施本发明实施例的任一技术方案必不一定需要同时达到以上的所有优点。
为了使本领域的人员更好地理解本发明实施例中的技术方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明实施例一部分实施例,而不是全部的实施例。基于本发明实施例中的实施例,本领域普通技术人员所获得的所有其他实施例,都应当属于本发明实施例保护的范围。
下面结合本发明实施例附图进一步说明本发明实施例具体实现。
图1为根据本申请的第一实施例所示的软件测试方法的流程图。如图1所示,本实施例的软件测试方法包括:
步骤S101、采集任务需求,明确需要验证的任务。
在此步骤中,根据实际任务需求,明确需要进行仿真的类型、仿真的具体要求,以便获取仿真所需的产品模型。由于不同的仿真对应需求不同的产品模型,如电磁仿真对应需要的就是电磁模型、流体仿真对应需要的就是流体模型、力学仿真对应需要的就是力学模型等。
可选地,在一应用场景中,通过采集所述任务需求为原始问题和目标建立逻辑模型。具体的,通过采集任务需求,准确理解项目的功能、性能、可靠性等具体要求,将非形式的需求转化为完整的需求定义,确定项目的约束条件、响应时间、与其它项目之间的关系等,确定项目的综合要求,清除模糊性、歧义性和不一致的需求,为原始问题和目标建立逻辑模型。
步骤S102、获取匹配所述任务需求的已有产品模型。
可选地,在一应用场景中,从模型库中获取匹配所述任务需求的所述产品模型。模型库中的模型可以是利用经验丰富的设计师,基于产品外形尺寸(产品尺寸等)和产品性能指标等要求,通过在一个或多个计算机仿真设计工具中建立产品仿真模型作为产品模型。需要说明的是,通过在一个或多个计算机仿真设计工具建立的产品模型不必是最优模型,只需其能够满足相对应的任务需求即可,比如,电磁模型只要能够满足电磁性能仿真、力学模型只要求能够满足力学性能仿真即可,此处对产品模型的质量不做具体要求。
步骤S103A,确定待测仿真软件对产品模型进行仿真得到第一仿真结果;
步骤S103B,确定所述待测仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果。
步骤S103A与步骤S103B为并列步骤,可同时进行,也可先后进行,执行顺序对结果并不产生影响。需要说明的是,由待测仿真软件对产品模型进行仿真得到第一仿真结果,标准仿真软件对产品模型进行仿真得到第二仿真结果,二者进行仿真的产品模型是同一产品模型,由标准仿真软件对产品模型进行仿真得到的第二仿真结果是具有参考意义的标准仿真结果。
不同的仿真对应需求不同的产品模型,如电磁仿真对应需要的就是电磁模型、流体仿真对应需要的就是流体模型、力学仿真对应需要的就是力学模型等。标准仿真软件是与待测仿真软件相对应的软件,比如:待测仿真软件用于电磁仿真,那么标准仿真软件同样是用于电磁仿真、且能够生成标准的电磁仿真结果的仿真软件。
步骤S104、基于预先建立的诊断模型,根据所述第一仿真结果以及第二仿真结果,对所述待测仿真软件进行诊断。
对待测仿真软件进行诊断,具体的,是将第一仿真结果以及第二仿真结果(标准仿真结果)输入预先建立的诊断模型,通过诊断模型分析第一仿真结果与第二仿真结果的生成规律以及二者之间的差异,根据分析结果对待测仿真软件进行诊断,输出待测仿真软件中存在的缺陷或问题。第一仿真结果与第二仿真结果同时输入到诊断模型,由诊断模型自行判断二者之间的差异后输出待测仿真软件中存在的缺陷或问题。
可选地,在一应用场景中,所述诊断模型为第二深度神经网络模型。具体的,深度神经网络是可以学习映射关系的神经网络,其中,该映射关系为仿真结果与待测仿真软件的缺陷或问题的关系。将第一仿真结果与第二仿真结果输入深度神经网络,深度神经网络对仿真结果进行分析,输出待测仿真软件的缺陷或问题。
可选地,在一应用场景中,所述基于预先建立的诊断模型,根据第一仿真结果以及第二仿真结果,对所述待测仿真软件进行诊断包括:基于预先建立的差计算模型,对所述第一仿真结果以及第二仿真结果进行差计算,将差计算结果输入所述诊断模型,以对所述待测仿真软件进行诊断。具体的,基于预先建立的差计算模型,对第一仿真结果和第二仿真结果进行差计算,然后将差计算的结果输入到诊断模型,诊断模型通过差计算结果中差异的变化,输出待测仿真软件中存在的缺陷或问题。比如,评估电磁仿真软件针对不同形状(如圆形、三角形、正方形、正多边形等)的电磁产品模型进行计算中存在的问题时,通过将不同形状的电磁产品模型输入待测电磁仿真软件中,得到第一仿真结果;将输入待测电磁仿真软件中的电磁产品模型亦输入标准电磁仿真软件中,得到第二仿真结果。将两个仿真结果输入诊断模型或进行差计算后将差计算结果输入诊断模型,就可以诊断出在对不同几何形状的电磁产品模型进行计算时,待测电磁仿真软件对何种形状的产品模型存在缺陷或问题。
进一步地,所述差计算模型为阈值函数,所述阈值函数用于对所述第一仿真结果和第二仿真结果进行差计算,将所述差计算结果与预设阈值进行比较,根据比较结果由所述诊断模型对所述待测仿真软件进行诊断。具体的,差计算结果小于预设阈值,则待测仿真软件没有缺陷或问题;若差计算结果大于预设阈值,则待测仿真软件存在缺陷或问题。
可选地,在一应用场景中,所述诊断模型为软件开发人员根据工业软件测试者的测试经验编写的经验模型。例如电磁仿真包括前处理阶段、求解阶段和后处理阶段三个步骤,有经验的软件测试人员根据第一仿真结果与第二仿真结果的差异可以轻易判断待测电磁仿真软件中问题的出处,所以将软件测试人员的经验程序化后,将仿真结果输入程序化的经验模型就可以给出待测电磁仿真软件的诊断结果。
进一步地,对所述待测仿真软件进行诊断包括:根据仿真的阶段,对所述待测仿真软件进行阶段性诊断。
可选地,在一应用场景中,根据需求对所述待测仿真软件的前处理阶段、求解阶段和后处理阶段分别进行诊断。需要说明的是,无论是待测仿真软件还是标准仿真软件在对产品模型进行仿真过程中,均需要对产品模型进行前处理、求解和后处理,分别由仿真软件的前处理器、求解器和后处理器完成。
进一步地,所述前处理阶段包括:对所述产品模型进行处理,以创建分析模型。具体的,前处理阶段是将连续的求解域离散为一组单元的组合体,用在每个单元内假设的近似函数来分片地表示求解域上待求的未知函数的过程,是将实际问题或设计方案抽象为能为数值计算提供所有输入数据的模型。如不断的对产品模型进行修改、对产品模型进行网格划分、确定产品模型的类型、确定产品模型的材料、产品模型的单元特性定义、确定产品模型的边界条件、定义待测仿真软件的求解器所需的控制卡片等各类能够满足求解所需的必要信息。
对产品模型进行前处理完成后,得到待测仿真软件的求解器可以识别的分析模型,由求解器完成对分析模型的解算,输出解算结果。比如对分析模型中的单元分析、边界条件处理、特性方程求解、对分析模型线性/非线性求解、整体结构分析等。
对产品模型的求解完成后,得到解算结果,后处理的主要任务就是对解算结果进行必要的处理,使其具有完善的可视化功能,或使用等值面、变形、云图、矢量图、截面云图等表现结果,或者使用瞬变动画显示变形、线性、复合等结果,或者生成BMP、JPG、TIFT等格式的图形文件及动画格式,以便于迅速找出问题所在,有助于缩短评估结果的过程。
进一步地,基于人工智能完成对所述产品模型的前处理、求解和后处理。
在待测仿真软件、标准仿真软件对产品模型仿真结束后,根据第一仿真结果和第二仿真结果之间存在的规律、差异对待测仿真软件的性能、前处理过程、求解过程及后处理过程分别进行分析评估,输出待测仿真软件存在的问题和缺陷。具体的,将第一仿真结果与第二仿真结果进行差计算,将差计算结果输入诊断模型中,诊断模型通过区分差计算结果差异的变化,输出待测仿真软件中的存在的缺陷或问题。或者,将第一仿真结果与第二仿真结果同时直接输入诊断模型,由诊断模型自行判断二者之间的差异,输出待测仿真软件中存在的问题或缺陷。
本申请实施例提供的软件测试方法,通过待测仿真软件对产品模型进行仿真得到第一仿真结果,与待测仿真软件对应的标准仿真软件对同一产品模型进行仿真得到第二仿真结果(标准仿真结果),根据第一仿真结果与第二仿真结果,对产品模型进行更新;同时根据对第一仿真结果与第二仿真结果进行比对、分析,对待测仿真软件进行诊断,可以输出待测仿真软件中存在的缺陷或问题。
图2为根据本申请的第二实施例所示的软件测试方法的流程图。如图2所示,本实施例的软件测试方法包括:
步骤S201、采集任务需求,明确需要验证的任务。
在此步骤中,执行的操作与第二实施例中步骤S101的操作相同,在此不再一一赘述。
步骤S202、对所述任务需求进行量化生成设计指标。
具体的,对任务需求进行量化生成设计指标。具体的是将任务需求参数化、指标化,以通过可以衡量的数值(参数、指标等)对将要生成的产品模型进行衡量;将一些不具体的、模糊的因素用数据表示出来,从而达到可以分析的目的。比如,要进行电路外壳的力学仿真,则任务需求量化后的设计指标可包括所述电路外壳中待设置的芯片类型及芯片数量参数,以及所述电路外壳的尺寸参数、接口位置参数、固定方式参数、材料参数、以及热力参数。再比如,涉及流体力学产品的设计指标参数则可包括所述流体力学产品中待设置的边界条件,以及所述流体力学产品的尺寸参数、流体入口及出口位置参数、流体信息参数、流速信息参数。进行电磁分析的电磁模型的设计指标可包括空间电磁辐射参数、电磁强度参数等。然并不以此为限,设计指标可依据实际需求而进行调整。比如任务需求是针对电磁模型有关形状的,评估待测仿真软件对什么形状的电磁模型计算不精确,针对电磁模型的形状可以生成边数和边长等设计指标,根据设计指标(变数和边长等)输入到生成模型从而生成不同形状的电磁产品模型。
步骤S203、基于预先建立的生成模型,按照预设的建模规则,根据所述设计指标生成匹配任务需求的产品模型。
可选地,在一应用场景中,产品模型可以是实时设计的匹配所述任务需求的所述产品模型。具体的,产品模型可以是设计师根据任务需求实时设计的,也可以是由工业软件根据任务需求实时生成的,在此,并不限定产品模型是通过何种技术手段实时生成的,对生成产品模型的质量不做具体要求,只需其能够满足相对应的任务需求即可。比如,输入产品模型的结构特征参数、运行环境参数、流体特征参数,通过深度人工神经网络(或程序化的函数或设计师的经验)实时生成结构力学模型或流体力学模型。然而,并不以此为限,产品模型可根据实际的需求进行调整。
需要说明的是,根据设计指标实时设计匹配任务需求的产品模型,该产品模型不是模型库中已有的,是根据任务目标实时生成的。比如,根据待设置的芯片类型及芯片数量参数,以及所述电路外壳的尺寸参数、接口位置参数、固定方式参数、材料参数、以及热力参数,实时设计一用于力学仿真的电路外壳模型。再比如,根据边界条件、尺寸参数、流体入口及出口位置参数、流体信息参数、流速信息参数,实时设计一流体力学分析的流体力学产品模型。
可选地,在一应用场景中,所述生成模型为第一深度神经网络模型。需要说明的是,不同的产品模型具有不同的产品设计规则,不同的模型设计软件或深度神经网络模型之间模型的生成/建立规则也各不相同,因而需要严格遵守实际采用的神经网络模型或模型设计软件中预设的建模规则生成匹配任务需求的产品模型。
进一步地,所述第一深度神经网络模型可以是生成式对抗网络。需要说明的是,生成式对抗网络(Generative Adversarial Network,简称GAN)是一种深度学习模型,其包括:生成模块和判别模块,其主要通过生成模块和判别模块的互相博弈学习产生好的输出。具体的,将产品模型的设计指标输入生成式对抗网络的生成模块,由生成模块生成产品模型,而后通过生成式对抗网络的鉴别模块判别生成产品模型的真伪,是否符合设计指标。也就是说将设计指标输入生成模块,由生成模块随机产生观察数据(产品模型);然后将观察数据输入判别模块,对产品模型进行评估预测。
可选地,在一应用场景中,所述生成模型为程序化的经验函数。具体的,程序序化的经验函数为开发人员根据模型设计师的设计经验编写的模型。比如设计师看到设计产品模型的指标,根据经验就可以快速设计出产品模型。
步骤S204A、确定待测仿真软件对产品进行仿真得到第一仿真结果;
步骤S204B、确定所述待测仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果。
在此步骤中,步骤S204A执行的操作与第一实施例软件测试方法中步骤S103A的操作相同,步骤S204B执行的操作与第一实施例软件测试方法中步骤S103B的操作相同,在此不再一一赘述。
步骤S205、将所述第一仿真结果与第二仿真结果进行比较,根据比较结果对所述产品模型进行修正,以对所述产品模型进行更新。
可选地,在一应用场景中,将所述第一仿真结果与第二仿真结果进行比较,分析所述第一仿真结果与第二仿真结果之间存在的规律、差异,根据比较结果对所述产品模型进行修正,以对所述产品模型进行更新。具体的,根据比较结果对产品模型进行更新,由待测仿真软件与标准仿真软件分别对更新后的产品模型进行仿真,以分别得到更新后产品模型的仿真结果,再将两个仿真结果进行比较,分析他们之间存在的规律、差异,直至总是获取比较结果不一致的产品模型,停止对产品模型进行修正和更新。
进一步地,通过深度神经网络对第一仿真结果与第二仿真结果进行比较。具体的,深度神经网络为预先训练的可以学习映射关系的神经网络,其中,该映射关系为仿真结果与待测仿真软件的缺陷或问题之间的关系。通过将第一仿真结果与第二仿真结果(标准仿真结果)输入神经网络,由神经网络识别两个仿真结果之间存在的规律、差异。需要说明的是,还可以通过程序化的函数或程序化的人类经验对第一仿真结果与第二仿真结果进行比较。
步骤S206、基于预先建立的诊断模型,根据所述第一仿真结果以及第二仿真结果,对所述待测仿真软件进行诊断。
此步骤执行的操作与第一实施例中步骤S104执行的操作相同,在此不再一一赘述。
图3为根据本申请的第三实施例所示的软件测试方法的流程图。如图3所示,本实施例的软件测试方法包括:
步骤S301、采集任务需求,明确需要验证的任务。
此步骤执行的操作与第一实施例中步骤S101的操作相同,在此不再一一赘述。
步骤S302、对所述任务需求进行量化生成设计指标。
此步骤执行的操作与第二实施例中步骤S202的操作相同,在此不再一一赘述。
步骤S303、基于预先建立的学习模型,根据所述设计指标生成模型参数。
具体的,学习模型对设计指标进行分析,生成产品模型的模型参数。比如,学习模型对电路外壳中待设置的芯片类型、芯片数量、电路外壳的尺寸、接口位置、固定方式、电路外壳的材料等进行分析,生成建立电路外壳模型的具体尺寸、结构、材料等模型参数。
步骤S304、基于预先建立的生成模型,按照预设的建模规则,并根据所述模型参数生成匹配所述任务需求的产品模型。
可选地,在一应用场景中,所述生成模型可以是深度神经网络模型、程序化的函数或者模型设计软件。需要说明的是,在此步骤中,与步骤S203不同的是,生成模型根据步骤S303生成的模型参数生成产品模型,更加精确,更满足仿真类型的任务需求。
步骤305A、确定待测仿真软件对所述产品模型进行仿真得到第一仿真结果;
步骤305B、确定所述待测仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果。
在此步骤中,步骤S305A执行的操作与第一实施例中步骤S103A的操作相同,步骤S305B执行的操作与第一实施例中步骤S103B的操作相同,在此不再一一赘述。
步骤S306、将所述第一仿真结果与第二仿真结果进行比较,所述学习模型根据比较结果对所述模型参数进行调整,以对所述产品模型进行更新。
可选地,在一应用场景中,将所述第一仿真结果与第二仿真结果进行比较,分析所述第一仿真结果与第二仿真结果之间存在的规律、差异,将比较结果反馈给所述学习模型,由所述学习模型根据所述比较结果对所述模型参数进行调整,以对所述产品模型进行更新。具体的,通过学习模型根据比较结果对产品模型的模型参数或模型参数的变化幅度进行调整,以对产品模型进行更新,然后再由待测仿真软件与标准仿真软件分别对更新后的产品模型进行仿真,以分别得到更新后产品模型的仿真结果,再将两个仿真结果进行比较,分析他们之间存在的规律、差异,直至总是获取比较结果不一致的产品模型,停止对产品模型进行修正和更新。
可选地,在一应用场景中,所述学习模型是一种具有感知决策能力的深度神经网络。需要说明的是,学习模型是以“试错”的方式进行学习,通过与环境进行交互获得奖励指导行为,其目标是使学习模型获取最大奖励。具体的,环境是指产品模型的模型参数输入到生成模型生成产品模型,将产品模型分别输入到待测仿真软件和标准仿真软件得到第一仿真结果和第二仿真结果。奖励是指将第一仿真结果和第二仿真结果进行比较,根据比较结果进行反馈,当比较结果接近时反馈设置负奖励,当比较结果相差较大时反馈设置正奖励。
可选地,在一应用场景中,所述学习模型包括策略网络和价值网络,所述策略网络根据所述比较结果确定执行所述模型参数的调整操作,所述价值网络对所述策略网络执行的所述模型参数的调整操作进行评估。具体的,策略网络根据比较结果决定执行产品模型的模型参数的调整操作(A);价值网络评判该调整动作的好坏,对在当前状态(S)下的调整操作(A)相对于其它调整动作的优势作出评估,得到调整操作(A)在当前状态(S)的下的价值。
进一步地,所述策略网络通过损失函数确定所述模型参数的调整操作。具体的,策略网络的损失函数等于模型参数的调整操作的对数似然值乘以调整操作的评估值,策略网络的目标就是使损失函数的值最大化。其中,模型参数的调整操作在当前状态下的评估值由价值网络给出,如果动作评价为正,就增大执行模型参数的调整操作的概率,反之减少模型参数的调整操作的概率。
进一步地,通过深度神经网络对所述第一仿真结果与第二仿真结果进行比较分析。具体的,深度神经网络为预先训练的可以学习映射关系的神经网络,其中,该映射关系为仿真结果与待测仿真软件的缺陷或问题之间的关系。通过将第一仿真结果与第二仿真结果(标准仿真结果)输入神经网络,由神经网络识别两个仿真结果之间存在的规律、差异,将分析结果反馈给学习模型,由学习模型对模型参数进行调整,对产品模型进行更新,重新生成新的产品模型。如,学习模型感知当前环境状态st,从操作空间A中选择操作at(模型参数的调整操作);环境st接收学习模型所选择的操作at后,给学习模型以相应的奖励信号反馈r t+1,并转移到新的环境状态st+1,将rt+1和st+1反馈给学习模型作出新的决策at+1(模型参数新的调整操作)。
步骤S307、基于预先建立的诊断模型,根据所述第一仿真结果以及第二仿真结果,对所述待测仿真软件进行诊断。
此步骤执行的操作与第一实施例中步骤S104的操作相同,在此不再一一赘述。
图4为根据本申请的第一实施例所示的软件测试系统的结构图。如图4所示,本实施例的软件测试系统包括:任务采集模块401,用于采集任务需求,明确需要验证的任务;产品模型获取模块402,用于获取匹配所述任务需求的已有产品模型;仿真模块403,用于确定待测仿真软件对所述产品模型进行仿真得到第一仿真结果,以及,确定所述待测仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果;诊断模块404,用于基于预先建立的诊断模型,根据所述第一仿真结果以及第二仿真结果,对所述待测仿真软件进行诊断,输出诊断结果。本实施例的软件测试系统的具体操作遵循上述第一实施例所示的软件测试方法的流程,具体操作实施在此不再一一赘述。
图5为根据本申请的第二实施例所示的软件测试系统的结构图。如图5所示,本实施例的软件测试系统包括:任务采集模块501,用于采集任务需求,明确需要验证的任务;量化模块502,用于对所述任务需求进行量化生成设计指标;生成模块503,用于基于预先建立的生成模型,按照预设的建模规则,根据所述设计指标生成匹配所述任务需求的产品模型;仿真模块504,用于确定待测仿真软件对所述产品进行仿真得到第一仿真结果;以及,确定所述待测仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果;诊断模块505,用于基于预先建立诊断模型,将所述第一仿真结果与第二仿真结果进行比较,以对所述待测仿真软件进行诊断,输出诊断结果;或者根据比较结果对所述产品模型进行修正,以对所述产品模型进行更新。具体的,在比较结果不一致时,诊断模块根据比较结果对产品模型进行修正,以对产品模型进行更新。本实施例的软件测试系统的具体操作遵循上述第二实施例所示的软件测试方法的流程,具体操作实施在此不再一一赘述。
图6为根据本申请的第三实施例所示的软件测试系统的结构图。如图6所示,本实施例的软件测试系统包括:任务采集模块601,用于采集任务需求,明确需要验证的任务;量化模块602,用于对所述任务需求进行量化生成设计指标;学习模块603,用于基于预先建立的学习模型,根据所述设计指标生成模型参数;生成模块604,用于基于预先建立的生成模型,按照预设的建模规则,根据所述模型参数生成匹配所述任务需求的产品模型;仿真模块605,用于确定待测仿真软件对所述产品模型进行仿真得到第一仿真结果,以及,确定所述待测仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果;诊断模块606,用于基于预先建立诊断模型,将所述第一仿真结果与第二仿真结果进行比较,以对所述待测仿真软件进行诊断,输出诊断结果;并且,将比较结果反馈给所述学习模块603,以使所述学习模块603根据所述比较结果对所述模型参数进行调整,以对所述产品模型进行更新。具体的,在比较结果不一致时,将比较结果反馈给学习模块,由学习模块根据比较结果对模型参数进行调整,以对产品模型进行更新。本实施例的软件测试系统的具体操作遵循上述第三实施例所示的软件测试方法的流程,具体操作实施在此不再一一赘述。
图7为根据本申请的第一实施例所示的软件优化方法的流程图。如图7所示,本实施例的软件优化方法包括:
步骤S701、采集任务需求,明确需要验证的任务。
在此步骤中,根据实际任务需求,明确需要进行仿真的类型,仿真的具体要求,以便获取仿真所需的产品模型。由于不同的仿真对应需求不同的产品模型,如电磁仿真对应需要的就是电磁模型、流体仿真对应需要的就是流体模型、力学仿真对应需要的就是力学模型等。
可选地,在一应用场景中,通过采集所述任务需求为原始问题和目标建立逻辑模型。具体的,通过采集任务需求,准确理解项目的功能、性能、可靠性等具体要求,将非形式的需求转化为完整的需求定义,确定项目的约束条件、响应时间、与其它项目之间的关系等,确定项目的综合要求,清除模糊性、歧义性和不一致的需求,为原始问题和目标建立逻辑模型。
步骤S702、获取匹配所述任务需求的已有产品模型。
可选地,在一应用场景中,从模型库中获取匹配所述任务需求的所述产品模型。模型库中的模型可以是利用经验丰富的设计师,基于产品外形尺寸(产品尺寸等)和产品性能指标等要求,通过在一个或多个计算机仿真设计工具中建立产品仿真模型,调试并优化产品仿真模型,从而最终获取符合模型指标参数要求的产品仿真模型作为产品模型。
步骤S703A、确定待优化仿真软件对所述产品模型进行仿真得到第一仿真结果;
步骤S703B、确定所述待优化仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果。
步骤S703A与步骤S703B为并列步骤,可同时进行,也可先后进行,执行顺序对结果并不产生影响。需要说明的是,由待优化仿真软件对产品模型进行仿真得到第一仿真结果,标准仿真软件对产品模型进行仿真得到第二仿真结果,二者进行仿真的产品模型是同一产品模型,由标准仿真软件对产品模型进行仿真得到的第二仿真结果是具有参考意义的标准仿真结果。
不同的仿真对应需求不同的产品模型,如电磁仿真对应需要的就是电磁模型、流体仿真对应需要的就是流体模型、力学仿真对应需要的就是力学模型等。标准仿真软件是与待测仿真软件相对应的软件,比如:待测仿真软件用于电磁仿真,那么标准仿真软件同样是用于电磁仿真、且能够生成标准的电磁仿真结果的仿真软件。
步骤S704、对所述第一仿真结果与第二仿真结果进行差异分析,响应于差异分析结果大于预设的差异阈值,根据所述差异分析结果生成优化参数,以对所述待优化仿真软件进行优化。
可选地,在一应用场景中,基于预先建立的分析模型,对所述第一仿真结果与第二仿真结果进行差异分析。具体的,将第一仿真结果与第二仿真结果输入预先建立的分析模型,通过分析模型分析第一仿真结果与第二仿真结果的生成规律以及二者之间的差异,根据分析结果对待优化仿真软件进行诊断,找出待优化仿真软件中存在的缺陷或问题。比如,针对正方形电磁模型计算正确性的任务,当待优化仿真软件得出的第一仿真结果与标准仿真软件得出的第二仿真结果,两者之间存在差异即待优化仿真软件中存在缺陷或问题时,生成计算电磁模型参数算法的优化参数,如计算正方形电磁模型进行网格剖分时,调整非结构化网格的网格剖分参数作为优化参数。
具体的找出待优化仿真软件中存在的缺陷或问题,与上述实施例中软件测试方法、软件测试系统的操作相同,分析模型的建立可参考上述第一实施例中的诊断模型,在此不再一一赘述。
进一步地,通过深度神经网络对所述第一仿真结果与第二仿真结果进行差异分析。具体的,深度神经网络为预先训练的可以学习映射关系的神经网络,其中,该映射关系为仿真结果与待优化仿真软件的缺陷或问题之间的关系。通过将第一仿真结果与第二仿真结果(标准仿真结果)输入神经网络,由神经网络识别两个仿真结果之间存在的规律、差异。需要说明的是,还可以通过程序化的函数或程序化的人类经验对第一仿真结果与第二仿真结果进行比较。
响应于所述差异分析结果大于预设的差异阈值,根据所述差异分析结果生成优化参数,以对所述待优化仿真软件进行优化。具体的,差异阈值根据产品实际需求的精度设定。若连续多次差异分析的结果显示,第一仿真结果与第二仿真结果之间不存在差异,则停止执行对待优化仿真软件的优化操作。
图8所示为本申请的第二实施例所示的软件优化方法的流程图。如图8所示,本实施例的软件优化方法包括:
步骤S801、采集任务需求,明确需要验证的任务。
在此步骤中,具体的操作实施与步骤S701相同,在此不再一一赘述。
步骤S802、对所述任务需求进行量化生成设计指标。
可选地,在一应用场景中,产品模型可以是实时设计的匹配所述任务需求的所述产品模型。具体的,产品模型可以是设计师根据任务需求实时设计的,也可以是由工业软件根据任务需求实时生成的,在此,并不限定产品模型是通过何种技术手段实时生成的。比如,输入产品模型的结构特征参数、运行环境参数、流体特征参数,通过深度神经网络(或程序化的函数或设计师的经验)实时生成结构力学模型或流体力学模型。然而,并不以此为限,产品模型可根据实际的需求进行调整。
进一步地,对任务需求进行量化生成设计指标。具体的是将任务需求参数化、指标化,以通过可以衡量的数值(参数、指标等)对将要生成的产品模型进行衡量;将一些不具体的、模糊的因素用数据表示出来,从而达到可以分析的目的。比如,要进行电路外壳的力学仿真,则任务需求量化后的设计指标可包括所述电路外壳中待设置的芯片类型及芯片数量参数,以及所述电路外壳的尺寸参数、接口位置参数、固定方式参数、材料参数、以及热力参数。再比如,涉及流体力学产品的设计指标参数则可包括所述流体力学产品中待设置的边界条件,以及所述流体力学产品的尺寸参数、流体入口及出口位置参数、流体信息参数、流速信息参数。进行电磁分析的电磁模型的设计指标可包括空间电磁辐射参数、电磁强度参数等。然而并不以此为限,设计指标可依据实际需求而进行调整。
步骤S803、基于预先建立的生成模型,按照预设的建模规则,根据所述设计指标生成匹配所述任务需求的产品模型。
可选地,在一应用场景中,生成模型可以是深度神经网络模型或程序化的函数或者模型设计软件。需要说明的是,不同的产品模型具有不同的产品设计规则,不同的模型。具体的,此处的生成模型可以参考上述软件测试方法实施例在步骤S203中的生成模型,在此不再一一赘述。
步骤S804A、确定待优化仿真软件对所述产品模型进行仿真得到第一仿真结果;
步骤S804B、确定所述待优化仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果。
在此步骤中,步骤S804A执行的操作与步骤S704A中执行的操作相同,步骤S804B执行的操作与步骤S704B中执行的操作相同,在此不再一一赘述。
步骤S805、对所述第一仿真结果与第二仿真结果进行差异分析,响应于差异分析结果大于预设的差异阈值,根据所述差异分析结果生成优化参数,以对所述待优化仿真软件进行优化。
在此步骤中,步骤S805执行的操作与步骤S704中执行的操作相同,在此不再一一赘述。
图9所示为本申请的第三实施例所示的软件优化方法的流程图。如图9所示,本实施例的软件优化方法包括:
步骤S901、采集任务需求,明确需要验证的任务。
在此步骤中,执行的操作与步骤S701执行的操作相同,在此不再一一赘述。
步骤S902、对所述任务需求进行量化生成设计指标。
在此步骤中,执行的操作与步骤S802执行的操作相同,在此不再一一赘述。
步骤S903、基于预先建立的学习模型,根据所述设计指标生成模型参数以及优化参数。
可选地,在一应用场景中,所述学习模型是一种具有感知决策能力的深度神经网络。具体的,学习模型对设计指标进行分析,生成产品模型的模型参数。比如,学习模型对电路外壳中待设置的芯片类型、芯片数量、电路外壳的尺寸、接口位置、固定方式、电路外壳的材料等进行分析,生成建立电路外壳模型的具体尺寸、结构、材料等模型参数。
进一步地,所述学习模型根据设计指标找出待优化仿真软件的缺陷或问题,进而生成优化参数。具体的,通过预先训练的可以学习仿真结果与软件缺陷的映射关系的神经网络,将第一仿真结果与第二仿真结果(标准仿真结果)输入神经网络,由神经网络识别两个仿真结果之间存在的规律、差异,将分析结果反馈给学习模型生成优化参数,由学习模型对模型参数进行调整。比如,在正方形的产品模型进行网格剖分时,学习模型基于观察到的问题或缺陷生成优化参数以调整非结构化网格的网格剖分参数。
需要说明的是,此步骤中的学习模型可以参考上述第三实施例所述的软件测试方法中的学习模型,具体的操作实施与上述实施例中软件测试的方法、软件测试系统中执行的操作相同,在此不再一一赘述。
步骤904、基于预先建立的生成模型,按照预设的建模规则,根据所述模型参数生成匹配所述任务需求的产品模型,以及根据所述优化参数对所述待优化仿真软件进行初步优化。
可选地,在一应用场景中,所述生成模型是深度神经网络模型、程序化的函数或模型设计软件。需要说明的是,与步骤S803不同的是,在此步骤中生成模型根据步骤S903生成的模型参数生成产品模型,更加精确,更能满足仿真类型的任务需求。
步骤S905A、确定初步优化后的所述待优化仿真软件对所述产品模型进行仿真得到第一仿真结果;
步骤S905B、确定所述待优化仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果。
需要说明的是,步骤S905A与步骤S703A不同的是,在此步骤中,通过步骤S904生成的产品模型输入在步骤S904中优化后的待优化仿真软件,得到第一仿真结果,其它操作与步骤S703A相同,在此不再一一赘述。
步骤S905B执行的操作与步骤S703B执行的操作相同,在此不再一一赘述。
步骤S906、对所述第一仿真结果与第二仿真结果进行差异分析,响应于差异分析结果大于预设的差异阈值,根据差异分析结果,通过所述学习模型对所述优化参数进行调整,以对所述待优化仿真软件进行优化。
需要说明的是,步骤S906与步骤S704不同的是,在此步骤中,不是根据分析结果生成优化参数,而是根据差异分析结果,通过学习模型对优化参数进行调整,对初步优化后的待优化仿真软件进行优化。其它操作与步骤S704中执行的步骤相同,在此不再一一赘述。
图10所示为本申请的第一实施例所示的软件优化系统的结构图。如图10所示,本实施例的软件优化系统包括:任务采集模块1001,用于采集任务需求,明确需要验证的任务;产品模型获取模块1002,用于获取匹配所述任务需求的已有产品模型;仿真模块1003,用于确定待优化仿真软件对所述产品模型进行仿真得到第一仿真结果,以及,确定所述待优化仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果;分析模块1004,用于对所述第一仿真结果与第二仿真结果进行差异分析,生成差异分析结果;优化模块1005,用于响应于所述差异分析结果大于预设的差异阈值,根据所述差异分析结果生成优化参数,以对所述待优化仿真软件进行优化。本实施例的软件优化系统的具体操作遵循上述第一实施例所示的软件优化方法的流程,具体操作实施在此不再一一赘述。
图11所示为本申请的第二实施例所示的软件优化系统的结构图。如图11所示,本实施例的软件优化系统包括:任务采集模块1101,用于采集任务需求,明确需要验证的任务;量化模块1102,用于对所述任务需求进行量化生成设计指标;生成模块1103用于基于预先建立的生成模型,按照预设的建模规则,根据所述设计指标生成匹配所述任务需求的产品模型;仿真模块1104,用于确定待优化仿真软件对所述产品模型进行仿真得到第一仿真结果,以及,确定所述待优化仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果;分析模块1105,用于对所述第一仿真结果与第二仿真结果进行差异分析,生成差异分析结果;优化模块1106,用于响应于所述差异分析结果大于预设的差异阈值,根据所述差异分析结果生成优化参数,以对所述待优化仿真软件进行优化。本实施例的软件优化系统的具体操作遵循上述第二实施例所示的软件优化方法的流程,具体操作实施在此不再一一赘述。
图12所示为本申请的第三实施例所示的软件优化系统的结构图。如图12所示,本实施例的软件优化系统包括:任务采集模块1201,用于采集任务需求,明确需要验证的任务;量化模块1202,用于对所示任务需求进行量化生成设计指标;学习模块1203,用于基于预先建立的学习模型,根据所述设计指标生成模型参数以及优化参数,以及根据所述优化参数对所述待优化仿真软件进行初步优化;生成模块1204,用于基于预先建立的生成模型,按照预设的建模规则,根据所述设计指标生成匹配所述任务需求的产品模型;仿真模块1205,用于确定初步优化后的待优化仿真软件对所述产品模型进行仿真得到第一仿真结果,以及,确定所述待优化仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果;分析模块1206,用于对所述第一仿真结果与第二仿真结果进行差异分析,生成差异分析结果;判断模块1207,用于响应于所述差异分析结果大于预设的差异阈值,根据所述差异分析结果,通过所述学习模型对所述优化参数进行调整,以对所述待优化仿真软件进行优化。本实施例的软件优化系统的具体操作遵循上述第三实施例所示的软件优化方法的流程,具体操作实施在此不再一一赘述。
上述实施例提供的软件优化方法及系统,通过待优化仿真软件对产品模型进行仿真得到第一仿真结果,与待优化仿真软件对应的标准仿真软件对产品模型进行仿真得到第二仿真结果;然后根据第一仿真结果和第二仿真结果,对待优化仿真软件进行优化。通过对仿真软件进行优化,提高了仿真软件的准确性和稳定性,加速了仿真软件的研发周期。
在各种实施例中,由参照附图的描述。然而,某些实施例可以在不使用一个或多个这些特定的细节,或结合其它已知的方法和结构。在以下描述中,阐述了很多具体的细节,例如具体的结构,尺寸和工艺等,以提供对本发明的全面理解本发明。在其它实例中,公知的半导体加工工艺和制造技术没有特别详细地描述,以避免模糊本发明中。遍及本说明书“一个实施例”是指特定特征,结构,配置中,或该实施例中所描述的特征被包括在本发明的至少一个实施例中。因此,出现的短语“在一个实施方案中”在本说明书中不同地方本发明不一定指相同的实施例。此外,具体的特征,结构,配置,或特性可以以任何合适的方式组合在一个或多个实施例中。
术语“生成”,“在”,“对”,“在”和“在”由于在用于本文时可以指相对于另一层层的相对位置。一个层“生成”,“在”,或“在”另一个层或者粘合“对”另一层可以直接接触的另一层上或可以有一个或多个插进层。一个层“在”层可以直接接触的层或可以有一个或多个插进层。
在进行以下具体实施方式之前,陈述在本专利文件全文中所使用的某些词语和短语的定义可能是有益的:用于“包括(include)”和“包括(comprise)”及其变型,意为包括而非限制;用于“或(or)”是包括性的,意为和/或;短语“与…关联(associated with)”和“与之相关(associated therewith)”及其变型可意为包括、被包括在内、“与…相互连接”、包含、被包含在内、“连接至…”或“与…连接”、“联接至…”或“与…联接”、“可与…通信”、“与…配合”、交错、并列、接近于、“被约束到…”或“用…约束”、具有、“具有…的性质”等;以及用于“控制器”意为控制至少一个操作的任何设备、系统或其部件,这种设备可实现在硬件、固件或软件中,或者实现在硬件、固件和软件中的至少两种中的一些组合中。应注意到,与任何特定控制器有关的功能可被局域地或远程地集中或分散。在本专利文件全文中提供对于某些词语和短语的定义,本领域技术人员应理解,在许多情况下(即使不是大多数情况),这种定义适用于现有技术以及适用于如此限定的词语和短语的将来的使用。
在本公开中,表述“包括(include)”或“可包括(may include)”指代相应功能、操作或元件的存在,而不限制一个或多个附加功能、操作或元件。在本公开中,诸如“包括(include)”和/或“具有(have)”的用于可理解为表示某些特性、数字、步骤、操作、组成元件、元件或其组合,而不可理解为排除一个或多个其它特性、数字、步骤、操作、组成元件、元件或其组合的存在或附加的可能性。
在本公开中,表述“A或B”、“A或/和B中的至少一个”或者“A或/和B的一个或多个”可包括所列项目所有可能的组合。例如,表述“A或B”、“A和B中的至少一个”或者“A或B中的至少一个”可包括:(1)至少一个A,(2)至少一个B,或者(3)至少一个A和至少一个B。
在本公开的各种实施方式中所使用的表述“第一”、“第二”、“所述第一”或“所述第二”可修饰各种部件而与顺序和/或重要性无关,但是这些表述不限制相应部件。以上表述仅用于将元件与其它元件区分开的目的。例如,第一用户设备和第二用户设备表示不同的用户设备,虽然两者均是用户设备。例如,在不背离本公开的范围的前提下,第一元件可称作第二元件,类似地,第二元件可称作第一元件。
当一个元件(例如,第一元件)称为与另一元件(例如,第二元件)“(可操作地或可通信地)联接”或“(可操作地或可通信地)联接至”另一元件(例如,第二元件)或“连接至”另一元件(例如,第二元件)时,应理解为该一个元件直接连接至该另一元件或者该一个元件经由又一个元件(例如,第三元件)间接连接至该另一个元件。相反,可理解,当元件(例如,第一元件)称为“直接连接”或“直接联接”至另一元件(第二元件)时,则没有元件(例如,第三元件)插入在这两者之间。
如本文中使用的表述“配置为”可与以下表述可替换地使用:“适合于”、“具有...的能力”、“设计为”、“适于”、“制造为”或“能够”。用于“配置为”可不必意为在硬件上“专门设计为”。可替代地,在一些情况下,表述“配置为…的设备”可意为该设备与其它设备或部件一起“能够…”。例如,短语“适于(或配置为)执行A、B和C的处理器”可意为仅用于执行相应操作的专用处理器(例如,嵌入式处理器)或可通过执行存储在存储设备中的一个或多个软件程序执行相应操作的通用处理器(例如,中央处理器(CPU)或应用处理器(AP))。
在本公开中所使用的用于仅用于描述特定的实施方式而不旨在限制本公开。除非在上下文中明确另有所指,否则如在本文中所使用的单数形式也可包括复数形式
除非另有限定,否则本文中使用的全部用于(包括技术用于和科学用于)具有与本公开所属领域的技术人员所通常理解的意思相同的意思。除非在本公开中明确限定,否则如在通常使用的词典中所限定的这种用于可被解释为具有与在相关技术领域的语境中的意思相同的意思,而不应被解释为具有理想化或过于形式的意思。在一些情况下,即使在本公开中限定的用于也不应被解释为排除本公开的实施方式。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理模块,即可以位于一个地方,或者也可以分布到多个网络模块上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,所述计算机可读记录介质包括用于以计算机(例如计算机)可读的形式存储或传送信息的任何机制。例如,机器可读介质包括只读存储器(ROM)、随机存取存储器(RAM)、磁盘存储介质、光存储介质、闪速存储介质、电、光、声或其他形式的传播信号(例如,载波、红外信号、数字信号等)等,该计算机软件产品包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本申请实施例的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
本领域的技术人员应明白,本发明实施例的实施例可提供为方法、装置(设备)、或计算机程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明实施例是参照根据本发明实施例的方法、装置(设备)和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
Claims (25)
1.一种软件测试方法,其特征在于,包括:
确定待测仿真软件对产品模型进行仿真得到第一仿真结果;
确定所述待测仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果;
根据所述第一仿真结果以及第二仿真结果,对所述待测仿真软件进行诊断。
2.根据权利要求1所述的软件测试方法,其特征在于,还包括:获取匹配任务需求的已有所述产品模型。
3.根据权利要求1所述的软件测试方法,其特征在于,还包括:实时设计匹配任务需求的所述产品模型。
4.根据权利要求3所述的软件测试方法,其特征在于,还包括:对所述任务需求进行量化生成设计指标,基于预先建立的生成模型,按照预设的建模规则,根据所述设计指标生成匹配所述任务需求的所述产品模型。
5.根据权利要求4所述的软件测试方法,其特征在于,所述生成模型为第一深度神经网络模型。
6.根据权利要求5所述的软件测试方法,其特征在于,所述第一深度神经网络模型为生成式对抗网络。
7.根据权利要求4所述的软件测试方法,其特征在于,还包括:基于预先建立的学习模型,根据所述设计指标生成模型参数,通过所述生成模型,按照所述建模规则生成匹配所述任务需求的所述产品模型。
8.根据权利要求7所述的软件测试方法,其特征在于,还包括:将所述第一仿真结果与第二仿真结果进行比较,根据比较结果,通过所述学习模型对所述模型参数进行调整,以对所述产品模型进行更新。
9.根据权利要求8所述的软件测试方法,其特征在于,所述学习模型包括:策略网络,所述策略网络根据所述比较结果确定执行所述模型参数的调整操作。
10.根据权利要求9所述的软件测试方法,其特征在于,所述学习模型还包括:价值网络,所述价值网络对所述策略网络执行的所述模型参数的调整操作进行评估。
11.根据权利要求10所述的软件测试方法,其特征在于,所述策略网络通过损失函数确定所述模型参数的调整操作。
12.根据权利要求1-11所述的软件测试方法,其特征在于,还包括:将所述第一仿真结果与第二仿真结果进行比较,根据比较结果对所述产品模型进行修正,以对所述产品模型进行更新。
13.根据权利要求12所述的软件测试方法,其特征在于,所述根据所述第一仿真结果以及第二仿真结果,对所述待测仿真软件进行诊断包括:基于预先建立的诊断模型,根据所述第一仿真结果以及第二仿真结果,对所述待测仿真软件进行诊断。
14.根据权利要求13所述的软件测试方法,其特征在于,所述对所述待测仿真软件进行诊断包括:根据仿真的阶段,对所述待测仿真软件进行阶段性诊断。
15.根据权利要求13所述的软件测试方法,其特征在于,所述诊断模型为第二深度神经网络模型。
16.根据权利要求13所述的软件测试方法,其特征在于,所述基于预先建立的诊断模型,根据所述第一仿真结果以及第二仿真结果,对所述待测仿真软件进行诊断包括:基于预先建立的差计算模型,对所述第一仿真结果以及第二仿真结果进行差计算,将差计算结果输入所述诊断模型,以对所述待测仿真软件进行诊断。
17.一种软件测试系统,其特征在于,包括:
仿真模块,用于确定待测仿真软件对产品模型进行仿真得到第一仿真结果,以及,确定所述待测仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果;
诊断模块,用于根据所述第一仿真结果以及第二仿真结果,对所述待测仿真软件进行诊断。
18.一种软件优化方法,其特征在于,包括:
确定待优化仿真软件对产品模型进行仿真得到第一仿真结果;
确定所述待优化仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果;
对所述第一仿真结果以及第二仿真结果进行差异分析,响应于差异分析结果大于预设的差异阈值,对所述待优化仿真软件进行优化。
19.根据权利要求18所述的软件优化方法,其特征在于,还包括:获取匹配所述任务需求的已有所述产品模型。
20.根据权利要求18所述的软件优化方法,其特征在于,还包括:实时设计匹配所述任务需求的所述产品模型。
21.根据权利要求20所述的软件优化方法,其特征在于,还包括:对所述任务需求进行量化生成设计指标,基于预先建立的生成模型,按照预设的建模规则,根据所述设计指标生成匹配所述任务需求的所述产品模型。
22.根据权利要求18-21任一所述的软件优化方法,其特征在于,所述响应于差异分析结果大于预设的差异阈值,对所述待优化仿真软件进行优化包括:
响应于所述差异分析结果大于所述差异阈值,根据所述差异分析结果生成优化参数,以对所述待优化仿真软件进行优化。
23.根据权利要求21所述的软件优化方法,其特征在于,还包括:基于预先建立的学习模型,根据所述设计指标生成模型参数以及优化参数;通过所述生成模型,按照预设的建模规则,根据所述模型参数生成匹配所述任务需求的所述产品模型,以及根据所述优化参数对所述待优化仿真软件进行优化。
24.根据权利要求23所述的软件优化方法,其特征在于,所述响应于差异分析结果大于预设的差异阈值,对所述待优化仿真软件进行优化包括:响应于所述差异分析结果大于所述差异阈值,根据所述差异分析结果,通过所述学习模型对所述优化参数进行调整,以对所述待优化软件进行优化。
25.一种软件优化系统,其特征在于,包括:
仿真模块,用于确定待优化仿真软件对产品模型进行仿真得到第一仿真结果;以及,确定所述待优化仿真软件对应的标准仿真软件对所述产品模型进行仿真得到第二仿真结果;
分析模块,用于对所述第一仿真结果以及第二仿真结果进行差异分析,得到差异分析结果;
优化模块,响应于所述差异分析结果大于预设的差异阈值,对所述待优化仿真软件进行优化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910420787.XA CN110188039A (zh) | 2019-05-20 | 2019-05-20 | 软件测试、软件优化的方法与系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910420787.XA CN110188039A (zh) | 2019-05-20 | 2019-05-20 | 软件测试、软件优化的方法与系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110188039A true CN110188039A (zh) | 2019-08-30 |
Family
ID=67717041
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910420787.XA Pending CN110188039A (zh) | 2019-05-20 | 2019-05-20 | 软件测试、软件优化的方法与系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110188039A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115840704A (zh) * | 2022-12-12 | 2023-03-24 | 之江实验室 | 一种仿真软件测试方法、装置、存储介质及电子设备 |
CN117234909A (zh) * | 2023-09-08 | 2023-12-15 | 浪潮智慧科技有限公司 | 一种基于计算机系统的水利应用软件测试系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106934121A (zh) * | 2016-12-30 | 2017-07-07 | 北京华大九天软件有限公司 | 一种测试器件模型仿真结果正确性的方法 |
CN109101712A (zh) * | 2018-07-27 | 2018-12-28 | 石家庄创天电子科技有限公司 | 基于图网络的产品模型设计系统及方法 |
CN109255148A (zh) * | 2018-07-27 | 2019-01-22 | 石家庄创天电子科技有限公司 | 力学产品设计方法及其系统 |
-
2019
- 2019-05-20 CN CN201910420787.XA patent/CN110188039A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106934121A (zh) * | 2016-12-30 | 2017-07-07 | 北京华大九天软件有限公司 | 一种测试器件模型仿真结果正确性的方法 |
CN109101712A (zh) * | 2018-07-27 | 2018-12-28 | 石家庄创天电子科技有限公司 | 基于图网络的产品模型设计系统及方法 |
CN109255148A (zh) * | 2018-07-27 | 2019-01-22 | 石家庄创天电子科技有限公司 | 力学产品设计方法及其系统 |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN115840704A (zh) * | 2022-12-12 | 2023-03-24 | 之江实验室 | 一种仿真软件测试方法、装置、存储介质及电子设备 |
CN117234909A (zh) * | 2023-09-08 | 2023-12-15 | 浪潮智慧科技有限公司 | 一种基于计算机系统的水利应用软件测试系统 |
CN117234909B (zh) * | 2023-09-08 | 2024-06-11 | 浪潮智慧科技有限公司 | 一种基于计算机系统的水利应用软件测试系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhu et al. | Explainable AI for designers: A human-centered perspective on mixed-initiative co-creation | |
CN111737811B (zh) | 基于数字孪生的直升机动部件寿命管理方法、设备、介质 | |
Matinnejad et al. | Search-based automated testing of continuous controllers: Framework, tool support, and case studies | |
CN107291973A (zh) | 针对紧急行为的仿真增强现实系统 | |
AU2020102874A4 (en) | A recommendation model for aero dynamic design of structures using deep recurrent neural network | |
US8504331B2 (en) | Aerodynamic model identification process for aircraft simulation process | |
CN110210654A (zh) | 产品模型设计系统及方法 | |
CN106125573B (zh) | 基于图形化模型的飞机前轮转弯控制盒设计方法 | |
JP2022063240A (ja) | 自己学習システムを用いて工作機械上での機械加工をシミュレーションするための方法及び装置 | |
Aydin et al. | Applicability of a fuzzy genetic system for crack diagnosis in Timoshenko beams | |
CN105678381A (zh) | 一种性别分类网络训练方法、性别分类方法及相关装置 | |
CN110188039A (zh) | 软件测试、软件优化的方法与系统 | |
CN106408649A (zh) | 一种基于规则的体结构演化设计方法 | |
Danglade et al. | A priori evaluation of simulation models preparation processes using artificial intelligence techniques | |
Sheptunov et al. | Simulating reliability of the robotic system software on the basis of artificial intelligence | |
CN113253709B (zh) | 一种适用于轨道交通车辆健康诊断方法及装置 | |
EP3930943A1 (en) | Machine learning approach for fatigue life prediction of additive manufactured components | |
CN109255148A (zh) | 力学产品设计方法及其系统 | |
CN110007617A (zh) | 一种飞行器半实物仿真系统的不确定度传递分析方法 | |
Gaspar et al. | Implicit material modelling using artificial intelligence techniques | |
US20230135550A1 (en) | Methods and devices for determining a product quality | |
CN112346956A (zh) | 一种针对深度学习程序进行神经元变异的测试方法 | |
CN116050300A (zh) | 高速运动体表面气动热流场的预测方法及装置 | |
CN110210838B (zh) | 一种政务系统设计方法及政务系统 | |
CN114239938A (zh) | 一种基于状态的能源数字孪生体的构建方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190830 |
|
RJ01 | Rejection of invention patent application after publication |