CN1873625A - 一种基于功能覆盖率的随机激励的自动产生方法 - Google Patents

一种基于功能覆盖率的随机激励的自动产生方法 Download PDF

Info

Publication number
CN1873625A
CN1873625A CN 200510036782 CN200510036782A CN1873625A CN 1873625 A CN1873625 A CN 1873625A CN 200510036782 CN200510036782 CN 200510036782 CN 200510036782 A CN200510036782 A CN 200510036782A CN 1873625 A CN1873625 A CN 1873625A
Authority
CN
China
Prior art keywords
function coverage
sequence
excitation
test
orthogonal
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.)
Granted
Application number
CN 200510036782
Other languages
English (en)
Other versions
CN100359488C (zh
Inventor
易敏
王进成
程智辉
王万财
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2005100367825A priority Critical patent/CN100359488C/zh
Publication of CN1873625A publication Critical patent/CN1873625A/zh
Application granted granted Critical
Publication of CN100359488C publication Critical patent/CN100359488C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明涉及一种基于功能覆盖率的随机激励的自动产生的方法,包括:定义激励的数据结构及测试对象;定义各类别的功能覆盖率,所述功能覆盖率包括基本测试对象、组合测试对象及构成序列的测试对象的功能覆盖率;对组合测试对象设置组合约束,对构成序列的测试对象设置序列约束;产生激励,对于组合测试对象首先生成正交组合,再产生其他组合;对于构成序列的测试对象,自动按其序列来产生激励。本发明使随机激励的约束方式更加灵活,更容易达到功能覆盖率的目标。同时,根据功能覆盖率的目标,工具可以自动完成随机激励的产生,可简化了用户编写约束代码的工作量,使得随机激励的产生能够向目标收敛,增强了测试用例的有效性。

Description

一种基于功能覆盖率的随机激励的自动产生方法
技术领域
本发明涉及软件测试领域,具体来说,涉及一种基于功能覆盖率的随机激励的自动产生方法。
背景技术
在软件测试、ASIC验证过程中,需获得代码覆盖率及功能覆盖率的数据。虽然在该过程中可以达到100%的代码覆盖率,但仅凭这点尚不能确定所设计的被测试对象(DUT)已经不存在问题,因为被训练的仅仅是代码本身,尚不能判断出:是否已输入了所有的激励?是否接收了所有可能的结果?被测试对象的状态是否均已被访问?所有的内部转换是否都已出现?等等。
针对这些问题,业界提出了功能覆盖的概念,功能覆盖定义为:来自设备和测试计划规格的清晰的功能需求。所以功能覆盖在度量实现上并不如代码覆盖率那么清晰和容易界定,代码覆盖率的度量在设计和测试激励确定以后就唯一确定了,而功能覆盖率的度量则因功能覆盖率代码的不同而不同。
在功能覆盖率度量的实现上,由于功能覆盖率来自于功能需求,目前功能需求(测试点)都以文档的方式来描述,因此,对于功能覆盖率的度量方法,自然就想到在文档上标明功能点,并辅之以相应的测试用例,当一个测试用例通过了,就表示该测试用例对应的功能点被覆盖了,于是在文档上进行标记,最后测试人员根据文档的标记情况来统计整个测试项目的覆盖率情况。
因此,对于功能覆盖率的度量,在操作上,也可以利用EDA工具来对被测对象定义的功能覆盖率进行自动的执行和统计,其一般是使用可执行的语言描述功能需求的行为,再由仿真工具在仿真时自动判断所描述的功能需求是否覆盖。
但在实际的验证过程中,要达到已定义的功能覆盖率,按上述的实现方法,一般采用根据已定义好的功能覆盖率目标,对要产生的激励施加约束,通过随机来达到目的。这需要编写大量的代码,耗费较大的编程工作。这种方法存在有如下的不足之处:
1、对单个输入参数具有丰富的约束方式,但对多个参数之间的相互关系约束却没有很好的方式。而实际的功能覆盖率目标往往定义的是多个参数的组合情况。
2、针对功能覆盖率目标的随机激励产生需要编写较多的约束代码,没有专门针对组合、序列的约束方式,要达到功能覆盖率目标比较困难。
发明内容
本发明所要解决的技术问题在于,提供一种基于功能覆盖率的随机激励的自动产生方法,其可以对组合、序列情况提供专门的约束手段,在不需要增加任何约束的情况下,工具能根据功能覆盖率目标,自动产生随机激励,直接完成功能覆盖率目标的覆盖。
为了解决上述技术问题,本发明采用的技术方案在于:提供一种基于功能覆盖率的随机激励自动产生的方法,其特征在于,包括:定义一个激励的数据结构及测试对象;定义各类别的功能覆盖率,所述功能覆盖率包括基本测试对象、组合测试对象及构成序列的测试对象的功能覆盖率;对组合测试对象设置组合约束,对构成序列的测试对象设置序列约束;产生激励,对于组合测试对象首先生成正交组合,再产生其他组合;对于构成序列的测试对象,自动按其序列来产生激励。在本发明的基于功能覆盖率的随机激励自动产生的方法中,进一步包括根据功能覆盖率目标自动施加组合或序列约束,产生随机激励。
在本发明的基于功能覆盖率的随机激励自动产生的方法中,进一步包括所述组合约束和序列约束直接面向功能覆盖率定义施加约束,或针对功能覆盖率目标任意定义。
在本发明的基于功能覆盖率的随机激励自动产生的方法中,对于组合测试对象生成正交组合的步骤中进一步包括:根据测试对象,建立相应正交表,每个正交表中均包括参数数目、水平值和试验次数;为某种测试需求,采用“匹配算法”,找出一种与该测试需求最接近的正交表;匹配到合适的正交表后,确定正交表中的所需要的试验数据;并产生相应的测试向量。
在本发明的基于功能覆盖率的随机激励自动产生的方法中,所述正交表包括含有单一的水平值的“单一型”正交表、含有两种水平值的“混合2型”正交表及含有三种水平值的“混合3型”正交表。
实施本发明的基于功能覆盖率的随机激励自动产生的方法,具有以下有益效果:本发明提供了新的组合约束和序列约束方式,使得随机激励的约束方式更加灵活,更容易达到功能覆盖率的目标。同时,根据功能覆盖率的目标,工具可以自动完成随机激励的产生,大大简化了用户编写约束代码的工作量,使得随机激励的产生能够向目标收敛,增强了测试用例的有效性。
附图说明
图1是本发明中一种集成有功能覆盖率度量模型的验证平台示意图;
图2是本发明中测试点的分解过程示意图;
图3是本发明中功能覆盖率度量模型中各个要素之间的关系示意图。
具体实施方式
如图1所示,是本发明中一种集成有功能覆盖率度量模型的验证平台示意图。功能覆盖率统计模块是其中最为重要的模块,在此模块中实现了本发明中的功能覆盖率度量模型;在验证平台的主控台产生激励和结果分析过程中,通过事件触发功能覆盖率统计模块工作。
本发明中的功能覆盖率统计是基于测试点(Testcase)的,测试点的分解过程如图2所示。其中度量了一些基本要素,如测试对象(Object)及段(Segment)等等。
从被测试对象(DUT)的需求规格出发逐渐往下分解,首先根据需求规格分解出验证特性(Feature),即具有同一特征的规格的集合,然后在验证特性中分解测试点(Testcase),最后根据测试点来设计具体的测试用例(Test)。注意:测试点和测试用例的关系是多对多的关系,即一个测试点可以对应多个测试用例(多个测试用例可能都测试到了同一个测试点),一个测试用例同样对应多个测试点(一个测试用例中可能测试了多个测试点)。
其中,测试对象(Object)其物理意义是逻辑某个功能处理所涉及到的、有明确物理意义的相关要素。分为基本(Basic)、组合(Cross)、序列(Sequence)三种类型的测试对象。在大规模逻辑测试中,典型的测试对象实例有:单个有明确物理意义的信号(如中断信号);输入数据包中需要关心的域(如IP包中CRC域);输入数据流抽象的特性参数(如包长);逻辑内部或输出某种处理;逻辑的某类配置。
段(Segment)的物理意义是:根据等价类测试工程方法定义的,Object的所有可能出现的范围,每一个范围为一个Segment,当Object实际取值落在某个已经定义的范围里面时,称该Segment被命中(Hit)1次;一个Object中可以包含一个或多个Segment,每个测试点(Testcase)中可以包含一个或多个Segment,其中这些Segment可以属于不同的Object。
在大规模逻辑测试中,典型的Segment实例有:中断信号:有效、无效;CRC:对、错;包长:长包、短包、超长包、超短包、典型长度包;包过滤处理的所有路径:路径1、路径2、……输出处理:方式0、方式1、……
如图3所示,是本发明中功能覆盖率度量模型中各个要素之间的关系示意图。从该图中可以看出,通过Segment将两个层次联系起来了,Segment是度量功能覆盖率的基本元素。
下面具体介绍基于测试点的功能覆盖率计算方法。
对于每个测试点(Testcase),在定义时验证人员会给一个重要级别(如分为高、中、低),每个级别对应着一个权重(Weight)(如高为5,中为3,低为1),每个测试点中包含的Segment都有一个权重(Weight)属性,该值即为所在测试点重要级别对应权重值。通过对测试点定义重要级别,验证人员可以对每个测试点的重要程度进行区分,可以指导验证人员设计测试用例,决定验证人员的测试策略。
从图3可以看出,基于测试点的层次(下面方框内)共有四个层次,分别是段(Segment)、测试点(Testcase)、特性(Feature)、被测试对象(DUT),对这四个层次分别计算覆盖率情况,具体以得分(Score)量化,得分的取值范围为0到1之间(包括0和1),得分为1时称之为完全覆盖到或达到了目标,得分为0时称之为完全没有覆盖到或完全没有达到目标,介于0和1之间称之为部分覆盖到或部分达到目标。
Segment、Testcase、Feature、DUT四个层次的功能覆盖率的计算公式完全一致,都以其包含的Segment的得分(Score)和权重(Weight)为基础。对于Testcase和Feature,还有是否通过的标志(Pass)计算,对于DUT而言,还有测试点通过率(PassRatio)的计算。这四个层次的功能覆盖率计算公式分别描述如下:
层次一:Segment的功能覆盖率
Score(Segment)=min(1.00,Hits(Segment)/Goal(Segment))
层次二:Testcase的功能覆盖率
Score(Testcase)=∑(Score(Segment)*Weight(Segment))/∑(Weight(Segment))
Pass(Testcase)=(Score(Tests)=1)?1:0
层次三:Feature的功能覆盖率
Score(Feature)=∑(Score(Segment)*Weight(Segment))/∑(Weight(Segment))
Pass(Feature)=(Score(Tests)=1)?1:0
层次四:DUT的功能覆盖率
Score(DUT)=∑(Score(Segment)*Weight(Segment))/∑(Weight(Segment))
测试点通过率:
PassRatio(Testcase)=(通过的测试点数目)/(测试点总数)
通过分层次计算功能覆盖率(得分),验证人员可以了解到在每个层次的功能覆盖情况,根据功能覆盖情况可以设计特定的测试用例来提高功能覆盖率。
从上面的叙述中可以看出,功能覆盖率可以通过三种类型的object(测试对象):Basic object(基本测试对象)、Cross object(组合测试对象)、Sequence object(构成序列的测试对象)来描述。下面是针对这三种object的示例。
首先对Object进行定义:
//定义一个激励的数据结构
struct Stimulator{
    bit 3    Op    {Add,Sub JP}
    bit 5    DataA
    bit 8    DataB
}
//定义测试对象
object Stimulator.Op
       Add
       Sub
       JP
object Stimulator.DataA
       0..15
       16..31
object Stimulator.DataB
       0..63
       64..127
       128..191
       192..255
//定义三类功能覆盖率
testcase1  type:basic                    //定义basic object
           Stimulator.Op(Add,Sub,JP)
           goal:1
testcase2  type:cross                    //定义cross object
           Stimulator.Op(Add,Sub,JP)
           Stimulator.DataA(0..15,16..31)
           goal:1
testcase3  type:sequence                 //定义sequence object
           Stimulator.Op(2*Add,4..5*Sub,JP)
           goal:1
在现有的方法中,要达到上述三种类型的功能覆盖率testcase1、testcase2、testcase3,使用已有的方法需要对其分别施加约束。
//针对testcase1的约束
testcase1  type:basic                    //定义basic object
           Stimulator.Op(Add,Sub,JP)
           goal:1
keep  Stimulator.Op  Add
keep  Stimulator.Op  Sub
keep  Stimulator.Op  JP
//针对testcase2的约束
testcase2  type:cross                        //定义cross object
           Stimulator.Op(Add,Sub,JP)
           Stimulator.DataA(0..15,16..31)
           goal:1
keep   Stimulator.Op  Add
keep   Stimulator.DataA  0..15
keep   Stimulator.Op  Add
keep   Stimulator.DataA  16..31
keep   Stimulator.Op  Sub
keep   Stimulator.DataA  0..15
keep   Stimulator.Op  Sub
keep   Stimulator.DataA  16..31
keep   Stimulator.Op  JP
keep   Stimulator.DataA  0..15
keep   Stimulator.Op  JP
keep   Stimulator.DataA  16..31
//针对testcase3的约束
testcase3  type:sequence                     //定义sequence object
           Stimulator.Op(2*Add,4..5*Sub,JP)
           goal:1
keep   Stimulator.Op  Add
keep   Stimulator.Op  Add
keep   Stimulator.Op  Sub
keep   Stimulator.Op  Sub
keep   Stimulator.Op  Sub
keep   Stimulator.Op  Sub
keep   Stimulator.Op  JP
上述是针对功能覆盖率定义直接施加约束产生激励的方法,这种方法需要编写较多的代码。
当然也可以不加约束,通过完全随机的方式产生激励。但其最后的覆盖率目标的达成结果无法预知,某些情况可能永远无法达到。
而在本发明中,可以采用EDA工具来支持下面的组合约束方式和序列约束方式,可以实现testcase1、testcase2和testcase3的功能覆盖率目标。(注:可以将testcase1看作是testcase2的一个特例)。如下述:
//针对testcase2的约束
testcase2  type:cross                     //定义cross object
           Stimulator.Op(Add,Sub,JP)
           Stimulator.DataA(0..15,16..31)
           goal:1
//组合约束
keep  cross
      Stimulator.Op(Add,Sub,JP)
      Stimulator.DataA(0..15,16..31)
//针对testcase3的约束
testcase3  type:sequence                     //定义sequence object
           Stimulator.Op(2*Add,4..5*Sub,JP)
           goal:1
//序列约束
keep  serial
      Stimulator.Op(2*Add,4..5*Sub,JP)
针对testcase2的组合,共有6种组合(Add,Sub,JP)*(0..15,16..31),暂且将这6种组合定义为0..5,首先将这6种组合中的正交组合的编号放在前面,其余的放在后面,在产生激励时,先产生正交组合,再产生其他组合。在组合数目较少的情况下还看不出很大的意义,当组合数目很庞大时,其有效性将得到很大体现。
针对testcase3的序列,工具可以自动按这种序列来产生。
其中,所述产生正交组合的过程包括,首先,根据测试的实际需要,建立相应的正交表。
单个正交表有三个基本参数:参数数目N、水平值M和试验次数L。在建立正交表时,我们一般建立如下三种正交表。
如果只有单一的水平值,我们称之为“单一型”正交表,如:
L8-2^7:水平值为2,参数数目为7,试验次数为8
如果有两种水平值,则称为“混合2型”正交表,如:
L36-6^3-3^7:水平值一为6,参数数目一为3,水平值二为3,参数数目二为7,试验次数为36
同样,对于三种水平值的情况,则称为“混合3型”正交表,如:
L72-4^1-3^24-2^20:水平值一为4,参数数目一为1,水平值二为3,参数数目二为24,水平值三为2,参数数目三为20,试验次数为72
不同的参数数目和不同的取值数目对应有不同的正交表。由于不同的正交表没有一个统一的算法,需要事先算出相应的正交表,然后根据实际需要查找对应的正交表。现在的问题是,可以事先存入的正交表数目是有限的,不可能事先算出所有可能出现的正交表,这就是说,对于某种测试需求,在查找正交表时,可能查找不到正好适合的正交表,这就需要采用“匹配算法”,对不同取值数目的参数进行“合并”,找到一种与该测试需求最接近的正交表。
这种“匹配算法”可以通过以下三种算法来实现:“查找算法(找算法)”、“涨算法”和“凑算法”。
“查找算法”是指查找到水平值相等、参数数目大于等于输入参数数目的正交表;
“涨算法”是指对水平值进行加1的算法;
“凑算法”是将两个或多个水平值“凑”在一起,其中最大的水平值作为“凑”后的水平值,同时将其对应的参数数目相加作为“凑”后的参数数目。
这三种算法交互使用,共同完成匹配查找。下面以水平值最大为7为例,来描述这种匹配算法。
找、涨、凑算法:
“涨”算法:指水平值反复加1,直到水平值达到7
“查找”算法:“查找”算法中仅包括“涨”操作,而无“凑”算法
注:查找到指水平值相等,参数数目大于等于输入参数数目A、单一型“查找”算法:先在单一型索引表中查找水平值和参数数目if(水平值和参数数目符合){
 查找到正确返回;}else//不符合{
 对水平值执行“涨”算法,直到7,在单一型索引表中进行反复查找;
 if(查找到)
 {
      以试验数目最少的返回;
 }
 else//查找不到
 {
      查找失败返回;
 }}B、混合2型“查找”算法:先查找高水平值和参数数目if(高水平值和参数数目符合){
再查找低水平值和参数数目;
if(查不到)
{
     对低水平值执行“涨”算法,直到7,进行反复查找;
     if(查找到)
     {
          查找到正确返回;
     }
     else//查找不到
     {
          查找失败返回;
     }
}
else//查到
{
    查找到正确返回;
}}else//不符合{
对高水平值执行“涨”算法,直到7,进行反复查找;
if(查找到)
{
     再查找低水平值和参数数目
     if(查不到)
     {
          对低水平值执行“涨”算法,直到7,进行反复查找;
          if(查找到)
          {
               查找到正确返回;
          }
          else//查找不到
          {
               查找失败返回;
          }
     }
     else//查到
     {
          查找到正确返回;
     }
}
else//查找不到
{
     查找失败返回;
}}C、混合3型“查找”算法:先查找高水平值和参数数目if(高水平值和参数数目符合){
再查找中水平值和参数数目;
if(查不到)
{
     对中水平值执行“涨”算法,直到7,进行反复查找;
     if(查找到)
     {
          再查找低水平值和参数数目
          if(查不到)
          {
               对低水平值执行“涨”算法,直到7,进行反复查找;
               if(查找到)
               {
                    查找到正确返回;
               }
               else//查找不到
               {
                    查找失败返回;
               }
          }
          else//查到
          {
               查找到正确返回;
          }
     }
     else//查找不到
     {
          查找失败返回;
     }
}
else//查到
{
     查找到正确返回;
}}else//不符合{
对高水平值执行“涨”算法,直到7,进行反复查找;
if(查找到)
{
     再查找中水平值和参数数目
     if(查不到)
     {
          对中水平值执行“涨”算法,直到7,进行反复查找;
          if(查找到)
          {
               再查找低水平值和参数数目
               if(查不到)
               {
                    对低水平值执行“涨”算法,进行反复查找;
                    if(查找到)
                    {
                         查找到正确返回;
                    }
                    else//查找不到
                    {
                         查找失败返回;
                    }
               }
               else//查到
               {
                    查找到正确返回;
               }
          }
          else//查找不到
          {
               查找失败返回;
          }
     }
     else//查到
     {
          查找到正确返回;
     }
}
else//查找不到
{
     查找失败返回;
}}“凑”算法:“凑”指小水平值向大水平值“凑”A、对于混合2型的“凑”法在混合2型中查找if(查找到){
查找到正确返回;}else//未查找到{
两个相“凑”,在单一型索引表中查找;
if(查找到)
{
     查找到正确返回;
}
else//查找不到
{
     查找失败返回;
}}B、对于混合3型的“凑”法先进行两两相“凑”,再分别对每种“凑”的结果通过混合2型“查找”算法进行查找(要保留“凑”的结果)。在混合3型中查找if(查找到){
查找到正确返回;}else//未查找到{
两两相“凑”在混合2型中查找;
1、凑的结果1在混合2型中查找;
2、凑的结果2在混合2型中查找;
3、凑的结果3在混合2型中查找;
if(查找到)
{
     以试验数目最少的返回;
}
else//查找不到
{
     三个相“凑”在单一型索引表中查找
     if(查找到)
     {
          查找到正确返回;
     }
     {
          查找失败返回;
     }
}}C、对于混合4型的“凑”法进行两两相“凑”(共6种),“凑”成混合3型,再按混合3型进行处理D、对于混合5型的“凑”法进行三三相“凑”(共10种),“凑”成混合3型,再按混合3型进行处理E、对于混合6型的“凑”法进行四四相“凑”(共15种),“凑”成混合3型,再按混合3型进行处理
当匹配到合适的正交表后,还需根据匹配过程中的“凑”、“涨”的情况确定正交表中哪些试验数据是需要的。
其次,对于每个参数,将其分为若干个等效段,每个等效段作为该参数的一种取值;当选中某个等效段时,再按随机的方式取该段中的某个具体的值。
最后,在产生测试向量时,只需指定哪些参数需要进行正交,软件工具将查找到相应的正交表,然后根据正交表自动产生相应数目的测试向量。比如:对于三参数三种取值的各种组合(27种),A(A1,A2,A3)×B(B1,B2,B3)×C(C1,C2,C3),软件自动选取其中的9种组合作为测试向量。
同样,在定义测试覆盖率目标时,将正交表定义的组合情况作为覆盖的首要目标,命中这些目标,其覆盖率得分就高。在本发明中,在不施加任何约束的情况下,工具还可以根据功能覆盖率目标自动施加上述约束,产生随机激励,其实现方法同上,所不同的是,当这些组合全部产生后,以后的激励按完全随机的方式来产生。
上述新增的两种方法具有独立性,组合约束和序列约束可以直接面向功能覆盖率定义来施加约束,也可以不针对功能覆盖率目标任意定义,具有较高的灵活性。
工具自动完成的实现方法是直接按功能覆盖率目标定义来产生随机激励的,其针对性更强,目标更明确,用户编程的工作量更小,可以不额外增加任何约束代码。

Claims (5)

1、一种基于功能覆盖率的随机激励的自动产生方法,其特征在于,包括:
定义激励的数据结构及测试对象;
定义功能覆盖率,所述功能覆盖率包括基本测试对象、组合测试对象及构成序列的测试对象的功能覆盖率;
对组合测试对象设置组合约束,对构成序列的测试对象设置序列约束;
产生激励,对于组合测试对象首先生成正交组合,再产生其他组合;对于构成序列的测试对象,自动按其序列产生激励。
2、根据权利要求1所述的基于功能覆盖率的随机激励的自动产生方法,其特征在于,进一步包括根据功能覆盖率目标自动施加组合或序列约束,产生随机激励。
3、根据权利要求2所述的基于功能覆盖率的随机激励的自动产生方法,其特征在于,进一步包括所述组合约束和序列约束直接面向功能覆盖率定义施加约束,或针对功能覆盖率目标任意定义。
4、根据权利要求1至3任一项所述的基于功能覆盖率的随机激励的自动产生方法,其特征在于,在组合测试对象生成正交组合的步骤中进一步包括:
根据测试对象,建立相应正交表,每个正交表中均包括参数数目、水平值和试验次数;
根据测试需求,采用“匹配算法”,找出与该测试需求最接近的正交表;
确定正交表中的所需要的试验数据,并产生相应的测试向量。
5、根据权利要求4所述的基于功能覆盖率的随机激励的自动产生方法,其特征在于,所述正交表包括含有单一的水平值的“单一型”正交表、含有两种水平值的“混合2型”正交表及含有三种水平值的“混合3型”正交表。
CNB2005100367825A 2005-08-19 2005-08-19 一种基于功能覆盖率的随机激励的自动产生方法 Expired - Fee Related CN100359488C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005100367825A CN100359488C (zh) 2005-08-19 2005-08-19 一种基于功能覆盖率的随机激励的自动产生方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005100367825A CN100359488C (zh) 2005-08-19 2005-08-19 一种基于功能覆盖率的随机激励的自动产生方法

Publications (2)

Publication Number Publication Date
CN1873625A true CN1873625A (zh) 2006-12-06
CN100359488C CN100359488C (zh) 2008-01-02

Family

ID=37484105

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005100367825A Expired - Fee Related CN100359488C (zh) 2005-08-19 2005-08-19 一种基于功能覆盖率的随机激励的自动产生方法

Country Status (1)

Country Link
CN (1) CN100359488C (zh)

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102073483A (zh) * 2009-11-23 2011-05-25 中兴通讯股份有限公司 一种生成正交测试用例的方法及装置
CN101487876B (zh) * 2009-02-23 2011-08-03 中国科学院计算技术研究所 验证向量的优化方法及装置
CN102722436A (zh) * 2012-05-29 2012-10-10 百度在线网络技术(北京)有限公司 一种增量覆盖信息的统计方法和装置
CN103019933A (zh) * 2012-11-27 2013-04-03 网宿科技股份有限公司 测试用例覆盖度自动识别方法及装置
CN103246600A (zh) * 2012-02-10 2013-08-14 广州博纳信息技术有限公司 软件测评快速校验方法
CN103853652A (zh) * 2012-11-29 2014-06-11 百度在线网络技术(北京)有限公司 一种测试案例生成方法及装置
CN105279062A (zh) * 2014-07-24 2016-01-27 上海华虹集成电路有限责任公司 调整随机权重的方法
CN106776261A (zh) * 2015-11-23 2017-05-31 腾讯科技(深圳)有限公司 对象测试方法和装置
CN107491395A (zh) * 2017-09-06 2017-12-19 郑州云海信息技术有限公司 一种自定义测试用例框架使用方法
CN107704384A (zh) * 2017-09-14 2018-02-16 郑州云海信息技术有限公司 一种加速芯片功能验证收敛的方法及系统
CN107844396A (zh) * 2017-11-01 2018-03-27 上海华虹集成电路有限责任公司 一种功能覆盖率的全遍历方法
CN115168240A (zh) * 2022-09-08 2022-10-11 济南新语软件科技有限公司 一种基于变量组合时间序列功能覆盖率的测试方法和系统
CN117172206A (zh) * 2023-11-02 2023-12-05 摩尔线程智能科技(北京)有限责任公司 测试用例生成方法、装置、电子设备及存储介质

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2793327B1 (fr) * 1999-05-07 2001-07-06 Thomson Multimedia Sa Procede de recuperation d'informations de fonctionnement ou d'erreur de modules logiciels d'un logiciel embarque dans un appareil numerique et appareil numerique associe
CN1225695C (zh) * 2002-01-11 2005-11-02 互慧科技股份有限公司 程序测试系统及方法
CN100476754C (zh) * 2002-06-13 2009-04-08 华为技术有限公司 一种对软件可测试需求的分析方法
CN1504889A (zh) * 2002-11-28 2004-06-16 联想(北京)有限公司 一种根据资源状态动态调整程序模块功能的方法
CN100511149C (zh) * 2003-05-07 2009-07-08 华为技术有限公司 逻辑仿真测试系统和方法
CN100514296C (zh) * 2003-07-01 2009-07-15 华为技术有限公司 自动化仿真方法及系统
CN1641601A (zh) * 2004-01-04 2005-07-20 华为技术有限公司 一种软件的单元测试方法

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101487876B (zh) * 2009-02-23 2011-08-03 中国科学院计算技术研究所 验证向量的优化方法及装置
CN102073483A (zh) * 2009-11-23 2011-05-25 中兴通讯股份有限公司 一种生成正交测试用例的方法及装置
CN103246600A (zh) * 2012-02-10 2013-08-14 广州博纳信息技术有限公司 软件测评快速校验方法
CN103246600B (zh) * 2012-02-10 2016-04-06 广州博纳信息技术有限公司 软件测评快速校验方法
CN102722436A (zh) * 2012-05-29 2012-10-10 百度在线网络技术(北京)有限公司 一种增量覆盖信息的统计方法和装置
CN102722436B (zh) * 2012-05-29 2016-03-02 百度在线网络技术(北京)有限公司 一种增量覆盖信息的统计方法和装置
CN103019933A (zh) * 2012-11-27 2013-04-03 网宿科技股份有限公司 测试用例覆盖度自动识别方法及装置
CN103019933B (zh) * 2012-11-27 2016-01-13 网宿科技股份有限公司 测试用例覆盖度自动识别方法及装置
CN103853652B (zh) * 2012-11-29 2019-02-12 百度在线网络技术(北京)有限公司 一种测试案例生成方法及装置
CN103853652A (zh) * 2012-11-29 2014-06-11 百度在线网络技术(北京)有限公司 一种测试案例生成方法及装置
CN105279062A (zh) * 2014-07-24 2016-01-27 上海华虹集成电路有限责任公司 调整随机权重的方法
CN106776261A (zh) * 2015-11-23 2017-05-31 腾讯科技(深圳)有限公司 对象测试方法和装置
CN106776261B (zh) * 2015-11-23 2021-03-12 腾讯科技(深圳)有限公司 对象测试方法和装置
CN107491395A (zh) * 2017-09-06 2017-12-19 郑州云海信息技术有限公司 一种自定义测试用例框架使用方法
CN107704384A (zh) * 2017-09-14 2018-02-16 郑州云海信息技术有限公司 一种加速芯片功能验证收敛的方法及系统
CN107844396A (zh) * 2017-11-01 2018-03-27 上海华虹集成电路有限责任公司 一种功能覆盖率的全遍历方法
CN115168240A (zh) * 2022-09-08 2022-10-11 济南新语软件科技有限公司 一种基于变量组合时间序列功能覆盖率的测试方法和系统
CN115168240B (zh) * 2022-09-08 2022-11-22 济南新语软件科技有限公司 一种基于变量组合时间序列功能覆盖率的测试方法和系统
WO2024051162A1 (zh) * 2022-09-08 2024-03-14 济南新语软件科技有限公司 一种基于变量组合时间序列功能覆盖率的测试方法和系统
CN117172206A (zh) * 2023-11-02 2023-12-05 摩尔线程智能科技(北京)有限责任公司 测试用例生成方法、装置、电子设备及存储介质
CN117172206B (zh) * 2023-11-02 2024-01-23 摩尔线程智能科技(北京)有限责任公司 测试用例生成方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN100359488C (zh) 2008-01-02

Similar Documents

Publication Publication Date Title
CN1873625A (zh) 一种基于功能覆盖率的随机激励的自动产生方法
CN1253790C (zh) 指令调度方法和指令调度设备
CN101055636A (zh) 障碍管理装置、障碍管理方法、障碍管理程序和记录介质
CN1934570A (zh) 文本挖掘装置和其方法以及程序
CN1809812A (zh) 用于源代码检测源代码中弱点的方法和装置
CN101034988A (zh) 一种网络登录认证保护装置及其使用方法
CN1875403A (zh) 信号处理方法和装置
CN1331449A (zh) 用于将粘着法构成的文本或文档分段成词的字符串划分或区分的方法及相关系统
CN1885273A (zh) 一种逻辑测试的功能覆盖率分析方法
CN1765099A (zh) 能够容易控制协议消息的通信系统的模拟装置与模拟方法
CN1977531A (zh) 程序生成装置、程序测试装置、程序执行装置及信息处理系统
CN1770864A (zh) 基于avs的4×4离散余弦变换的快速并行装置及其方法
CN1510841A (zh) 编码器、解码器以及数据传送系统
CN1862522A (zh) 数据核对装置及核对方法
CN1776621A (zh) 程序变换方法
CN1955956A (zh) 基于bpel的图形与xml文档相互转换的方法
CN1267795C (zh) 控制器的设计装置
CN1718742A (zh) 用于诊断β-地中海贫血的核酸杂交膜条及试剂盒
CN1764928A (zh) 多等级单色图像显示方法,多等级单色图像显示设备,计算机,单色显示设备,再转换适配器,和视频卡
CN1920868A (zh) 信息处理装置及信息处理方法
CN1908951A (zh) 具有验证功能的电子文档
CN1690956A (zh) 程序制定装置以及程序制定方法
CN101041852A (zh) 一种建立小麦品种的ssr指纹代码的方法
CN1912830A (zh) 定义面向对象模型的操作接口的方法
CN1667603A (zh) 配置信息处理系统的方法和半导体集成电路

Legal Events

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

Granted publication date: 20080102

Termination date: 20160819

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