CN107451064B - 自动测试方法、装置、计算机设备和可读存储介质 - Google Patents

自动测试方法、装置、计算机设备和可读存储介质 Download PDF

Info

Publication number
CN107451064B
CN107451064B CN201710699400.XA CN201710699400A CN107451064B CN 107451064 B CN107451064 B CN 107451064B CN 201710699400 A CN201710699400 A CN 201710699400A CN 107451064 B CN107451064 B CN 107451064B
Authority
CN
China
Prior art keywords
test
output signal
tested model
input signal
test case
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.)
Active
Application number
CN201710699400.XA
Other languages
English (en)
Other versions
CN107451064A (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.)
Beijing CHJ Automobile Technology Co Ltd
Original Assignee
Beijing CHJ Information Technology 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 Beijing CHJ Information Technology Co Ltd filed Critical Beijing CHJ Information Technology Co Ltd
Priority to CN201710699400.XA priority Critical patent/CN107451064B/zh
Publication of CN107451064A publication Critical patent/CN107451064A/zh
Application granted granted Critical
Publication of CN107451064B publication Critical patent/CN107451064B/zh
Active 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
    • 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/3696Methods or tools to render software testable

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)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种自动测试方法、装置、计算机设备和可读存储介质,其中,自动测试方法,用于软件单元测试,包括:读取被测模型;解析被测模型,以搭建测试环境;读取与被测模型相对应的形式化语言格式的测试用例;根据测试用例,在测试环境下控制运行被测模型,生成对应的测试结果。通过本发明的技术方案,实现了对测试用例和被测模型的自动测试,测试结果较为准确,而且测试效率较高,有利于用户直观的获得测试用例和被测模型的测试结果,有利于用户了解测试用例的覆盖情况以及被测模型的设计缺陷,进而有利于用户的下一步开发工作的调整和进行。

Description

自动测试方法、装置、计算机设备和可读存储介质
技术领域
本发明涉及软件单元测试技术领域,具体而言,涉及一种自动测试方法,一种自动测试装置、一种计算机设备和一种计算机可读存储介质。
背景技术
相关技术中,软件的单元测试多是通过直接在被测模型上添加输入输出来进行测试,需要分别给定每个测试步骤的所有输入及期望的输出,需要人为统计和编写测试报告,测试效率较低,而且当测试用例存在时序要求或者输入输出存在逻辑关系时,会导致测试用例开发困难,可读性差,不利于测试用例的移植复用。
发明内容
本发明旨在至少解决现有技术或相关技术中存在的技术问题之一。
为此,本发明的一个目的在于提供一种自动测试方法。
本发明的另一个目的在于提供一种自动测试装置。
本发明的再一个目的在于提供一种计算机设备。
本发明的又一个目的在于提供一种计算机可读存储介质。
为了实现上述目的,本发明的第一方面的技术方案提出了一种自动测试方法,用于软件单元测试,包括:读取被测模型;解析被测模型,以搭建测试环境;读取与被测模型相对应的形式化语言格式的测试用例;根据测试用例,在测试环境下控制运行被测模型,生成对应的测试结果。
在该技术方案中,通过在读取被测模型后解析被测模型来搭建测试环境,有利于实现对被测模型的运行的控制,有利于在读取到测试用例后,生成用户需要的测试结果,通过读取与被测模型相对应的形式化语言格式的测试用例,并根据测试用例在测试环境下控制运行被测模型,生成对应的测试结果,实现了对测试用例和被测模型的自动测试,测试结果较为准确,而且测试效率较高,有利于用户直观的获得测试用例的测试结果,有利于用户了解测试用例的覆盖情况以及被测模型的设计缺陷,进而有利于用户的下一步开发工作的调整和进行。
其中,形式化语言格式包括表格、文本文件或统一建模的语言文件,形式化语言格式的测试用例便于转换为被测试环境和被测模型识别的信号,而且也有利于实现由用户根据测试需求来编写测试用例。
在上述技术方案中,优选地,解析被测模型,以搭建测试环境,包括:确定被测模型的输入信号和输出信号,分别为第一输入信号和第一输出信号;根据第一输入信号和第一输出信号,构建对应的输入端和输出端;插入系统函数模块至输入端和/或输出端,以调用测试用例的识别函数;确定被测模型的运行周期;确定预设测试报告模式。
在该技术方案中,通过确定被测模型的输入信号和输出信号来构建对应的输入端和输出端,并在输入端和/或输出端插入系统函数模块,可以实现对测试用例识别函数的调用,使得在测试环境下运行被测模型时,可以自动识别测试用例,有利于自动测试的实现,通过确定被测模型的运行周期,有利于实现自动控制被测模型重复运行,有利于提高测试结果的准确性,减少测试误差,通过确定预设测试报告模式,有利于实现自动输出用户需要的测试报告,减少了用户根据测试结果自行编写测试报告的繁琐工作,降低了用户的劳动强度,而且减少了测试报告的出错率。
在上述任一项技术方案中,优选地,根据测试用例,在测试环境下运行被测模型,生成对应的测试结果,包括:根据预设规则,解析测试用例,以确定第二输入信号和第二输出信号,其中,第二输入信号为测试用例中的输入信号,第二输出信号为第二输入信号对应的期望输出信号;根据第二输入信号,在测试环境下控制运行被测模型,生成第三输出信号,其中,第三输出信号为第二输入信号经被测模型运行对应的实际输出信号;比较第三输出信号与第二输出信号,生成对应的测试结果。
在该技术方案中,通过根据预设规则,解析测试用例,来确定测试用例中的输入信号为第二输入信号,测试用例中与第二输入信号对应的期望输出信号为第二输出信号,有利于提高测试用例的识别的有效性,即在测试环境下运行被测模型时,第二输入信号可以在对应的位置自动输入,根据第二输入信号,在测试环境下控制运行被测模型,生成对应的实际输出信号,也就是第三输出信号,然后比较第三输出信号与第二输出信号,生成对应的测试结果,进一步提高了测试结果的准确性,将实际输出信号与期望输出信号做比较,有利于用户直观的获得测试用例的测试结果,有利于用户了解测试用例的覆盖情况以及被测模型的设计缺陷,进而有利于用户的下一步开发工作的调整和进行。
在上述任一项技术方案中,优选地,预设规则,包括:比较测试用例每一语句中的任一字词与预设关键字库中的关键字的匹配度,以确定测试用例的每一语句中的关键字;根据预设关键字映射表,确定关键字对应的第二输入信号或第二输出信号。
在该技术方案中,通过比较测试用例每一语句中的任一字词与预设关键字库中的关键字的匹配度,来确定测试用例的每一语句中的关键字,然后根据预设关键字映射表,确定关键字对应的第二输入信号或第二输出信号,提高了测试用例解析的准确性,提高了测试用例的可识别性和可读性,有利于测试用例的移植复用。
具体地,第二输入信号对应的关键字包括Set,Range,If,Delay,Wait,第二输出信号对应的关键字包括Desire。
另外,测试用例转化为第二输入信号或第二输出信号的过程可以借助Matlab的系统函数编程方式来实现。
测试用例可以采用赋值语句编写,也可以采用控制程序运行的语句编写,其中,赋值语句可分为常量赋值,按照一定斜率赋值,或者满足一定条件赋值,控制程序运行的语句分为可以延时语句或者等待满足一定条件再继续执行的语句。
在上述任一项技术方案中,优选地,在根据测试用例,在测试环境下运行被测模型,生成对应的测试结果之后,还包括:录入测试结果至预设测试报告模式的对应位置,并输出测试报告。
在该技术方案中,通过录入测试结果至预设测试报告模式的对应位置,并输出测试报告,将测试报告直观的展示给用户,有利于用户的调用和查看,节省了整理测试报告的占用时间,提高了测试效率,降低了劳动强度,有利于用户了解测试用例的覆盖情况以及被测模型的设计缺陷,进而有利于用户的下一步开发工作的调整和进行,另外,测试报告输出时会按照一定的规律来命名,进一步提升了用户查阅测试报告时的便利性。
本发明的第二方面的技术方案提出了一种自动测试装置,用于软件单元测试,包括:读取单元,用于读取被测模型;解析单元,用于解析被测模型,以搭建测试环境;读取单元还用于:读取与被测模型相对应的形式化语言格式的测试用例;控制单元,用于根据测试用例,在测试环境下控制运行被测模型,生成对应的测试结果。
在该技术方案中,通过在读取被测模型后解析被测模型来搭建测试环境,有利于实现对被测模型的运行的控制,有利于在读取到测试用例后,生成用户需要的测试结果,通过读取与被测模型相对应的形式化语言格式的测试用例,并根据测试用例在测试环境下控制运行被测模型,生成对应的测试结果,实现了对测试用例和被测模型的自动测试,测试结果较为准确,而且测试效率较高,有利于用户直观的获得测试用例的测试结果,有利于用户了解测试用例的覆盖情况以及被测模型的设计缺陷,进而有利于用户的下一步开发工作的调整和进行。
其中,形式化语言格式包括表格、文本文件或统一建模的语言文件,形式化语言格式的测试用例便于转换为被测试环境和被测模型识别的信号,而且也有利于实现由用户根据测试需求来编写测试用例。
在上述技术方案中,优选地,还包括:第一确定单元,用于确定被测模型的输入信号和输出信号,分别为第一输入信号和第一输出信号;构建单元,用于根据第一输入信号和第一输出信号,构建对应的输入端和输出端;插入单元,用于插入系统函数模块至输入端和/或输出端,以调用测试用例的识别函数;第一确定单元还用于:确定被测模型的运行周期;第一确定单元还用于:确定预设测试报告模式。
在该技术方案中,通过确定被测模型的输入信号和输出信号来构建对应的输入端和输出端,并在输入端和/或输出端插入系统函数模块,可以实现对测试用例识别函数的调用,使得在测试环境下运行被测模型时,可以自动识别测试用例,有利于自动测试的实现,通过确定被测模型的运行周期,有利于实现自动控制被测模型重复运行,有利于提高测试结果的准确性,减少测试误差,通过确定预设测试报告模式,有利于实现自动输出用户需要的测试报告,减少了用户根据测试结果自行编写测试报告的繁琐工作,降低了用户的劳动强度,而且减少了测试报告的出错率。
在上述任一项技术方案中,优选地,解析单元还用于:根据预设规则,解析测试用例,以确定第二输入信号和第二输出信号,其中,第二输入信号为测试用例中的输入信号,第二输出信号为第二输入信号对应的期望输出信号;控制单元还用于:根据第二输入信号,在测试环境下控制运行被测模型,生成第三输出信号,其中,第三输出信号为第二输入信号经被测模型运行对应的实际输出信号;自动测试装置,还包括:比较单元,用于比较第三输出信号与第二输出信号,生成对应的测试结果。
在该技术方案中,通过根据预设规则,解析测试用例,来确定测试用例中的输入信号为第二输入信号,测试用例中与第二输入信号对应的期望输出信号为第二输出信号,有利于提高测试用例的识别的有效性,即在测试环境下运行被测模型时,第二输入信号可以在对应的位置自动输入,根据第二输入信号,在测试环境下控制运行被测模型,生成对应的实际输出信号,也就是第三输出信号,然后比较第三输出信号与第二输出信号,生成对应的测试结果,进一步提高了测试结果的准确性,将实际输出信号与期望输出信号做比较,有利于用户直观的获得测试用例的测试结果,有利于用户了解测试用例的覆盖情况以及被测模型的设计缺陷,进而有利于用户的下一步开发工作的调整和进行。
在上述任一项技术方案中,优选地,比较单元还用于:比较测试用例每一语句中的任一字词与预设关键字库中的关键字的匹配度,以确定测试用例的每一语句中的关键字;自动测试装置,还包括:第二确定单元,用于根据预设关键字映射表,确定关键字对应的第二输入信号或第二输出信号。
在该技术方案中,通过比较测试用例每一语句中的任一字词与预设关键字库中的关键字的匹配度,来确定测试用例的每一语句中的关键字,然后根据预设关键字映射表,确定关键字对应的第二输入信号或第二输出信号,提高了测试用例解析的准确性,提高了测试用例的可识别性和可读性,有利于测试用例的移植复用。
具体地,第二输入信号对应的关键字包括Set,Range,If,Delay,Wait,第二输出信号对应的关键字包括Desire。
另外,测试用例转化为第二输入信号或第二输出信号的过程可以借助Matlab的系统函数编程方式来实现。
测试用例可以采用赋值语句编写,也可以采用控制程序运行的语句编写,其中,赋值语句可分为常量赋值,按照一定斜率赋值,或者满足一定条件赋值,控制程序运行的语句分为可以延时语句或者等待满足一定条件再继续执行的语句。
在上述任一项技术方案中,优选地,还包括:录入单元,用于录入测试结果至预设测试报告模式的对应位置,并输出测试报告。
在该技术方案中,通过录入测试结果至预设测试报告模式的对应位置,并输出测试报告,将测试报告直观的展示给用户,有利于用户的调用和查看,节省了整理测试报告的占用时间,提高了测试效率,降低了劳动强度,有利于用户了解测试用例的覆盖情况以及被测模型的设计缺陷,进而有利于用户的下一步开发工作的调整和进行,另外,测试报告输出时会按照一定的规律来命名,进一步提升了用户查阅测试报告时的便利性。
本发明的第三方面的技术方案提出了一种计算机设备,计算机设备包括处理器,处理器用于执行存储器中存储的计算机程序时实现如上述本发明的第一方面的技术方案提出的任一项的自动测试方法的步骤。
在该技术方案中,计算机设备包括处理器,处理器用于执行存储器中存储的计算机程序时实现如上述本发明的第一方面的技术方案提出的任一项的自动测试方法的步骤,因此具有上述本发明的第一方面的技术方案提出的任一项的自动测试方法的全部有益效果,在此不再赘述。
本发明的第四方面的技术方案提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本发明的第一方面的技术方案提出的任一项的自动测试方法的步骤。
在该技术方案中,计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现本发明的第一方面的技术方案提出的任一项的自动测试方法的步骤,因此具有上述本发明的第一方面的技术方案提出的任一项的自动测试方法的全部有益效果,在此不再赘述。
本发明的附加方面和优点将在下面的描述部分中给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了根据本发明的一个实施例的自动测试方法的示意流程图;
图2示出了根据本发明的一个实施例的自动测试装置的示意框图;
图3示出了根据本发明的另一个实施例的自动测试方法的示意流程图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
实施例1
图1示出了根据本发明的一个实施例的自动测试方法的示意流程图。
如图1所示,根据本发明的实施例的自动测试方法,用于软件单元测试,包括:步骤S102,读取被测模型;步骤S104,解析被测模型,以搭建测试环境;步骤S106,读取与被测模型相对应的形式化语言格式的测试用例;步骤S108,根据测试用例,在测试环境下控制运行被测模型,生成对应的测试结果。
在该实施例中,通过在读取被测模型后解析被测模型来搭建测试环境,有利于实现对被测模型的运行的控制,有利于在读取到测试用例后,生成用户需要的测试结果,通过读取与被测模型相对应的形式化语言格式的测试用例,并根据测试用例在测试环境下控制运行被测模型,生成对应的测试结果,实现了对测试用例和被测模型的自动测试,测试结果较为准确,而且测试效率较高,有利于用户直观的获得测试用例的测试结果,有利于用户了解测试用例的覆盖情况以及被测模型的设计缺陷,进而有利于用户的下一步开发工作的调整和进行。
其中,形式化语言格式包括表格、文本文件或统一建模的语言文件,形式化语言格式的测试用例便于转换为被测试环境和被测模型识别的信号,而且也有利于实现由用户根据测试需求来编写测试用例。
在上述实施例中,优选地,解析被测模型,以搭建测试环境,包括:确定被测模型的输入信号和输出信号,分别为第一输入信号和第一输出信号;根据第一输入信号和第一输出信号,构建对应的输入端和输出端;插入系统函数模块至输入端和/或输出端,以调用测试用例的识别函数;确定被测模型的运行周期;确定预设测试报告模式。
在该实施例中,通过确定被测模型的输入信号和输出信号来构建对应的输入端和输出端,并在输入端和/或输出端插入系统函数模块,可以实现对测试用例识别函数的调用,使得在测试环境下运行被测模型时,可以自动识别测试用例,有利于自动测试的实现,通过确定被测模型的运行周期,有利于实现自动控制被测模型重复运行,有利于提高测试结果的准确性,减少测试误差,通过确定预设测试报告模式,有利于实现自动输出用户需要的测试报告,减少了用户根据测试结果自行编写测试报告的繁琐工作,降低了用户的劳动强度,而且减少了测试报告的出错率。
在上述任一项实施例中,优选地,根据测试用例,在测试环境下运行被测模型,生成对应的测试结果,包括:根据预设规则,解析测试用例,以确定第二输入信号和第二输出信号,其中,第二输入信号为测试用例中的输入信号,第二输出信号为第二输入信号对应的期望输出信号;根据第二输入信号,在测试环境下控制运行被测模型,生成第三输出信号,其中,第三输出信号为第二输入信号经被测模型运行对应的实际输出信号;比较第三输出信号与第二输出信号,生成对应的测试结果。
在该实施例中,通过根据预设规则,解析测试用例,来确定测试用例中的输入信号为第二输入信号,测试用例中与第二输入信号对应的期望输出信号为第二输出信号,有利于提高测试用例的识别的有效性,即在测试环境下运行被测模型时,第二输入信号可以在对应的位置自动输入,根据第二输入信号,在测试环境下控制运行被测模型,生成对应的实际输出信号,也就是第三输出信号,然后比较第三输出信号与第二输出信号,生成对应的测试结果,进一步提高了测试结果的准确性,将实际输出信号与期望输出信号做比较,有利于用户直观的获得测试用例的测试结果,有利于用户了解测试用例的覆盖情况以及被测模型的设计缺陷,进而有利于用户的下一步开发工作的调整和进行。
在上述任一项实施例中,优选地,预设规则,包括:比较测试用例每一语句中的任一字词与预设关键字库中的关键字的匹配度,以确定测试用例的每一语句中的关键字;根据预设关键字映射表,确定关键字对应的第二输入信号或第二输出信号。
在该实施例中,通过比较测试用例每一语句中的任一字词与预设关键字库中的关键字的匹配度,来确定测试用例的每一语句中的关键字,然后根据预设关键字映射表,确定关键字对应的第二输入信号或第二输出信号,提高了测试用例解析的准确性,提高了测试用例的可识别性和可读性,有利于测试用例的移植复用。
具体地,第二输入信号对应的关键字包括Set,Range,If,Delay,Wait,第二输出信号对应的关键字包括Desire。
另外,测试用例转化为第二输入信号或第二输出信号的过程可以借助Matlab的系统函数编程方式来实现。
测试用例可以采用赋值语句编写,也可以采用控制程序运行的语句编写,其中,赋值语句可分为常量赋值,按照一定斜率赋值,或者满足一定条件赋值,控制程序运行的语句分为可以延时语句或者等待满足一定条件再继续执行的语句。
在上述任一项实施例中,优选地,在根据测试用例,在测试环境下运行被测模型,生成对应的测试结果之后,还包括:录入测试结果至预设测试报告模式的对应位置,并输出测试报告。
在该实施例中,通过录入测试结果至预设测试报告模式的对应位置,并输出测试报告,将测试报告直观的展示给用户,有利于用户的调用和查看,节省了整理测试报告的占用时间,提高了测试效率,降低了劳动强度,有利于用户了解测试用例的覆盖情况以及被测模型的设计缺陷,进而有利于用户的下一步开发工作的调整和进行,另外,测试报告输出时会按照一定的规律来命名,进一步提升了用户查阅测试报告时的便利性。
实施例2
图2示出了根据本发明的一个实施例的自动测试装置的示意框图。
如图2所示,根据本发明的实施例的自动测试装置,用于软件单元测试,包括:读取单元,用于读取被测模型;解析单元,用于解析被测模型,以搭建测试环境;读取单元还用于:读取与被测模型相对应的形式化语言格式的测试用例;控制单元,用于根据测试用例,在测试环境下控制运行被测模型,生成对应的测试结果。
在该实施例中,通过在读取被测模型后解析被测模型来搭建测试环境,有利于实现对被测模型的运行的控制,有利于在读取到测试用例后,生成用户需要的测试结果,通过读取与被测模型相对应的形式化语言格式的测试用例,并根据测试用例在测试环境下控制运行被测模型,生成对应的测试结果,实现了对测试用例和被测模型的自动测试,测试结果较为准确,而且测试效率较高,有利于用户直观的获得测试用例的测试结果,有利于用户了解测试用例的覆盖情况以及被测模型的设计缺陷,进而有利于用户的下一步开发工作的调整和进行。
其中,形式化语言格式包括表格、文本文件或统一建模的语言文件,形式化语言格式的测试用例便于转换为被测试环境和被测模型识别的信号,而且也有利于实现由用户根据测试需求来编写测试用例。
在上述实施例中,优选地,还包括:第一确定单元,用于确定被测模型的输入信号和输出信号,分别为第一输入信号和第一输出信号;构建单元,用于根据第一输入信号和第一输出信号,构建对应的输入端和输出端;插入单元,用于插入系统函数模块至输入端和/或输出端,以调用测试用例的识别函数;第一确定单元还用于:确定被测模型的运行周期;第一确定单元还用于:确定预设测试报告模式。
在该实施例中,通过确定被测模型的输入信号和输出信号来构建对应的输入端和输出端,并在输入端和/或输出端插入系统函数模块,可以实现对测试用例识别函数的调用,使得在测试环境下运行被测模型时,可以自动识别测试用例,有利于自动测试的实现,通过确定被测模型的运行周期,有利于实现自动控制被测模型重复运行,有利于提高测试结果的准确性,减少测试误差,通过确定预设测试报告模式,有利于实现自动输出用户需要的测试报告,减少了用户根据测试结果自行编写测试报告的繁琐工作,降低了用户的劳动强度,而且减少了测试报告的出错率。
在上述任一项实施例中,优选地,解析单元还用于:根据预设规则,解析测试用例,以确定第二输入信号和第二输出信号,其中,第二输入信号为测试用例中的输入信号,第二输出信号为第二输入信号对应的期望输出信号;控制单元还用于:根据第二输入信号,在测试环境下控制运行被测模型,生成第三输出信号,其中,第三输出信号为第二输入信号经被测模型运行对应的实际输出信号;自动测试装置,还包括:比较单元,用于比较第三输出信号与第二输出信号,生成对应的测试结果。
在该实施例中,通过根据预设规则,解析测试用例,来确定测试用例中的输入信号为第二输入信号,测试用例中与第二输入信号对应的期望输出信号为第二输出信号,有利于提高测试用例的识别的有效性,即在测试环境下运行被测模型时,第二输入信号可以在对应的位置自动输入,根据第二输入信号,在测试环境下控制运行被测模型,生成对应的实际输出信号,也就是第三输出信号,然后比较第三输出信号与第二输出信号,生成对应的测试结果,进一步提高了测试结果的准确性,将实际输出信号与期望输出信号做比较,有利于用户直观的获得测试用例的测试结果,有利于用户了解测试用例的覆盖情况以及被测模型的设计缺陷,进而有利于用户的下一步开发工作的调整和进行。
在上述任一项实施例中,优选地,比较单元还用于:比较测试用例每一语句中的任一字词与预设关键字库中的关键字的匹配度,以确定测试用例的每一语句中的关键字;自动测试装置,还包括:第二确定单元,用于根据预设关键字映射表,确定关键字对应的第二输入信号或第二输出信号。
在该实施例中,通过比较测试用例每一语句中的任一字词与预设关键字库中的关键字的匹配度,来确定测试用例的每一语句中的关键字,然后根据预设关键字映射表,确定关键字对应的第二输入信号或第二输出信号,提高了测试用例解析的准确性,提高了测试用例的可识别性和可读性,有利于测试用例的移植复用。
具体地,第二输入信号对应的关键字包括Set,Range,If,Delay,Wait,第二输出信号对应的关键字包括Desire。
另外,测试用例转化为第二输入信号或第二输出信号的过程可以借助Matlab的系统函数编程方式来实现。
测试用例可以采用赋值语句编写,也可以采用控制程序运行的语句编写,其中,赋值语句可分为常量赋值,按照一定斜率赋值,或者满足一定条件赋值,控制程序运行的语句分为可以延时语句或者等待满足一定条件再继续执行的语句。
在上述任一项实施例中,优选地,还包括:录入单元,用于录入测试结果至预设测试报告模式的对应位置,并输出测试报告。
在该实施例中,通过录入测试结果至预设测试报告模式的对应位置,并输出测试报告,将测试报告直观的展示给用户,有利于用户的调用和查看,节省了整理测试报告的占用时间,提高了测试效率,降低了劳动强度,有利于用户了解测试用例的覆盖情况以及被测模型的设计缺陷,进而有利于用户的下一步开发工作的调整和进行,另外,测试报告输出时会按照一定的规律来命名,进一步提升了用户查阅测试报告时的便利性。
实施例3
根据本发明的实施例的计算机设备,计算机设备包括处理器,处理器用于执行存储器中存储的计算机程序时实现如上述本发明的实施例提出的任一项的自动测试方法的步骤。
在该实施例中,计算机设备包括处理器,处理器用于执行存储器中存储的计算机程序时实现如上述本发明的实施例提出的任一项的自动测试方法的步骤,因此具有上述本发明的实施例提出的任一项的自动测试方法的全部有益效果,在此不再赘述。
实施例4
根据本发明的实施例的计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述本发明的实施例提出的任一项的自动测试方法的步骤。
在该实施例中,计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述本发明的实施例提出的任一项的自动测试方法的步骤,因此具有上述本发明的实施例提出的任一项的自动测试方法的全部有益效果,在此不再赘述。
实施例5
图3示出了根据本发明的另一个实施例的自动测试方法的示意流程图。
如图3所示,根据本发明的实施例的自动测试方法,包括:步骤S302,针对被测模型自动搭建测试环境;步骤S304,读取测试用例;步骤S306,运行被测模型;步骤S308,期望输出与实际输出比较,步骤S310,输出测试结果,实现了对被测模型和测试用例的自动测试,自动输出测试结果,有利于用户了解测试用例的覆盖情况以及被测模型的设计缺陷,进而有利于用户的下一步开发工作的调整和进行。
以上结合附图详细说明了本发明的技术方案,本发明提出了一种自动测试方法、装置、计算机设备和可读存储介质,通过根据测试用例,在根据被测模型自动搭建的测试环境下运行被测模型,生成对应的测试结果,实现了对测试用例和被测模型的自动测试,测试结果较为准确,而且测试效率较高,有利于用户直观的获得测试用例和被测模型的测试结果,有利于用户了解测试用例的覆盖情况以及被测模型的设计缺陷,进而有利于用户的下一步开发工作的调整和进行。
本发明方法中的步骤可根据实际需要进行顺序调整、合并和删减。
本发明装置中的单元可根据实际需要进行合并、划分和删减。
本发明中术语“第一”、“第二”、“第三”仅用于描述的目的,而不能理解为指示或暗示相对重要性。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种自动测试方法,用于软件单元测试,其特征在于,包括:
读取被测模型;
解析所述被测模型,以搭建测试环境;
读取与所述被测模型相对应的形式化语言格式的测试用例;
根据所述测试用例,在所述测试环境下控制运行所述被测模型,生成对应的测试结果;
所述解析所述被测模型,以搭建测试环境,包括:
确定所述被测模型的输入信号和输出信号,分别为第一输入信号和第一输出信号;
根据所述第一输入信号和所述第一输出信号,构建对应的输入端和输出端;
插入系统函数模块至所述输入端和/或所述输出端,以调用所述测试用例的识别函数;
确定所述被测模型的运行周期;
确定预设测试报告模式。
2.根据权利要求1所述的自动测试方法,其特征在于,所述根据所述测试用例,在所述测试环境下运行所述被测模型,生成对应的测试结果,包括:
根据预设规则,解析所述测试用例,以确定第二输入信号和第二输出信号,其中,所述第二输入信号为所述测试用例中的输入信号,所述第二输出信号为所述第二输入信号对应的期望输出信号;
根据所述第二输入信号,在所述测试环境下控制运行所述被测模型,生成第三输出信号,其中,所述第三输出信号为所述第二输入信号经所述被测模型运行对应的实际输出信号;
比较所述第三输出信号与所述第二输出信号,生成所述对应的测试结果。
3.根据权利要求2所述的自动测试方法,其特征在于,所述预设规则,包括:
比较所述测试用例每一语句中的任一字词与预设关键字库中的关键字的匹配度,以确定所述测试用例的每一语句中的关键字;
根据预设关键字映射表,确定所述关键字对应的所述第二输入信号或所述第二输出信号。
4.根据权利要求1所述的自动测试方法,其特征在于,在所述根据所述测试用例,在所述测试环境下运行所述被测模型,生成对应的测试结果之后,还包括:
录入所述测试结果至预设测试报告模式的对应位置,并输出测试报告。
5.一种自动测试装置,用于软件单元测试,其特征在于,包括:
读取单元,用于读取被测模型;
解析单元,用于解析所述被测模型,以搭建测试环境;
所述读取单元还用于:读取与所述被测模型相对应的形式化语言格式的测试用例;
控制单元,用于根据所述测试用例,在所述测试环境下控制运行所述被测模型,生成对应的测试结果;
还包括:
第一确定单元,用于确定所述被测模型的输入信号和输出信号,分别为第一输入信号和第一输出信号;
构建单元,用于根据所述第一输入信号和所述第一输出信号,构建对应的输入端和输出端;
插入单元,用于插入系统函数模块至所述输入端和/或所述输出端,以调用所述测试用例的识别函数;
所述第一确定单元还用于:确定所述被测模型的运行周期;
所述第一确定单元还用于:确定预设测试报告模式。
6.根据权利要求5所述的自动测试装置,其特征在于,
所述解析单元还用于:根据预设规则,解析所述测试用例,以确定第二输入信号和第二输出信号,其中,所述第二输入信号为所述测试用例中的输入信号,所述第二输出信号为所述第二输入信号对应的期望输出信号;
所述控制单元还用于:根据所述第二输入信号,在所述测试环境下控制运行所述被测模型,生成第三输出信号,其中,所述第三输出信号为所述第二输入信号经所述被测模型运行对应的实际输出信号;
所述自动测试装置,还包括:
比较单元,用于比较所述第三输出信号与所述第二输出信号,生成所述对应的测试结果。
7.根据权利要求6所述的自动测试装置,其特征在于,
所述比较单元还用于:比较所述测试用例每一语句中的任一字词与预设关键字库中的关键字的匹配度,以确定所述测试用例的每一语句中的关键字;
所述自动测试装置,还包括:
第二确定单元,用于根据预设关键字映射表,确定所述关键字对应的所述第二输入信号或所述第二输出信号。
8.根据权利要求5所述的自动测试装置,其特征在于,还包括:
录入单元,用于录入所述测试结果至预设测试报告模式的对应位置,并输出测试报告。
9.一种计算机设备,其特征在于,所述计算机设备包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1至4中任一项所述的自动测试方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至4中任一项所述的自动测试方法的步骤。
CN201710699400.XA 2017-08-16 2017-08-16 自动测试方法、装置、计算机设备和可读存储介质 Active CN107451064B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710699400.XA CN107451064B (zh) 2017-08-16 2017-08-16 自动测试方法、装置、计算机设备和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710699400.XA CN107451064B (zh) 2017-08-16 2017-08-16 自动测试方法、装置、计算机设备和可读存储介质

Publications (2)

Publication Number Publication Date
CN107451064A CN107451064A (zh) 2017-12-08
CN107451064B true CN107451064B (zh) 2020-08-18

Family

ID=60491247

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710699400.XA Active CN107451064B (zh) 2017-08-16 2017-08-16 自动测试方法、装置、计算机设备和可读存储介质

Country Status (1)

Country Link
CN (1) CN107451064B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108845932B (zh) * 2018-05-24 2022-11-25 北京五八信息技术有限公司 一种网络库的单元测试方法、装置、存储介质及终端
CN109376069B (zh) * 2018-09-03 2023-07-21 中国平安人寿保险股份有限公司 一种测试报告的生成方法及设备
CN109828904A (zh) * 2018-12-14 2019-05-31 深圳壹账通智能科技有限公司 系统验证方法、装置、电子设备及存储介质
CN111104334B (zh) * 2019-12-24 2023-04-07 重庆长安新能源汽车科技有限公司 基于eeprom模块接口软件的测试方法、装置及可读取存储介质
CN112527676A (zh) * 2020-12-23 2021-03-19 中移(杭州)信息技术有限公司 模型自动化测试方法、装置及存储介质
CN113268415B (zh) * 2021-05-11 2024-06-28 卡斯柯信号(成都)有限公司 一种基于测试用例的联锁规则自动测试系统及方法

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017457A (zh) * 2007-02-09 2007-08-15 山东浪潮齐鲁软件产业股份有限公司 一种计算机软件的自动化测试方法
CN102360331A (zh) * 2011-10-09 2012-02-22 中国航空无线电电子研究所 基于形式化描述的测试程序自动生成方法
CN103064403A (zh) * 2012-12-19 2013-04-24 潍柴动力股份有限公司 一种ecu硬件在环仿真自动化测试方法和系统
CN105718366A (zh) * 2014-12-05 2016-06-29 中国航空工业集团公司航空动力控制系统研究所 基于Matlab的模型自动测试方法
CN105718617A (zh) * 2014-12-05 2016-06-29 中国航空工业集团公司航空动力控制系统研究所 用于Matlab自动测试的Bus结构体反向自动建模方法
CN205580751U (zh) * 2016-04-28 2016-09-14 北京经纬恒润科技有限公司 一种汽车天窗控制系统的测试试验台

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7007207B2 (en) * 2002-10-21 2006-02-28 International Business Machines Corporation Scheduling of transactions in system-level test program generation

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101017457A (zh) * 2007-02-09 2007-08-15 山东浪潮齐鲁软件产业股份有限公司 一种计算机软件的自动化测试方法
CN102360331A (zh) * 2011-10-09 2012-02-22 中国航空无线电电子研究所 基于形式化描述的测试程序自动生成方法
CN103064403A (zh) * 2012-12-19 2013-04-24 潍柴动力股份有限公司 一种ecu硬件在环仿真自动化测试方法和系统
CN105718366A (zh) * 2014-12-05 2016-06-29 中国航空工业集团公司航空动力控制系统研究所 基于Matlab的模型自动测试方法
CN105718617A (zh) * 2014-12-05 2016-06-29 中国航空工业集团公司航空动力控制系统研究所 用于Matlab自动测试的Bus结构体反向自动建模方法
CN205580751U (zh) * 2016-04-28 2016-09-14 北京经纬恒润科技有限公司 一种汽车天窗控制系统的测试试验台

Also Published As

Publication number Publication date
CN107451064A (zh) 2017-12-08

Similar Documents

Publication Publication Date Title
CN107451064B (zh) 自动测试方法、装置、计算机设备和可读存储介质
CN104572463B (zh) 测试接口信息的方法及装置
US20130239098A1 (en) Source code conversion method and source code conversion program
CN106598869A (zh) 实现软件自动测试的方法、装置及电子设备
CN108459954B (zh) 应用程序漏洞检测方法和装置
US20070061641A1 (en) Apparatus and method for generating test driver
CN111382070A (zh) 兼容性测试方法、装置、存储介质和计算机设备
JP6440895B2 (ja) ソフトウェア分析装置及びソフトウェア分析方法
CN104239206A (zh) 网页测试方法和装置
CN103235757B (zh) 基于自动化造数对输入域测试对象进行测试的装置和方法
CN113434395A (zh) 测试用例的自动化生成方法、装置、设备及介质
CN113094252B (zh) 测试用例生成方法、装置、计算机设备及存储介质
CN115904989A (zh) 一种接口测试方法、装置、设备及可读存储介质
CN111680463A (zh) 一种文件检查方法和装置
CN109144848B (zh) 一种Verilog HDL代码白盒测试辅助平台及其工作过程
CN101201750B (zh) 利用语法词法分析工具为编解码提供数据的方法
KR102117905B1 (ko) 신뢰성 테스트 결과 관리 데이터 자동 생성 방법 및 신뢰성 테스트 결과 관리 데이터 자동 생성 장치
CN111258838B (zh) 验证组件生成方法、装置、存储介质及验证平台
CN111767214B (zh) 软件ui的自动化测试方法及装置
CN115422095A (zh) 一种回归测试用例推荐方法、装置、设备及介质
CN111078548B (zh) 测试用例解析方法、装置、存储介质及验证平台
CN107015955B (zh) 文档编辑方法和装置
CN113805861A (zh) 基于机器学习的代码生成方法、代码编辑系统及存储介质
CN109002980B (zh) 一种场景化的知识检验方法及装置
CN106713666A (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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Unit 819, Block D, Building 8, Wangjing Dongyuan District 4, Chaoyang District, Beijing 100102

Patentee after: BEIJING CHJ AUTOMOTIVE TECHNOLOGY Co.,Ltd.

Address before: Unit 819, Block D, Building 8, Wangjing Dongyuan District 4, Chaoyang District, Beijing 100102

Patentee before: Beijing Chehejia Information Technology Co.,Ltd.

TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20211214

Address after: 101300 room 107, building 1, courtyard 4, Hengxing Road, Gaoliying Town, Shunyi District, Beijing (scientific and technological innovation functional area)

Patentee after: Beijing chehejia Automobile Technology Co.,Ltd.

Address before: Unit 819, Block D, Building 8, Wangjing Dongyuan District 4, Chaoyang District, Beijing 100102

Patentee before: BEIJING CHJ AUTOMOTIVE TECHNOLOGY Co.,Ltd.