CN107703773A - 一种基于硬件在环仿真系统的软件测试方法及装置 - Google Patents
一种基于硬件在环仿真系统的软件测试方法及装置 Download PDFInfo
- Publication number
- CN107703773A CN107703773A CN201710623065.5A CN201710623065A CN107703773A CN 107703773 A CN107703773 A CN 107703773A CN 201710623065 A CN201710623065 A CN 201710623065A CN 107703773 A CN107703773 A CN 107703773A
- Authority
- CN
- China
- Prior art keywords
- test
- parameter
- input
- test case
- parameter group
- 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
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B17/00—Systems involving the use of models or simulators of said systems
- G05B17/02—Systems involving the use of models or simulators of said systems electric
Landscapes
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Automation & Control Theory (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种基于硬件在环仿真系统的软件测试方法及装置,涉及计算机技术领域,主要目的在于通过一种覆盖多种测试用例的通用型自动化测试用例实现自动识别需要调用的测试用例脚本,执行对软件功能的自动测试。本发明主要的技术方案为:将输入的测试参数对应录入到通用自动化测试用例的输入参数组中;根据所述测试参数在所述输入参数组中的位置调用所述通用自动化测试用例中对应的测试脚本;执行所述测试脚本,得到测试结果。本发明主要用于软件测试。
Description
技术领域
本发明涉及汽车测试技术领域,尤其涉及一种基于硬件在环仿真系统的软件测试方法及装置。
背景技术
硬件在环(Hardware-in-the-Loop,HiL)仿真测试系统是以实时处理器运行仿真模型来模拟受控对象的运行状态,通过I/O接口与被测的ECU连接,对被测ECU进行全方面的、系统的测试。从安全性、可行性和合理的成本上考虑,HiL硬件在环仿真测试已经成为ECU开发流程中非常重要的一环,减少了实车路试的次数,缩短开发时间和降低成本的同时提高ECU的软件质量,降低汽车厂的风险。特别是在新能源汽车这个全新的领域中,HiL硬件在环仿真测试对于三大核心电控系统:整车控制系统、电池管理系统(BATTERY MANAGEMENTSYSTEM,BMS)、电机控制器(Motor control unit,MCU)是非常重要的。
目前常用的基于硬件在环的自动化测试用例的设计是先根据测试软件功能需求设计测试用例,然后在与硬件在环配套的自动化测试工具上编写自动化测试用例,最后,在自动化测试工具上运行编写的自动化测试用例。该方式中的自动化测试用例与测试用例是一一对应的,每有一条测试用例,都要编写一条对应的自动化测试用例。然而,这种方式对于测试用例中重复步骤较多的情况,仍然需要一对一的编写自动化测试用例,使得测试技术人员浪费大量时间用于重复步骤在不同自动化测试用例中的编辑操作,降低了对软件测试的测试效率。
发明内容
有鉴于此,本发明提供一种基于硬件在环仿真系统的软件测试方法及装置,主要目的在于通过一种覆盖多种测试用例的通用型自动化测试用例实现自动识别需要调用的测试用例脚本,执行对软件功能的自动测试,简化测试流程。
为达到上述目的,本发明主要提供如下技术方案:
一方面,本发明提供了一种基于硬件在环仿真系统的软件测试方法,该方法包括:
将输入的测试参数对应录入到通用自动化测试用例的输入参数组中;
根据所述测试参数在所述输入参数组中的位置调用所述通用自动化测试用例中对应的测试脚本;
执行所述测试脚本,得到测试结果。
优选的,所述方法还包括:
确定所述通用自动化测试用例中所包含的多个测试用例;
提取所述多个测试用例的输入参数;
将所述输入参数去重后,组合得到所述通用自动化测试用例的输入参数组;
分别建立所述多个测试用例与所述输入参数组的关联关系。
优选的,分别建立所述多个测试用例与所述输入参数组的关联关系包括:
确定测试用例的输入参数在所述输入参数组中的位置;
将判断所述位置中是否存才参数值设置为触发所述测试用例的调用条件。
优选的,将输入的测试参数对应录入到通用自动化测试用例的输入参数组中包括:
提取所述测试参数的参数名称和参数值;
判断所述输入参数组中是否存在相同的参数名称;
若存在,则修改所述输入参数组中对应所述参数名称的参数值。
优选的,修改所述输入参数组中对应所述参数名称的参数值包括:
在所述输入参数组中对应的参数名称中标记输入标识,所述输入标识用于识别当前位置的参数具有参数值;
将所述测试参数中的参数值赋值到所述输入参数组中具有相同参数名称的参数中。
优选的,根据所述测试参数在所述输入参数组中的位置调用所述通用自动化测试用例中对应的测试脚本包括:
提取所述输入参数组中标记有所述输入标识的参数;
根据所述参数在所述输入参数组中的位置匹配所述通用自动化测试用例中所要调用的测试用例对应的测试脚本。
优选的,执行所述测试脚本,得到测试结果包括:
将标记有所述输入标识的参数以及对应的参数值输入所述测试脚本;
执行所述测试脚本,并输出脚本测试结果;
将所述测试结果录入到所述通用自动化测试用例的输出参数组中;
按照预置计算规则将所述输出参数组的计算结果作为测试结果进行展示。
另一方面,本发明还提供了一种基于硬件在环仿真系统的软件测试装置,该装置包括:
输入单元,用于将输入的测试参数对应录入到通用自动化测试用例的输入参数组中;
调用单元,用于根据所述测试参数在所述输入单元得到的输入参数组中的位置调用所述通用自动化测试用例中对应的测试脚本;
执行单元,用于执行所述调用单元调用的测试脚本,得到测试结果。
优选的,所述装置还包括:
确定单元,用于确定所述通用自动化测试用例中所包含的多个测试用例;
提取单元,用于提取所述确定单元确定的多个测试用例的输入参数;
组合单元,用于将所述提取单元提取的输入参数去重后,组合得到所述通用自动化测试用例的输入参数组;
关联单元,用于分别建立所述多个测试用例与所述组合单元得到的输入参数组的关联关系。
优选的,所述关联单元包括:
确定模块,用于确定测试用例的输入参数在所述输入参数组中的位置;
设置模块,用于将判断所述确定模块确定的位置中是否存才参数值设置为触发所述测试用例的调用条件。
优选的,所述输入单元包括:
提取模块,用于提取所述测试参数的参数名称和参数值;
判断模块,用于判断所述输入参数组中是否存在相同的所述提取模块中提取的参数名称;
修改模块,用于当所述判断模块确定存在相同的参数名称时,修改所述输入参数组中对应所述参数名称的参数值。
优选的,所述修改模块包括:
标记子模块,用于在所述输入参数组中对应的参数名称中标记输入标识,所述输入标识用于识别当前位置的参数具有参数值;
赋值子模块,用于将所述测试参数中的参数值赋值到所述输入参数组中具有相同参数名称的参数中。
优选的,所述调用单元包括:
提取模块,用于提取所述输入参数组中标记有所述输入标识的参数;
匹配模块,用于根据所述提取模块提取的参数在所述输入参数组中的位置匹配所述通用自动化测试用例中所要调用的测试用例对应的测试脚本。
优选的,所述执行单元包括:
输入模块,用于将标记有所述输入标识的参数以及对应的参数值输入所述测试脚本;
执行模块,用于执行所述测试脚本,并输出脚本测试结果;
录入模块,用于将所述执行模块得到的脚本测试结果录入到所述通用自动化测试用例的输出参数组中;
显示模块,用于按照预置计算规则将所述录入模块得到的输出参数组的计算结果作为测试结果进行展示。
依据上述本发明所提出的一种基于硬件在环仿真系统的软件测试方法及装置,主要是在硬件在环仿真系统对软件进行测试时,利用通用的自动化测试用例接收用户输入的测试参数,通过对输入参数的识别来调用通用自动化测试用例中对应的测试脚本,执行相关的功能测试,并得到相关的测试结果。相对现有技术中需要硬件在环仿真系统中逐一编写不同测试用例对应的自动化测试用例,本发明能够将需要合并处理的测试用例通过设置通用自动化测试用例的方式加以整合,将各个测试用例对应的测试脚本与通用自动化测试用例的输入参数组的组合方式进行关联,实现了由用户直接输入测试参数,由通用自动化测试用例根据测试参数自行匹配对应的测试脚本并得到相应的测试结果,简化了用户在执行测试任务时的操作步骤,提升了软件测试的自动化水平。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明实施例提出的一种基于硬件在环仿真系统的软件测试方法的流程图;
图2示出了本发明实施例提出的另一种基于硬件在环仿真系统的软件测试方法的流程图;
图3示出了本发明实施例提出的一种基于硬件在环仿真系统的软件测试装置的组成框图;
图4示出了本发明实施例提出的另一种基于硬件在环仿真系统的软件测试装置的组成框图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例提供了一种基于硬件在环仿真系统的软件测试方法,如图1所示,该方法主要解决了基于硬件在环仿真系统中需要针对每个测试用例编写对应的自动化测试用例,导致自动化测试用例数量过大,不便于用户选择查找对应的自动化测试用例进行软件测试的问题。通过设置自动化测试用例实现自动选择测试脚本执行软件测试,本方法的具体步骤包括:
101、将输入的测试参数对应录入到通用自动化测试用例的输入参数组中。
其中,通用自动化测试用例是含有多个测试脚本的按照硬件在环仿真系统运行需要所编写的测试用例。该通用自动化测试用例中的每个测试脚本则对应于为测试软件不同功能而设计的测试用例。需要说明的是,测试用例是指用于测试软件功能而设计的测试准则,而通用自动化测试用例则是针对于不同的测试系统或测试工具将测试用例具体化、程序化的产物,也就是说,自动化测试用例可以视为将测试用例通过编程语言编写的程序或程序脚本。因此,在本发明实施例中,不同的硬件在环仿真系统需要根据系统中使用的编程语言单独编写自动化测试用例。对于所采用的具体编程语言本发明实施例不做具体限定。
由于通用自动化测试用例中具有多个测试脚本,且不同的测试脚本由于测试的内容不同,所输入的测试参数也并不完全相同,因此,本步骤中的通用自动化测试用例设置有一个输入参数组,该输入参数组中包括有该通用自动化测试用例所覆盖的所有测试用例所需要的输入参数。其中,输入参数组中的所有参数的位置是相对固定的,即在该输入参数组中参数的排列分布式确定的,而本步骤所执行的是将接收到的参数对应录入到通用自动化测试用例的输入参数组中。
需要说明的是,一般的,在一个硬件在环仿真系统中往往会设置有少量的通用自动化测试用例,以涵盖大部分的软件测试功能。对于测试人员而言,其需要的操作就是在该系统中选择一个通用自动化测试用例,并输入对应的参数以及参数值即可。由于通用自动化测试用例将大量的测试用例进行了整合,因此,本发明实施例节省了用户在大量自动化测试用例中查找所需内容的时间,简化了测试输入的操作步骤。
对于输入参数的录入到输入参数组中的具体方式则不做限定。
102、根据测试参数在输入参数组中的位置调用通用自动化测试用例中对应的测试脚本。
本步骤是在确定通用自动化测试用例中的输入参数组存在输入时,将提取该输入参数组中所输入的所有测试参数的位置,基于上述步骤101的描述,由于通用自动化测试用例中输入参数组中的各个参数的位置都是相对固定的,因此,在通用自动化测试用例中含有的多个测试脚本与输入的测试参数的位置对应关系是唯一的。其中,该唯一的对应关系成立的前提是各个测试脚本的输入测试参数不同或者不完全相同。
基于上述的测试参数在输入参数组中的位置与测试脚本的唯一对应关系,将从通用自动化测试用例调用对应的测试脚本。
需要说明的是,在每次完成测试脚本的调用后,还会对通用自动化测试用例的输入参数组中录入的测试参数进行清空,以此,确保之后的录入操作不会与本次相重复导致无法测试。
103、执行测试脚本,得到测试结果。
在确定对应的测试脚本后,将在硬件在环仿真系统中执行该测试脚本,根据对应的输入测试参数,就可以得到相应的测试结果。其中,该测试结果可以仅输出该测试脚本对应的测试结果展示给用户,还可以是将该测试结果录入到通用自动化测试用例所对应的通用输出参数组中,该通用输出参数组与输入参数组具有相似的结构,是将各个测试脚本输出结果进行合并所得到的一个数组,而以该方式输出测试脚本的测试结果其主要目的并非用于向用户展示,而是为了在该硬件在环仿真系统中进行后续的相关操作,比如对测试结果的统计、对比分析等,而这些需要数据分析操作往往需要格式统一的数据内容。可见,通过设置通用自动化测试用例还可以针对用户的需求在硬件在环仿真系统中进一步的开发相关的数据分析的功能,提升系统的功能扩展性能。
结合上述的实现方式可以看出,本发明实施例所采用的基于硬件在环仿真系统的软件测试方法,相对现有技术中需要硬件在环仿真系统中逐一编写不同测试用例对应的自动化测试用例,导致大量的重复劳动降低测试效率的问题。本发明实施例能够将需要合并处理的测试用例通过设置通用自动化测试用例的方式加以整合,将各个测试用例对应的测试脚本与通用自动化测试用例的输入参数组的组合方式进行关联,实现了由用户直接输入测试参数,并通用自动化测试用例根据测试参数自行匹配对应的测试脚本并得到相应的测试结果,简化了用户在执行测试任务时的操作步骤,提升了软件测试的自动化水平。
为了更加详细地说明本发明提出的一种基于硬件在环仿真系统的软件测试方法,特别是对通用自动化测试用例的创建方式,以下针对图2所示流程图进行详细说明其各个步骤的具体实现方式,具体包括:
201、设置通用自动化测试用例。
本步骤是在用户应用硬件在环仿真系统进行软件测试之前,预先在系统中设置通用自动化测试用例,所设置的个数是根据用户自身需要进行确定,可以是一个,也可以是多个,针对一个通用自动化测试用例的创建过程具体如下:
首先,确定通用自动化测试用例中所包含的多个测试用例。一般的,是接收用户指定的多个测试用例,该测试用例包括用户基于硬件在环仿真系统所使用的编程语言编写的测试脚本,以及执行该测试脚本所需的输入参数和输出参数。其中,输入参数和输出参数为具体的参数名称。
该步骤中用户所指定的多个测试用例一般是具有较多相似执行步骤或较为常用的测试用例,将这些测试用例合并为一个通用自动化测试用例能够方便用户在进行软件测试时对自动化测试用例的查找、选择操作。
其次,提取指定的多个测试用例的输入参数,例如,用户指定的测试用例为3个。分为为A、B、C,其中,A对应的输入参数为a和b,B对应的输入参数为a和c,C对应的输入参数为b和d,对应的输入参数a、b、c、d均为参数名称。
第三,将提取的输入参数去重后,组合得到通用自动化测试用例的输入参数组,以上述步骤中的举例继续说明,设定S为通用自动化测试用例,S中覆盖了测试用例A、B、C,那么S对应的输入参数以数组的形式表示为[a,b,c,d],该输入参数数组是将所有测试用例的输入参数合并、去重后所得到的具有多个输入参数的参数组合。
需要说明的是,在确定输入参数数组时,各个输入参数在该数组中的位置是固定不变的。
最后,建立多个测试用例与输入参数组的关联关系。这里仍以上述举例加以说明,输入参数组[a,b,c,d]在没有参数写入时,其可以表示为[0,0,0,0],其中,数字“0”为状态值,表示没有参数写入,对应写入参数时,“0”对应的状态值则用“1”表示。那么,在输入参数组中不同位置上参数的变化,就可以确定用户所录入的是哪个参数,进而,确定调用哪个测试用例对应的测试脚本。因此,本步骤是要将输入参数组的不同输入状态与测试用例对应的测试脚本进行关联,比如,[1,1,0,0]关联的是测试用例A,[1,0,1,0]关联的是测试用例B,[0,1,0,1]关联的是测试用例C。当输入参数组中的参数录入状态出现上述一种状态时,则需要调用对应的测试用例A、B、C中对应的测试脚本。也就是说,根据设定的关联关系,将判断输入参数组的各个位置的参数是否有参数值的录入,可以作为触发测试用例对应测试脚本的调用条件。
通过上述的各步骤就完成了一个通用自动化测试用例的设置,用户可针对该通用自动化测试用例进行命名,确定后,该通用自动化测试用例将作为硬件在环仿真系统中待选自动化测试用例中的一项。
202、将输入的测试参数对应录入到通用自动化测试用例的输入参数组中。
本步骤是基于步骤201设置有通用自动化测试用例之后进行的软件测试步骤。在接收到用户输入的测试参数后,将该测试参数对应录入到用户选择的通用自动化测试用例中,以执行相应的软件功能测试。其中,录入测试参数的具体方式包括:
首先,提取测试参数的参数名称和参数值。其中,参数名称在硬件在环仿真系统中是唯一的,参数值为对应于参数名称的具体内容,其可以是数值也可以是字符串。
其次,判断输入参数组中是否存在相同的参数名称。以此来确定所输入的参数是否能够被识别,若不存在,说明用户所选择的通用自动化测试用例与输入的测试参数不匹配,将无法执行后续的测试步骤。
最后,若存在,则修改输入参数组中对应参数名称的参数值。由于参数值的表达方式与参数状态值的表达不同,有可能混淆,比如,参数a的参数值为0,那么在输入参数组中a的参数值与其未输入的状态值相同。为此,在本发明实施例中,所采用的标记方式是在输入参数组的各个参数中标记一个输入标识,用于对该参数当前的状态加以识别。而将参数值直接赋值到输入参数组中具有相同参数名称的参数中,比如,用户的输入为a=5,b=0,那么输入参数组为[5,0,0,0],其对应的输入标识为[1,1,0,0],当然,该输入标识的具体表示方式在本实施例中不做具体限定,也可以是[a1,b1,c0,d0]或者[a1,b1,c,d]等方式。
203、根据测试参数在输入参数组中的位置调用通用自动化测试用例中对应的测试脚本。
在确定通用自动化测试用例的输入参数组后,通过确定测试参数在输入参数组中的位置来调用对应的测试脚本的具体方式如下:
首先,提取输入参数组中标记有输入标识的参数。也就是判断该输入参数组中哪个参数为输入参数,确定位置后得到具体的输入参数状态,即要得到上述步骤中的数组[1,1,0,0],得到输入的参数是a和b。
其次,根据参数在输入参数组中的位置匹配通用自动化测试用例中所要调用的测试用例对应的测试脚本。
由于在通用自动化测试用例的设置步骤中已经设置过输入参数组的状态与对应测试脚本的关联关系,因此,该步骤就是根据步骤101中所设置的关联关系进行匹配,找到对应的测试脚本启动调用流程即可。其中,匹配成功则直接调用对应的测试脚本,而若匹配失败,则需要生成报警提示信息,告知用户输入的参数无法匹配到对应的测试脚本进行功能测试。
204、执行测试脚本,得到测试结果。
利用前述的举例具体说明本步骤的执行过程。在确定调用测试用例A所对应的测试脚本之后,执行该测试脚本就需要将对应的输入参数输入到该测试脚本中,即从输入参数组[5,0,0,0]中提取测试脚本所需的测试参数以及对应的参数值,提取结果为a=5、b=0,将给提取结果作为测试脚本的输入,运行该测试脚本,得到该测试脚本的脚本测试结果。其中,对于脚本的具体编写以及执行过程不做具体限定说明。
至此,该脚本测试结果可以作为本次软件测试的结果加以输入显示,而为了对该脚本测试结果进行进一步的统计分析,也就是将该脚本测试结果作为中间结果,本发明实施例还可以在步骤201设置通用自动化测试用例时,对应于输入参数组的设置格式,统计所有测试用例的输出参数生成该通用自动化测试用例的输出参数组,在得到上述的脚本测试结果后,将该结果对应的录入到该输出参数组中,具体的录入方式可参考输入参数组的具体实施方式,此处不再赘述。如此,对于该通用自动化测试用例中所有测试脚本的输出就可以得到统一格式的输出结果。
基于该统一格式的测试输出结果中,硬件在环仿真系统就可以进一步的按照预置的计算规则进行计算,该计算一般是基于数据的统计计算,比如求平均值,求最大值、最小值等,具体预置的计算规则在本步骤中并不做具体限定,可根据具体的场景需要由用户自定义设置。最终,将计算得到的结果作为本次测试的测试结果加以展示输出。
进一步的,作为对上述方法的实现,本发明实施例提供了一种基于硬件在环仿真系统的软件测试装置,该装置实施例与前述方法实施例对应,为便于阅读,本装置实施例不再对前述方法实施例中的细节内容进行逐一赘述,但应当明确,本实施例中的装置能够对应实现前述方法实施例中的全部内容。该装置主要用于识别用户输入的参数并调用通用自动化测试用例中对应的测试脚本执行软件测试,具体如图3所示,该装置包括:
输入单元31,用于将输入的测试参数对应录入到通用自动化测试用例的输入参数组中,该输入单元主要是将用户输入的测试参数对应输入到通用自动化测试用例所设置的输入参数组中,而不是接收用户输入的测试参数。
调用单元32,用于根据所述测试参数在所述输入单元31得到的输入参数组中的位置调用所述通用自动化测试用例中对应的测试脚本。
执行单元33,用于执行所述调用单元32调用的测试脚本,得到测试结果。
进一步的,如图4所示,所述装置还包括:
确定单元34,用于确定所述通用自动化测试用例中所包含的多个测试用例;
提取单元35,用于提取所述确定单元34确定的多个测试用例的输入参数;
组合单元36,用于将所述提取单元35提取的输入参数去重后,组合得到所述通用自动化测试用例的输入参数组;
关联单元37,用于分别建立所述确定单元34确定多个测试用例与所述组合单元36得到的输入参数组的关联关系。
进一步的,如图4所示,所述关联单元37包括:
确定模块371,用于确定测试用例的输入参数在所述输入参数组中的位置;
设置模块372,用于将判断所述确定模块371确定的位置中是否存才参数值设置为触发所述测试用例的调用条件。
进一步的,如图4所示,所述输入单元31包括:
提取模块311,用于提取所述测试参数的参数名称和参数值;
判断模块312,用于判断所述输入参数组中是否存在相同的所述提取模块311中提取的参数名称;
修改模块313,用于当所述判断模块312确定存在相同的参数名称时,修改所述输入参数组中对应所述参数名称的参数值。
进一步的,如图4所示,所述修改模块313包括:
标记子模块3131,用于在所述输入参数组中对应的参数名称中标记输入标识,所述输入标识用于识别当前位置的参数具有参数值;
赋值子模块3132,用于将所述测试参数中的参数值赋值到所述输入参数组中具有相同参数名称的参数中。
进一步的,如图4所示,所述调用单元32包括:
提取模块321,用于提取所述输入参数组中标记有所述输入标识的参数;
匹配模块322,用于根据所述提取模块321提取的参数在所述输入参数组中的位置匹配所述通用自动化测试用例中所要调用的测试用例对应的测试脚本。
进一步的,如图4所示,所述执行单元33包括:
输入模块331,用于将标记有所述输入标识的参数以及对应的参数值输入所述测试脚本;
执行模块332,用于根据所述输入模块331输入的参数以及参数值执行所述测试脚本,并输出脚本测试结果;
录入模块333,用于将所述执行模块332得到的脚本测试结果录入到所述通用自动化测试用例的输出参数组中;
显示模块334,用于按照预置计算规则将所述录入模块333得到的输出参数组的计算结果作为测试结果进行展示。
综上所述,本发明实施例所采用的基于硬件在环仿真系统的软件测试方法及装置,相对现有技术中需要硬件在环仿真系统中逐一编写不同测试用例对应的自动化测试用例,导致大量的重复劳动降低测试效率的问题。本发明实施例能够将需要合并处理的测试用例通过设置通用自动化测试用例的方式加以整合,将各个测试用例对应的测试脚本与通用自动化测试用例的输入参数组的组合方式进行关联,实现了由用户直接输入测试参数,并通用自动化测试用例根据测试参数自行匹配对应的测试脚本并得到相应的测试结果,简化了用户在执行测试任务时的操作步骤,提升了软件测试的自动化水平。此外,通过对通用自动化测试用例输出结果的统一格式处理,还可以进一步扩展硬件在环仿真系统对综合数据的分析处理能力,提升用户的应用体验。
所述基于硬件在环仿真系统的软件测试装置包括处理器和存储器,上述输入单元、调用单元和执行单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现通过一种覆盖多种测试用例的通用型自动化测试用例实现自动识别需要调用的测试用例脚本,执行对软件功能的自动测试。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序代码:将输入的测试参数对应录入到通用自动化测试用例的输入参数组中;根据所述测试参数在所述输入参数组中的位置调用所述通用自动化测试用例中对应的测试脚本;执行所述测试脚本,得到测试结果。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (14)
1.一种基于硬件在环仿真系统的软件测试方法,其特征在于,所述方法包括:
将输入的测试参数对应录入到通用自动化测试用例的输入参数组中;
根据所述测试参数在所述输入参数组中的位置调用所述通用自动化测试用例中对应的测试脚本;
执行所述测试脚本,得到测试结果。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
确定所述通用自动化测试用例中所包含的多个测试用例;
提取所述多个测试用例的输入参数;
将所述输入参数去重后,组合得到所述通用自动化测试用例的输入参数组;
分别建立所述多个测试用例与所述输入参数组的关联关系。
3.根据权利要求2所述的方法,其特征在于,分别建立所述多个测试用例与所述输入参数组的关联关系包括:
确定测试用例的输入参数在所述输入参数组中的位置;
将判断所述位置中是否存才参数值设置为触发所述测试用例的调用条件。
4.根据权利要求1-3中任一项所述的方法,其特征在于,将输入的测试参数对应录入到通用自动化测试用例的输入参数组中包括:
提取所述测试参数的参数名称和参数值;
判断所述输入参数组中是否存在相同的参数名称;
若存在,则修改所述输入参数组中对应所述参数名称的参数值。
5.根据权利要求4所述的方法,其特征在于,修改所述输入参数组中对应所述参数名称的参数值包括:
在所述输入参数组中对应的参数名称中标记输入标识,所述输入标识用于识别当前位置的参数具有参数值;
将所述测试参数中的参数值赋值到所述输入参数组中具有相同参数名称的参数中。
6.根据权利要求5所述的方法,其特征在于,根据所述测试参数在所述输入参数组中的位置调用所述通用自动化测试用例中对应的测试脚本包括:
提取所述输入参数组中标记有所述输入标识的参数;
根据所述参数在所述输入参数组中的位置匹配所述通用自动化测试用例中所要调用的测试用例对应的测试脚本。
7.根据权利要求6所述的方法,其特征在于,执行所述测试脚本,得到测试结果包括:
将标记有所述输入标识的参数以及对应的参数值输入所述测试脚本;
执行所述测试脚本,并输出脚本测试结果;
将所述测试结果录入到所述通用自动化测试用例的输出参数组中;
按照预置计算规则将所述输出参数组的计算结果作为测试结果进行展示。
8.一种基于硬件在环仿真系统的软件测试装置,其特征在于,所述装置包括:
输入单元,用于将输入的测试参数对应录入到通用自动化测试用例的输入参数组中;
调用单元,用于根据所述测试参数在所述输入单元得到的输入参数组中的位置调用所述通用自动化测试用例中对应的测试脚本;
执行单元,用于执行所述调用单元调用的测试脚本,得到测试结果。
9.根据权利要求8所述的装置,其特征在于,所述装置还包括:
确定单元,用于确定所述通用自动化测试用例中所包含的多个测试用例;
提取单元,用于提取所述确定单元确定的多个测试用例的输入参数;
组合单元,用于将所述提取单元提取的输入参数去重后,组合得到所述通用自动化测试用例的输入参数组;
关联单元,用于分别建立所述多个测试用例与所述组合单元得到的输入参数组的关联关系。
10.根据权利要求9所述的装置,其特征在于,所述关联单元包括:
确定模块,用于确定测试用例的输入参数在所述输入参数组中的位置;
设置模块,用于将判断所述确定模块确定的位置中是否存才参数值设置为触发所述测试用例的调用条件。
11.根据权利要求8-10中任一项所述的装置,其特征在于,所述输入单元包括:
提取模块,用于提取所述测试参数的参数名称和参数值;
判断模块,用于判断所述输入参数组中是否存在相同的所述提取模块中提取的参数名称;
修改模块,用于当所述判断模块确定存在相同的参数名称时,修改所述输入参数组中对应所述参数名称的参数值。
12.根据权利要求11所述的装置,其特征在于,所述修改模块包括:
标记子模块,用于在所述输入参数组中对应的参数名称中标记输入标识,所述输入标识用于识别当前位置的参数具有参数值;
赋值子模块,用于将所述测试参数中的参数值赋值到所述输入参数组中具有相同参数名称的参数中。
13.根据权利要求12所述的装置,其特征在于,所述调用单元包括:
提取模块,用于提取所述输入参数组中标记有所述输入标识的参数;
匹配模块,用于根据所述提取模块提取的参数在所述输入参数组中的位置匹配所述通用自动化测试用例中所要调用的测试用例对应的测试脚本。
14.根据权利要求13所述的装置,其特征在于,所述执行单元包括:
输入模块,用于将标记有所述输入标识的参数以及对应的参数值输入所述测试脚本;
执行模块,用于执行所述测试脚本,并输出脚本测试结果;
录入模块,用于将所述执行模块得到的脚本测试结果录入到所述通用自动化测试用例的输出参数组中;
显示模块,用于按照预置计算规则将所述录入模块得到的输出参数组的计算结果作为测试结果进行展示。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710623065.5A CN107703773A (zh) | 2017-07-27 | 2017-07-27 | 一种基于硬件在环仿真系统的软件测试方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710623065.5A CN107703773A (zh) | 2017-07-27 | 2017-07-27 | 一种基于硬件在环仿真系统的软件测试方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107703773A true CN107703773A (zh) | 2018-02-16 |
Family
ID=61170561
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710623065.5A Pending CN107703773A (zh) | 2017-07-27 | 2017-07-27 | 一种基于硬件在环仿真系统的软件测试方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107703773A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109117369A (zh) * | 2018-08-01 | 2019-01-01 | 北京长城华冠汽车技术开发有限公司 | 测试用例生成方法、执行方法及装置 |
CN109839916A (zh) * | 2018-12-17 | 2019-06-04 | 天津瑞能电气有限公司 | 一种icp智能控制器测试软件 |
CN110619152A (zh) * | 2019-08-16 | 2019-12-27 | 珠海格力电器股份有限公司 | 仿真实验参数设置方法、装置、设备和存储介质 |
CN112180890A (zh) * | 2019-07-05 | 2021-01-05 | 北京新能源汽车股份有限公司 | 一种测试用例的生成方法、装置及设备 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080115114A1 (en) * | 2006-11-10 | 2008-05-15 | Sashank Palaparthi | Automated software unit testing |
US20080120603A1 (en) * | 2006-11-21 | 2008-05-22 | International Business Machines Corporation | Automation of keyboard accessibility testing |
CN102567193A (zh) * | 2010-12-09 | 2012-07-11 | 北京新媒传信科技有限公司 | 测试用例转化为自动化测试脚本的方法及系统 |
CN103885882A (zh) * | 2014-04-10 | 2014-06-25 | 国家电网公司 | 一种基于sap平台的测试脚本及参数整合方法 |
CN104298595A (zh) * | 2014-09-29 | 2015-01-21 | 百视通网络电视技术发展有限责任公司 | 自动化测试方法及测试系统 |
CN106294120A (zh) * | 2015-06-26 | 2017-01-04 | 伊姆西公司 | 测试代码的方法、设备和计算机程序产品 |
CN106933734A (zh) * | 2015-12-30 | 2017-07-07 | 中兴通讯股份有限公司 | 一种物理层软件自动化测试方法和装置 |
-
2017
- 2017-07-27 CN CN201710623065.5A patent/CN107703773A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080115114A1 (en) * | 2006-11-10 | 2008-05-15 | Sashank Palaparthi | Automated software unit testing |
US20080120603A1 (en) * | 2006-11-21 | 2008-05-22 | International Business Machines Corporation | Automation of keyboard accessibility testing |
CN102567193A (zh) * | 2010-12-09 | 2012-07-11 | 北京新媒传信科技有限公司 | 测试用例转化为自动化测试脚本的方法及系统 |
CN103885882A (zh) * | 2014-04-10 | 2014-06-25 | 国家电网公司 | 一种基于sap平台的测试脚本及参数整合方法 |
CN104298595A (zh) * | 2014-09-29 | 2015-01-21 | 百视通网络电视技术发展有限责任公司 | 自动化测试方法及测试系统 |
CN106294120A (zh) * | 2015-06-26 | 2017-01-04 | 伊姆西公司 | 测试代码的方法、设备和计算机程序产品 |
CN106933734A (zh) * | 2015-12-30 | 2017-07-07 | 中兴通讯股份有限公司 | 一种物理层软件自动化测试方法和装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109117369A (zh) * | 2018-08-01 | 2019-01-01 | 北京长城华冠汽车技术开发有限公司 | 测试用例生成方法、执行方法及装置 |
CN109117369B (zh) * | 2018-08-01 | 2021-09-28 | 北京长城华冠汽车技术开发有限公司 | 测试用例生成方法、执行方法及装置 |
CN109839916A (zh) * | 2018-12-17 | 2019-06-04 | 天津瑞能电气有限公司 | 一种icp智能控制器测试软件 |
CN112180890A (zh) * | 2019-07-05 | 2021-01-05 | 北京新能源汽车股份有限公司 | 一种测试用例的生成方法、装置及设备 |
CN112180890B (zh) * | 2019-07-05 | 2022-01-07 | 北京新能源汽车股份有限公司 | 一种测试用例的生成方法、装置及设备 |
CN110619152A (zh) * | 2019-08-16 | 2019-12-27 | 珠海格力电器股份有限公司 | 仿真实验参数设置方法、装置、设备和存储介质 |
CN110619152B (zh) * | 2019-08-16 | 2022-08-02 | 珠海格力电器股份有限公司 | 仿真实验参数设置方法、装置、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107844424B (zh) | 基于模型的测试系统及方法 | |
CN110221975B (zh) | 创建接口用例自动化测试脚本的方法及装置 | |
CN107703773A (zh) | 一种基于硬件在环仿真系统的软件测试方法及装置 | |
CN107608874A (zh) | 测试方法和装置 | |
CN107577603A (zh) | 一种基于测试用例构建决策树的程序条件语句自动化修复系统及方法 | |
CN110659173A (zh) | 一种运维系统及方法 | |
CN104794057B (zh) | 一种交叉事件自动化测试方法和装置 | |
CN107423181A (zh) | 一种统一存储设备的自动化测试方法及装置 | |
CN110262279A (zh) | 控制系统以及控制方法 | |
CN106021118B (zh) | 测试代码生成方法及装置、测试框架代码执行方法及装置 | |
CN107797929A (zh) | 可编程逻辑仿真测试功能覆盖率的统计方法和装置 | |
CN110458168A (zh) | 车辆检测报告的处理方法、装置、计算机设备和存储介质 | |
US20070061641A1 (en) | Apparatus and method for generating test driver | |
CN105760296A (zh) | 自动化测试控制方法、装置及终端 | |
CN109886554A (zh) | 违规行为判别方法、装置、计算机设备和存储介质 | |
CN109213676A (zh) | 一种用于测试脚本的离线调试方法及装置 | |
CN107102949A (zh) | 应用程序离线测试方法及工具 | |
CN109491922A (zh) | 一种基于模型驱动的测试方法和装置 | |
CN109063433A (zh) | 虚假用户的识别方法、装置及可读存储介质 | |
CN110489317A (zh) | 基于工作流的云系统任务运行故障诊断方法与系统 | |
CN109828750A (zh) | 自动配置数据埋点的方法、装置、电子设备及存储介质 | |
CN115576834A (zh) | 支撑故障还原的软件测试复用方法、系统、终端及介质 | |
CN110264392A (zh) | 一种基于多gpu的强连通图检测方法 | |
CN106528364B (zh) | 基于存储器访问驱动的自动化协同验证平台的搭建方法 | |
CN111475358A (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: 20180216 |
|
RJ01 | Rejection of invention patent application after publication |