CN108701074A - 测试用例生成装置和测试用例生成程序 - Google Patents
测试用例生成装置和测试用例生成程序 Download PDFInfo
- Publication number
- CN108701074A CN108701074A CN201680082137.3A CN201680082137A CN108701074A CN 108701074 A CN108701074 A CN 108701074A CN 201680082137 A CN201680082137 A CN 201680082137A CN 108701074 A CN108701074 A CN 108701074A
- Authority
- CN
- China
- Prior art keywords
- test
- condition
- input
- cases technology
- arrival
- 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
- 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
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- 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/3664—Environments for testing or debugging software
-
- 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
- G06F11/3672—Test management
- G06F11/3676—Test management for coverage analysis
-
- 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
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
-
- 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
- G06F11/3672—Test management
- G06F11/3692—Test management for test results analysis
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
测试用例生成装置(10)将多个输入条件(31)、多个输出条件(32)、以及通过基于软件构造的试验方法确认处理到达的多个到达点的各组合作为对象样式,判定是否能够生成测试用例(36),该测试用例(36)是能够同时确认对象样式中的作为输入条件(31)和输出条件(32)的对的输入输出条件以及到达点的输入信号和输出信号的值。由此,测试用例生成装置(10)确定能够确认输入条件(31)中的各输入条件(31)、输出条件(32)中的各输出条件(32)、和到达点中的各到达点的测试用例(36)的组。
Description
技术领域
本发明涉及生成系统开发中的测试用例的技术。
背景技术
由于用于满足多功能化和附加价值的提高的控制功能的电子化,控制装置中搭载的控制软件的大规模化和复杂化急速发展。进而,在控制软件中,预料到基于衍生机型和使用地区的差异的变形增加。在这种状况下,为了维持和强化收益力,需要致力于控制软件的开发的生产性提高。
很少从零开始新开发控制装置,多数情况下沿用现有的控制装置进行功能改良。因此,在针对控制软件的开发应用现有的开发工艺的情况下,与试验工序中的资源有关的课题显现。
具体而言,存在很难判断针对功能变更的结合试验是否充分、在系统试验中使作业量滞后这样的课题,以及与大多按照每个机型进行功能变更和追加的软件部件有关的单体试验的作业量庞大这样的课题。该课题成为提升开发成本的主要原因。
作为解决上述课题的前提,需要明确针对试验工序的要求事项。
针对试验工序的要求事项将功能安全标准作为参考,同时保证以下的(要求事项1)(要求事项2)。(要求事项1)保证基于控制软件的外部功能的覆盖。(要求事项2)保证基于控制软件的内部构造的覆盖。
作为具体例,功能安全标准存在航空领域的DO-178B和汽车领域的ISO26262。
作为现有的试验技术,分别保证了(要求事项1)的基于功能的覆盖和(要求事项2)的基于构造的覆盖(参照专利文献1、非专利文献1)。
现有技术文献
专利文献
专利文献1:日本特开2008-276556号公报
非专利文献
非专利文献1:桥本祐介、中岛震,“ソフトウェアモデル検査とテストケース生成の統合ツールチェイン”,ソフトウェアエンジニアリングシンポジウム2011,September2011.
发明内容
发明要解决的课题
在现有的试验技术中,在保证了(要求事项1)的基于功能的覆盖后,利用手动作业补充无法保证(要求事项2)的基于构造的覆盖的部分。因此,针对(要求事项2)的基于构造的覆盖,作业量庞大,并且,可能无法消除作业遗漏,而未达成(要求事项2)。
本发明的目的在于,确定能够同时保证(要求事项1)的基于功能的覆盖和(要求事项2)的基于构造的覆盖的测试用例。
用于解决课题的手段
本发明的测试用例生成装置具有:样式生成部,其生成组合样式,该组合样式表示与对象系统的输入信号有关的多个输入条件、与所述对象系统的输出信号有关的多个输出条件、和所述对象系统中的多个到达点的组合,其中,通过基于软件构造的试验方法确认处理到达所述多个到达点;以及测试用例生成部,其将由所述样式生成部生成的所述组合样式所表示的各组合作为对象样式,判定是否能够生成测试用例,该测试用例是能够同时确认所述对象样式中的作为所述输入条件和所述输出条件的对的输入输出条件以及所述到达点的所述多个输入信号的值,由此,确定能够确认所述多个输入条件中的各输入条件、所述多个输出条件中的各输出条件、和所述多个到达点中的各到达点的所述测试用例的组。
发明效果
本发明针对输入条件、输出条件、到达点的组合,判定是否能够生成能够同时确认输入输出条件和到达点的测试用例。由此,能够确定能够同时保证(要求事项1)的基于功能的覆盖和(要求事项2)的基于构造的覆盖的测试用例。
附图说明
图1是实施方式1的测试用例生成装置10的结构图。
图2是示出实施方式1的对象系统30的典型结构例的图。
图3是示出实施方式1的测试用例生成装置10的动作的流程图。
图4是实施方式1的输入条件31和输出条件32的说明图。
图5是实施方式1的安装物125的说明图。
图6是实施方式1的解析用安装物33的说明图。
图7是实施方式1的组合样式的说明图。
图8是实施方式1的附条件安装物34的说明图。
图9是实施方式1的覆盖信息35的说明图。
图10是实施方式1的测试用例36的说明图。
图11是实施方式1的步骤S5的测试用例生成处理的说明图。
图12是示出实施方式1的步骤S5的测试用例生成处理的具体例的图。
图13是实施方式1的基于构造的试验方法的具体例的说明图。
图14是实施方式1的基于功能的试验方法(流程)的具体例的说明图。
图15是实施方式1的基于功能的试验方法(值)的具体例的说明图。
图16是变形例1的测试用例生成装置10的结构图。
图17是实施方式2的反复系统37的说明图。
具体实施方式
实施方式1
***结构的说明***
参照图1对实施方式1的测试用例生成装置10的结构进行说明。
测试用例生成装置10是用于生成对象系统30的测试用例36的计算机。
测试用例生成装置10具有处理器11、存储装置12、通信接口13、输入输出接口14这样的硬件。处理器11经由信号线而与其他硬件连接,对这些其他硬件进行控制。
处理器11是进行处理的IC(Integrated Circuit)。具体而言,处理器11是CPU(Central Processing Unit)、DSP(Digital Signal Processor)、GPU(GraphicsProcessing Unit)。
存储装置12具有内存(memory)121和存储器(storage)122。具体而言,内存121是RAM(Random Access Memory)。具体而言,存储器122是HDD(Hard Disk Drive)。并且,存储器122也可以是SD(Secure Digital)存储卡、CF(CompactFlash)、NAND闪存、软盘、光盘、高密度盘、蓝光(注册商标)盘、DVD这样的移动存储介质。
通信接口13是连接外部的服务器这样的装置的装置。作为具体例,通信接口13是USB(Universal Serial Bus)、IEEE1394的连接端子。
输入输出接口14是连接键盘和鼠标这样的输入装置、显示器这样的显示装置的装置。作为具体例,输入输出接口14是USB、HDMI(注册商标,High-Definition MultimediaInterface)的连接端子。
作为功能结构要素,测试用例生成装置10具有条件提取部21、到达信号插入部22、样式生成部23、测试用例生成部24。条件提取部21、到达信号插入部22、样式生成部23、测试用例生成部24的各部的功能通过软件实现。
在存储装置12的存储器122中存储有实现测试用例生成装置10的各部的功能的程序。该程序通过处理器11读入到内存121中,通过处理器11来执行。由此,实现测试用例生成装置10的各部的功能。
存储装置12的存储器122实现存储了对象系统30的功能规格的规格存储部123。
在规格存储部123中存储有信号值条件124和安装物125这样的内容。信号值条件124表示对象系统30的外部规格中的、与对象系统30的多个输入信号分别有关的输入条件和与对象系统30的多个输出信号分别有关的输出条件。输入条件和输出条件是信号值的范围和信号值的边界值这样的条件。安装物125是实现对象系统30的程序代码、和表示对象系统30的处理流程的处理模型这样的至少确定对象系统30的处理流程的内容。
表示由处理器11实现的各部的功能的处理结果的信息、数据、信号值、变量值存储在内存121或处理器11内的寄存器或高速缓冲存储器中。在以下的说明中,设表示由处理器11实现的各部的功能的处理结果的信息、数据、信号值、变量值存储在内存121中进行说明。
实现由处理器11实现的各功能的程序存储在存储装置12中。但是,该程序也可以存储在磁盘、软盘、光盘、高密度盘、蓝光(注册商标)盘、DVD这样的移动存储介质中。
在图1中,仅示出一个处理器11。但是,处理器11也可以是多个,多个处理器11也可以协作执行实现各功能的程序。
参照图2对实施方式1的对象系统30的典型结构进行说明。另外,图2所示的结构是典型结构,对象系统30的结构不限于此。
对象系统30构成为利用数字信号线或模拟信号线连接由控制软件和硬件构成的控制装置和控制对象。控制软件由实现功能的应用、实现通信和调度这样的功能动作的结构的执行环境、用于对控制对象进行控制的驱动器这样的层构成。硬件由微计算机和调度器等构成。控制对象是传感器和致动器这样的IO(Input/Output)设备、外部装置这样的装置。
应用由多个控制处理构成,该多个控制处理周期地按照指定顺序起动,依赖于内部所具有的状态变量、计数器和缓冲器的值等对处理内容进行变更。执行环境和驱动器由寄存器访问这样的I/O处理、比控制处理的优先级高的中断处理、定时器处理、通信处理构成。在对象系统30中,一边在应用与执行环境和驱动器之间交换数据,一边时时刻刻进行控制运算。
***动作的说明***
参照图3~图15对实施方式1的测试用例生成装置10的动作进行说明。
实施方式1的测试用例生成装置10的动作相当于实施方式1的测试用例生成方法。并且,实施方式1的测试用例生成装置10的动作相当于实施方式1的测试用例生成程序的处理。
参照图3~图10对实施方式1的测试用例生成装置10的整体动作进行说明。
(图3的步骤S1:条件提取处理)
条件提取部21读出存储器122的规格存储部123中存储的信号值条件124,如图4所示,从信号值条件124中提取与各输入信号有关的输入条件31和与各输出信号有关的输出条件32。由此,提取多个输入条件31和多个输出条件32。在图4中,提取与输入信号1~输入信号n分别有关的输入条件31即输入条件1~输入条件n和与输出信号1~输出信号m分别有关的输出条件32即输出条件1~输出条件m。条件提取部21将提取出的多个输入条件31和多个输出条件32写入内存121中。
各输入条件和各输出条件由比特、逻辑值、值的列举、值的范围这样的条件或条件的组合来规定。比特表示输入信号或输出信号可取的比特模式的有效值和无效值。逻辑值表示输入信号或输出信号可取的真伪值。值的列举表示输入信号或输出信号可取的离散的有效值和无效值。值的范围表示输入信号或输出信号可取的连续的有效值和无效值。关于条件的组合,利用逻辑运算符结合比特、逻辑值、值的列举、值的范围中的至少任意一方。
另外,输入条件31和输出条件32对应于基于软件功能的试验方法的确认点。
(图3的步骤S2:到达信号插入处理)
到达信号插入部22读出存储器122的规格存储部123中存储的安装物125,在对象系统30中的多个到达点插入到达信号,生成解析用安装物33。到达信号插入部22将所生成的解析用安装物33写入内存121中。
到达点是通过基于软件构造的试验方法确认处理到达并用于对内部构造的执行可否进行解析的确认点。作为具体例,如果基于软件构造的试验方法是分支覆盖,则到达点是安装物125中的全部分支目的地。在安装物125是图5所示的处理模型的情况下,如图6所示,解析用安装物33在安装物125的全部分支目的地嵌入到达信号。
另外,在图5中,在对象系统30中仅包含运算以及分支和合流,但是,除此之外,有时也包含循环这样的处理。
(图3的步骤S3:样式生成处理)
样式生成部23从内存121中读出步骤S1中提取出的多个输入条件、步骤S1中提取出的多个输出条件、步骤S2中生成的解析用安装物33。样式生成部23生成组合样式,该组合样式表示多个输入条件、多个输出条件、与解析用安装物33中嵌入的多个到达信号对应的多个到达点的组合。样式生成部23将所生成的组合样式写入内存121中。
作为具体例,在读出图4所示的输入条件31和输出条件32、并读出图6所示的解析用安装物33的情况下,样式生成部23生成图7所示的组合样式。其结果,作为组合样式所表示的组合,生成“条件×到达”中作为小标示出的1.1.A~n.m.Z。
样式生成部23将所生成的各组合作为对象样式,生成将对象样式中的输入条件和输出条件嵌入解析用安装物33中、并且仅保留与对象样式中的到达点对应的到达信号的附条件安装物34。样式生成部23将所生成的与各组合有关的附条件安装物34写入内存121中。
作为具体例,如果对象样式为图7所示的组合1.1.A,则如图8所示,样式生成部23生成嵌入了输入条件1、输出条件1、到达信号A的附条件安装物34。
(图3的步骤S4:测试用例生成处理)
测试用例生成部24将步骤S3中生成的各组合作为对象样式。然后,测试用例生成部24判定是否能够生成能够同时对对象样式中的作为输入条件和输出条件的对的输入输出条件和到达点进行确认的多个输入条件31和多个输出条件32的值即测试用例36。由此,测试用例生成部24确定能够确认步骤S1中提取出的多个输入条件31中的各输入条件31、步骤S1中提取出的多个输出条件32中的各输出条件32、与步骤S2中插入的多个到达信号对应的多个到达点中的各到达点的测试用例36的组。
如图9所示,测试用例生成部24根据判定是否能够生成测试用例36的结果,生成覆盖信息35,该覆盖信息35表示组合是规格范围内、规格设想外和不能执行中的哪一种。
并且,测试用例生成部24从被判定为能够生成的组合中提取能够确认多个输入条件31中的各输入条件31、多个输出条件32中的各输出条件32、多个到达点中的各到达点的组合,针对提取出的组合生成测试用例36。测试用例36是时间轴上的输入信号列和输出信号列。作为具体例,如图10所示,测试用例36是每个时间步骤的输入信号1~输入信号n的值和输出信号1~输出信号m的值。图10的各测试用例36的例子对应于组合样式所表示的任意组合。
参照图11对实施方式1的步骤S4的测试用例生成处理进行说明。
将各组合作为对象样式来执行图11所示的处理。通过执行图11所示的处理,如试验目的和确认内容所示,确定与对象样式有关的要求的实现程度和是否进行了期待的动作。
作为要求的实现程度,确定各组合是规格范围内、规格设想外、不能执行中的哪一种。规格范围内是对构造覆盖进行解析的结果为能够执行并实现了意图的要求事项的情况。规格设想外是对构造覆盖进行解析的结果为未执行而混入了非意图的要求事项的情况。不能执行是对构造覆盖进行解析的结果为不能执行的情况。
作为是否进行了期待的动作,确认是成功、失败、要确认中的哪一种。成功是给出特定值作为输入信号的情况下的输出信号的值与期待值一致的情况。要确认是给出特定值作为输入信号的情况下的输出信号的值与期待值不一致的情况、且测试用例的对象部分是功能变更部分的情况。失败是给出特定值作为输入信号的情况下的输出信号的值与期待值不一致的情况、且测试用例的对象部分不涉及功能变更部分而涉及安装变更部分的情况。
图11所示的处理使用如下方法,方法1:基于构造的试验方法、方法2:基于功能和构造的试验方法(宽松)、方法3:基于功能和构造的试验方法(严格)、方法4:基于功能的试验方法(流程)、方法5:基于功能的试验方法(值)。
方法1:基于构造的试验方法是将软件的内部构造的执行可否作为基准的方法。作为具体例,方法1是分支覆盖、MC/DC(Modified Condition/Decision Coverage)。另外,方法1不仅可以使用一个基于构造的试验方法,也可以使用多个基于构造的试验方法。
方法2:基于功能和构造的试验方法(宽松)是同时满足基于软件功能的试验方法和基于软件构造的试验方法这两个基准的方法中的、与功能有关的基准相对宽松的方法。作为具体例,方法2是等价类划分和分支覆盖的组合。另外,方法1不仅可以分别使用一个基于功能的试验方法和一个基于构造的试验方法,还可以使用多个基于功能的试验方法和基于构造的试验方法。
方法3:基于功能和构造的试验方法(严格)是同时满足基于软件功能的试验方法和基于软件构造的试验方法这两个基准的方法中的、与功能有关的基准相对严格的方法。即,是同时满足比第2方法的基准严格的基于软件功能的试验方法和基于软件构造的试验方法这两个基准的方法。作为具体例,方法3是边界值分析和分支覆盖的组合。另外,方法1不仅可以分别使用一个基于功能和一个基于构造的试验方法,还可以使用多个基于功能的试验方法和基于构造的试验方法。
方法4:基于功能的试验方法(流程)是基于软件功能的试验方法中的、将外部功能规格中对对象系统30的处理流程造成影响的输入值作为基准的方法。作为具体例,方法4是代表值组合(边界值)。另外,方法1不仅可以使用一个基于功能的试验方法,也可以使用多个基于功能的试验方法。
方法5:基于功能的试验方法(值)是基于软件功能的试验方法中的、将外部功能规格中输出信号的值与期待值的一致性作为基准的方法。作为具体例,方法5是Back-to-Back测试(背对背测试)。
因此,图11所示的处理能够如图12所示具体化。在图12中,设方法1为分支覆盖,设方法2为等价类划分和分支覆盖的组合,设方法3为等价值/边界值和分支覆盖的组合,设方法4为代表值组合(边界值),设方法5为Back-to-Back测试。另外,等价值/边界值是组合了等价类划分和边界值分析的方法。在方法3中,为了同时满足分支覆盖,在代表值组合(边界值)中过于严格,因此,包含等价值来减弱条件。
另外,优选这里使用的基于软件构造的试验方法与步骤S2中使用的试验方法相同。
方法1~3的基于构造的试验方法的具体例即分支覆盖的判断条件如图13所示。
方法2~4的基于功能的试验方法(流程)的具体例即等价类划分、边界值分析、原因结果曲线图、代表值组合(边界值)的判断条件如图14所示。另外,在等价类划分中,输入条件的内容和输出条件的内容有3行,意味着相同行中记载的输入条件的内容和输出条件的内容对应。即,如果是最上方的行,则成为在全部输入信号为有效范围的情况下、全部输出信号为有效范围这样的条件。在使用等价类划分的情况下,在能够生成与3行条件分别对应的测试用例36的情况下,判定为能够生成,在针对1行条件无法生成测试用例36的情况下,判定为不能生成。边界值分析也与等价类划分的情况相同。
方法5的基于功能的试验方法(值)的具体例即Back-to-Back测试的判断条件如图15所示。另外,基线是承认检查或试验等的结果而进行了结构管理的对象系统30的版本。因此,除了功能变更部分以外,作为试验对象的版本和基线的输出信号的值原则上一致。并且,输入输出条件与基于功能的试验方法(流程)相同,但是,这是指应用与方法4中的输入输出条件相同的条件。
在以下的说明中,以按顺序执行方法1~方法5这样的流程进行说明。但是,这些方法的执行顺序不限于此,只要满足图11和图12中箭头所示的方法间的依存关系既可以,可以按照任意顺序执行。
首先,测试用例生成部24判定是否能够针对方法1生成测试用例36。
如果是图12所示的例子,则测试用例生成部24判定是否能够生成满足分支覆盖的条件的测试用例36。具体而言,测试用例生成部24在对象样式中的输入条件的条件下,生成通过对象样式中的到达点的测试用例36。测试用例生成部24如果能够生成测试用例36则判定为能够生成,如果无法生成测试用例36则判定为不能生成。测试用例生成部24在对象样式中的输入条件的条件下,生成为测试用例36,通过判定是否通过全部到达点,能够判定是否能够生成测试用例36。
测试用例生成部24在不能生成测试用例36的情况下,将要求的实现程度判定为不能执行。
接着,测试用例生成部24在能够针对方法1生成测试用例36的情况下,判定是否能够针对方法2生成测试用例36。
如果是图12所示的例子,则测试用例生成部24判定是否能够生成同时满足等价类划分和分支覆盖这两个条件的测试用例36。具体而言,测试用例生成部24在对象样式中的输入条件和输出条件下,生成分别满足图14所示的等价类划分的3行、且通过对象样式中的到达点的测试用例36。测试用例生成部24如果能够生成测试用例36则判定为能够生成,如果无法生成测试用例36则判定为不能生成。测试用例生成部24在对象样式中的输入条件和输出条件下,生成满足图14所示的等价类划分的各行的测试用例36,通过判定是否通过全部到达点,能够判定是否能够生成测试用例36。
测试用例生成部24在不能生成测试用例36的情况下,将要求的实现程度判定为规格设想外。
接着,测试用例生成部24在能够针对方法2生成测试用例36的情况下,判定是否能够针对方法3生成测试用例36。
如果是图12所示的例子,则判定是否能够生成同时满足边界值分析和分支覆盖这两个条件的测试用例36。具体而言,测试用例生成部24在对象样式中的输入条件和输出条件下,生成分别满足图14所示的边界值分析的4行、且通过对象样式中的到达点的测试用例36。测试用例生成部24如果能够生成测试用例36则判定为能够生成,如果无法生成测试用例36则判定为不能生成。测试用例生成部24在对象样式中的输入条件和输出条件下,生成满足图14所示的边界值分析的各行的测试用例36,通过判定是否通过全部到达点,能够判定是否能够生成测试用例36。
测试用例生成部24在不能生成测试用例36的情况下,将要求的实现程度判定为规格设想外。
接着,测试用例生成部24在能够针对方法3生成测试用例36的情况下,判定是否能够针对方法4生成测试用例36。另外,方法4是根据需而补充的方法,也可以省略方法4。
如果是图12所示的例子,则判定是否能够生成满足代表值组合(边界值)的测试用例36。具体而言,测试用例生成部24在对象样式中的输入条件和输出条件下,生成满足图14所示的代表值组合(边界值)的测试用例36。测试用例生成部24如果能够生成测试用例36则判定为能够生成,如果无法生成测试用例36则判定为不能生成。测试用例生成部24根据需要而补充进行在对象样式中的输入条件和输出条件下生成满足图14所示的代表值组合(边界值)的测试用例36的处理,由此,能够判定是否能够生成测试用例36。
接着,测试用例生成部24在能够针对方法4生成测试用例36的情况下,针对方法5,将方法4中生成的测试用例36作为输入,判定输出信号的值与期待值是否一致。
如果是图12所示的例子,则测试用例生成部24将方法4中生成的测试用例36的输入信号作为输入,执行Back-to-Back测试,判定输出信号的值与期待值是否一致。
测试用例生成部24在输出信号的值与期待值一致的情况下,将是否如期待那样进行动作判定为成功。另一方面,测试用例生成部24在输出信号的值与期待值不一致的情况下,在测试用例的对象部分是功能变更部分时,设是否如期待那样进行动作为要确认,在测试用例的对象部分不是功能变更部分而是安装变更部分时,设是否如期待那样进行动作为失败。
测试用例生成部24从针对以上方法4生成的测试用例36中,提取与输入条件31中的各输入条件31、输出条件32中的各输出条件32、到达点中的各到达点对应的至少一个测试用例36。另外,在省略了方法4的情况下,测试用例生成部24从针对方法3生成的测试用例36中提取测试用例36。由此,能够得到能够同时保证(要求事项1)的基于功能的覆盖和(要求事项2)的基于构造的覆盖的测试用例36。
另外,测试用例生成部24可以在生成与输入条件31中的各输入条件31、输出条件32中的各输出条件32、到达点中的各到达点对应的至少一个测试用例36的时点,停止图11所示的处理。由此,在组合数庞大的情况下,能够防止对全部组合进行处理而花费处理时间。
***实施方式1的效果***
如上所述,实施方式1的测试用例生成装置10能够得到能够同时保证(要求事项1)的基于功能的覆盖和(要求事项2)的基于构造的覆盖的测试用例36。因此,能够得到没有遗漏的测试用例36、即充分必要的测试用例36。
在产品开发项目中,存在测试用例36的数量庞大的倾向。但是,在实施方式1的测试用例生成装置10中,能够得到充分必要的测试用例36,因此,能够减少试验作业量,也有助于有效活用人员资源。
***其他结构***
<变形例1>
在实施方式1中,测试用例生成装置10的各部的功能通过软件实现。但是,作为变形例1,测试用例生成装置10的各部的功能可以通过硬件实现。关于该变形例1,对与实施方式1的不同之处进行说明。
参照图16对变形例1的测试用例生成装置10的结构进行说明。
在各部的功能通过硬件实现的情况下,测试用例生成装置10代替处理器11和存储装置12而具有处理电路15。处理电路15是实现测试用例生成装置10的各部的功能和存储装置12的功能的专用电子电路。
处理电路15假设为单一电路、复合电路、程序化的处理器、并行程序化的处理器、逻辑IC、GA(Gate Array)、ASIC(Application Specific Integrated Circuit)、FPGA(Field-Programmable Gate Array)。
可以利用一个处理电路15实现各部的功能,也可以使多个处理电路15分散实现各部的功能。
<变形例2>
作为变形例2,也可以是一部分功能通过硬件实现,另一部分功能通过软件实现。即,也可以是测试用例生成装置10的各部中的一部分功能通过硬件实现,另一部分功能通过软件实现。
将处理器11、存储装置12、处理电路15统称为“处理电路系统(ProcessingCircuitry)”。即,各部的功能通过处理电路系统实现。
实施方式2
实施方式2与实施方式1的不同之处在于,针对一个组合,多次判定是否能够生成测试用例36。在实施方式2中,对该不同之处进行说明。
对象系统30保持内部状态,根据所保持的内部状态,运算、分支、循环这样的处理有时变化。因此,针对一个组合,如果仅判定一次是否能够生成测试用例36,则有时无法进行准确的判定。即,针对判定为规格设想外或不能执行的组合,有时由于内部状态变化而成为规格范围内,能够生成测试用例36。
***动作的说明***
参照图3和图17对实施方式2的测试用例生成装置10的动作进行说明。
实施方式2的测试用例生成装置10的动作相当于实施方式2的测试用例生成方法。并且,实施方式2的测试用例生成装置10的动作相当于实施方式2的测试用例生成程序的处理。
图3的步骤S1~步骤S3的处理与实施方式1相同。
(图3的步骤S4:测试用例生成处理)
如图17所示,测试用例生成部24将时间轴分割成用于执行一次对象系统30的处理的离散的时间步骤。然后,以时间步骤的数量排列与对象样式有关的附条件安装物34而构成一个反复系统37。此时,构成反复系统37的各对象系统30持续之前的时间步骤的处理结束的时点的内部状态。并且,设为输入信号和输出信号按照每个时间步骤而不同来进行处理。
测试用例生成部24针对反复系统37,与实施方式1同样,判定是否能够生成能够确认对象样式中的作为输入条件和输出条件的对的输入输出条件和到达点中的至少任意一方的测试用例36。由此,例如,在时间步骤1中无法生成测试用例36的情况下,也可能在时间步骤2中能够生成测试用例36。
根据对象系统30中设想为准确判定所需要的数量与用于生成测试用例36的处理时间之间的关系,由利用者决定时间步骤的数量。
***实施方式2的效果***
如上所述,实施方式2的测试用例生成装置10在构成反复系统37的基础上,判定是否能够生成测试用例36。由此,与实施方式1相比,能够准确地判定是否能够生成测试用例36。
标号说明
10:测试用例生成装置;11:处理器;12:存储装置;121:内存;122:存储器;123:规格存储部;124:信号值条件;125:安装物;13:通信接口;14:输入输出接口;15:处理电路;21:条件提取部;22:到达信号插入部;23:样式生成部;24:测试用例生成部;30:对象系统;31:输入条件;32:输出条件;33:解析用安装物;34:附条件安装物;35:覆盖信息;36:测试用例;37:反复系统。
Claims (8)
1.一种测试用例生成装置,其具有:
样式生成部,其生成组合样式,该组合样式表示与对象系统的输入信号有关的多个输入条件、与所述对象系统的输出信号有关的多个输出条件、和所述对象系统中的多个到达点的组合,其中,通过基于软件构造的试验方法确认处理到达所述多个到达点;以及
测试用例生成部,其将由所述样式生成部生成的所述组合样式所表示的各组合作为对象样式,判定是否能够生成测试用例,该测试用例是能够同时确认所述对象样式中的作为所述输入条件和所述输出条件的对的输入输出条件以及所述到达点的所述输入信号的值,由此,确定能够确认所述多个输入条件中的各输入条件、所述多个输出条件中的各输出条件、和所述多个到达点中的各到达点的所述测试用例的组。
2.根据权利要求1所述的测试用例生成装置,其中,
所述测试用例生成部根据判定为能够生成的组合,针对能够确认所述多个输入条件中的各输入条件、所述多个输出条件中的各输出条件、和所述多个到达点中的各到达点的组合而生成所述测试用例。
3.根据权利要求1或2所述的测试用例生成装置,其中,
所述测试用例生成部针对第1方法、第2方法和第3方法中的各个方法,判定是否能够针对所述对象样式生成所述测试用例,由此,判定是否能够确认所述输入输出条件和所述到达点中的至少任意一方,其中,该第1方法是基于软件构造的试验方法,该第2方法是基于软件功能的试验方法和基于软件构造的试验方法的组合,该第3方法是比所述第2方法的基准严格的基于软件功能的试验方法和基于软件构造的试验方法的组合。
4.根据权利要求3所述的测试用例生成装置,其中,
所述测试用例生成部针对所述第1方法、所述第2方法和所述第3方法中的各方法,对于判定为能够生成所述测试用例的组合生成所述测试用例。
5.根据权利要求4所述的测试用例生成装置,其中,
所述测试用例生成部判定将所生成的所述测试用例输入到所述对象系统而得到的值与期待值是否一致。
6.根据权利要求3~5中的任意一项所述的测试用例生成装置,其中,
所述测试用例生成部在针对所述第1方法不能生成所述测试用例的情况下,将所述对象样式判定为不能执行,在针对所述第1方法能够生成所述测试用例、并且针对所述第2方法或所述第3方法不能生成所述测试用例的情况下,将所述对象样式判定为所述对象系统的规格的设想外,在针对所述第1方法、所述第2方法、所述第3方法能够生成所述测试用例的情况下,将所述对象样式判定为所述对象系统的规格的范围内。
7.根据权利要求1~6中的任意一项所述的测试用例生成装置,其中,
所述测试用例生成部在如下的反复系统中判定是否能够生成能够确认所述输入输出条件和所述到达点中的至少任意一方的所述测试用例,其中,该反复系统在保持所述对象系统所具有的内部状态的状态下多次反复执行所述对象系统的处理。
8.一种测试用例生成程序,其使计算机执行以下处理:
样式生成处理,生成组合样式,该组合样式表示与对象系统的输入信号有关的多个输入条件、与所述对象系统的输出信号有关的多个输出条件、和所述对象系统中的多个到达点的组合,其中,通过基于软件构造的试验方法确认处理到达所述多个到达点;以及
测试用例生成处理,将通过所述样式生成处理生成的所述组合样式所表示的各组合作为对象样式,判定是否能够生成测试用例,该测试用例是能够同时确认所述对象样式中的作为所述输入条件和所述输出条件的对的输入输出条件以及所述到达点的所述输入信号的值,由此,确定能够确认所述多个输入条件中的各输入条件、所述多个输出条件中的各输出条件、和所述多个到达点中的各到达点的所述测试用例的组。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2016/055486 WO2017145300A1 (ja) | 2016-02-24 | 2016-02-24 | テストケース生成装置及びテストケース生成プログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108701074A true CN108701074A (zh) | 2018-10-23 |
Family
ID=59684847
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201680082137.3A Pending CN108701074A (zh) | 2016-02-24 | 2016-02-24 | 测试用例生成装置和测试用例生成程序 |
Country Status (5)
Country | Link |
---|---|
US (1) | US20190018765A1 (zh) |
JP (1) | JP6289778B2 (zh) |
CN (1) | CN108701074A (zh) |
DE (1) | DE112016006297T5 (zh) |
WO (1) | WO2017145300A1 (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669436A (zh) * | 2018-12-06 | 2019-04-23 | 广州小鹏汽车科技有限公司 | 一种基于电动汽车的功能需求的测试用例生成方法和装置 |
CN111984540A (zh) * | 2020-08-27 | 2020-11-24 | 北京一仿科技有限公司 | 最小代价测试用例生成方法 |
CN112052177A (zh) * | 2020-09-14 | 2020-12-08 | 北京一仿科技有限公司 | 一种多值耦合信号的mc/dc测试用例集生成方法 |
CN112052176A (zh) * | 2020-09-14 | 2020-12-08 | 北京一仿科技有限公司 | 一种多值耦合逻辑中给定条件的覆盖性测试用例生成方法 |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE112018006331B4 (de) | 2018-01-17 | 2022-05-05 | Mitsubishi Electric Corporation | Testfallgenerierungsvorrichtung, Testfallgenerierungsverfahren und Testfallgenerierungsprogramm |
JP7070328B2 (ja) * | 2018-10-25 | 2022-05-18 | 日本電信電話株式会社 | テストデータ生成装置、テストデータ生成方法及びプログラム |
JP6903249B2 (ja) * | 2019-03-25 | 2021-07-14 | 三菱電機株式会社 | テストケース生成装置、テストケース生成方法、およびテストケース生成プログラム |
CN110597730B (zh) * | 2019-09-20 | 2023-08-22 | 中国工商银行股份有限公司 | 基于场景法的自动化测试用例生成方法及系统 |
CN111930613B (zh) * | 2020-07-14 | 2023-11-28 | 深圳市紫光同创电子有限公司 | 待测芯片的测试用例生成方法、装置、电子设备以及介质 |
JP2024048916A (ja) * | 2022-09-28 | 2024-04-09 | 株式会社オートネットワーク技術研究所 | 情報処理システム、情報処理方法およびコンピュータプログラム |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101814053A (zh) * | 2010-03-29 | 2010-08-25 | 中国人民解放军信息工程大学 | 一种基于功能模型的二进制代码漏洞发现方法 |
CN102176200A (zh) * | 2009-09-25 | 2011-09-07 | 南京航空航天大学 | 一种软件测试用例自动生成方法 |
JP2014056307A (ja) * | 2012-09-11 | 2014-03-27 | Nippon Telegr & Teleph Corp <Ntt> | テストパス中に複数の参照アクセスをもつテスト用のデータ生成装置及び方法及びプログラム |
CN103995781A (zh) * | 2014-06-10 | 2014-08-20 | 浪潮通用软件有限公司 | 一种基于模型的构件测试用例生成方法 |
CN104063312A (zh) * | 2013-03-22 | 2014-09-24 | 株式会社日立制作所 | 测试用例生成方法及测试用例生成装置 |
CN104991863A (zh) * | 2015-07-14 | 2015-10-21 | 株洲南车时代电气股份有限公司 | 一种基于功能块图测试模型自动生成测试用例的方法 |
JP2015204065A (ja) * | 2014-04-16 | 2015-11-16 | 株式会社日立製作所 | テストケース生成装置及びテストケース生成方法 |
CN105095060A (zh) * | 2014-04-15 | 2015-11-25 | 富士通株式会社 | 利用规则集网络生成测试用例的装置和方法 |
Family Cites Families (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5778169A (en) * | 1995-08-07 | 1998-07-07 | Synopsys, Inc. | Computer system having improved regression testing |
US5748878A (en) * | 1995-09-11 | 1998-05-05 | Applied Microsystems, Inc. | Method and apparatus for analyzing software executed in embedded systems |
US7028290B2 (en) * | 2002-04-29 | 2006-04-11 | Microsoft Corporation | Method and apparatus for prioritizing software tests |
US20040031019A1 (en) * | 2002-05-20 | 2004-02-12 | Richard Lamanna | Debugger for a graphical programming environment |
US7844350B2 (en) * | 2006-11-22 | 2010-11-30 | Honeywell International Inc. | Testing of control strategies in a control system controlling a process control plant |
JP4924188B2 (ja) | 2007-04-27 | 2012-04-25 | トヨタ自動車株式会社 | クロス検証装置 |
JP2008299502A (ja) * | 2007-05-30 | 2008-12-11 | Denso Corp | テストケース妥当性自動検証プログラムおよびテストケース妥当性自動検証結果表示方法 |
JP2011028313A (ja) * | 2009-07-21 | 2011-02-10 | Toyota Motor Corp | 検証項目自動生成装置 |
JP5589901B2 (ja) * | 2011-03-03 | 2014-09-17 | トヨタ自動車株式会社 | ソフトウェア検証支援装置、ソフトウェア検証支援方法及びソフトウェア検証支援プログラム |
JP2013008277A (ja) * | 2011-06-27 | 2013-01-10 | Toshiba Corp | カバレッジ測定装置、方法およびプログラム |
-
2016
- 2016-02-24 WO PCT/JP2016/055486 patent/WO2017145300A1/ja active Application Filing
- 2016-02-24 DE DE112016006297.4T patent/DE112016006297T5/de active Pending
- 2016-02-24 JP JP2017558562A patent/JP6289778B2/ja active Active
- 2016-02-24 CN CN201680082137.3A patent/CN108701074A/zh active Pending
- 2016-02-24 US US16/067,183 patent/US20190018765A1/en not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102176200A (zh) * | 2009-09-25 | 2011-09-07 | 南京航空航天大学 | 一种软件测试用例自动生成方法 |
CN101814053A (zh) * | 2010-03-29 | 2010-08-25 | 中国人民解放军信息工程大学 | 一种基于功能模型的二进制代码漏洞发现方法 |
JP2014056307A (ja) * | 2012-09-11 | 2014-03-27 | Nippon Telegr & Teleph Corp <Ntt> | テストパス中に複数の参照アクセスをもつテスト用のデータ生成装置及び方法及びプログラム |
CN104063312A (zh) * | 2013-03-22 | 2014-09-24 | 株式会社日立制作所 | 测试用例生成方法及测试用例生成装置 |
CN105095060A (zh) * | 2014-04-15 | 2015-11-25 | 富士通株式会社 | 利用规则集网络生成测试用例的装置和方法 |
JP2015204065A (ja) * | 2014-04-16 | 2015-11-16 | 株式会社日立製作所 | テストケース生成装置及びテストケース生成方法 |
CN103995781A (zh) * | 2014-06-10 | 2014-08-20 | 浪潮通用软件有限公司 | 一种基于模型的构件测试用例生成方法 |
CN104991863A (zh) * | 2015-07-14 | 2015-10-21 | 株洲南车时代电气股份有限公司 | 一种基于功能块图测试模型自动生成测试用例的方法 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109669436A (zh) * | 2018-12-06 | 2019-04-23 | 广州小鹏汽车科技有限公司 | 一种基于电动汽车的功能需求的测试用例生成方法和装置 |
CN109669436B (zh) * | 2018-12-06 | 2021-04-13 | 广州小鹏汽车科技有限公司 | 一种基于电动汽车的功能需求的测试用例生成方法和装置 |
CN111984540A (zh) * | 2020-08-27 | 2020-11-24 | 北京一仿科技有限公司 | 最小代价测试用例生成方法 |
CN111984540B (zh) * | 2020-08-27 | 2024-07-19 | 北京一仿科技有限公司 | 最小代价测试用例生成方法 |
CN112052177A (zh) * | 2020-09-14 | 2020-12-08 | 北京一仿科技有限公司 | 一种多值耦合信号的mc/dc测试用例集生成方法 |
CN112052176A (zh) * | 2020-09-14 | 2020-12-08 | 北京一仿科技有限公司 | 一种多值耦合逻辑中给定条件的覆盖性测试用例生成方法 |
CN112052176B (zh) * | 2020-09-14 | 2024-07-19 | 北京一仿科技有限公司 | 一种多值耦合逻辑中给定条件的覆盖性测试用例生成方法 |
CN112052177B (zh) * | 2020-09-14 | 2024-07-19 | 北京一仿科技有限公司 | 一种多值耦合信号的mc/dc测试用例集生成方法 |
Also Published As
Publication number | Publication date |
---|---|
US20190018765A1 (en) | 2019-01-17 |
WO2017145300A1 (ja) | 2017-08-31 |
JP6289778B2 (ja) | 2018-03-07 |
DE112016006297T5 (de) | 2018-10-31 |
JPWO2017145300A1 (ja) | 2018-04-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108701074A (zh) | 测试用例生成装置和测试用例生成程序 | |
US10838006B2 (en) | Scheduling of scenario models for execution within different computer threads and scheduling of memory regions for use with the scenario models | |
CN111931445B (zh) | 用于调试逻辑系统设计的方法、仿真器及存储介质 | |
US10409632B2 (en) | Emulation of hardware components based on interrupt design | |
US20180032357A1 (en) | Debug environment for a multi user hardware assisted verification system | |
CN112232000B (zh) | 跨多个验证域的验证系统、验证方法、验证设备 | |
WO2014035463A1 (en) | System and methods for generating and managing a virtual device | |
CN105893234A (zh) | 用于软件测试的方法和计算设备 | |
Olmedo et al. | A perspective on safety and real-time issues for gpu accelerated adas | |
CN116450427A (zh) | 芯片中复用引脚的自动化验证方法、装置、存储介质及计算机设备 | |
CN111427782A (zh) | 安卓动态链接库的运行方法、装置、设备及存储介质 | |
US9690681B1 (en) | Method and system for automatically generating executable system-level tests | |
CN112613257A (zh) | 验证方法、装置、电子设备和计算机可读存储介质 | |
Li et al. | A fault injection system based on QEMU simulator and designed for BIT software testing | |
US20110106522A1 (en) | virtual platform for prototyping system-on-chip designs | |
EP2581844A1 (en) | Global clock handler object for HDL environment | |
Bagbaba et al. | Automated identification of application-dependent safe faults in automotive systems-on-a-chips | |
KR20240009757A (ko) | 오토사 스택 가상화를 통한 윈도우 기반의 차량용 소프트웨어 시뮬레이션 장치 및 방법 | |
Nyberg et al. | Closing the gap between speed and configurability of multi-bit fault emulation environments for security and safety–critical designs | |
Godunov et al. | Baget real-time operating system family (features, comparison, and future development) | |
US20220066911A1 (en) | Virtual machine for developing and testing target code for hardware designs | |
US20130338992A1 (en) | Method for simulating a system | |
Aboudeif | Design and Implementation of UVM-based Verification Framework for Deep Learning Accelerators | |
Flener | Finished Master's thesis projects in our group | |
Vij et al. | DEVICE DRIVER SYNTHESIS. |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20181023 |