一种基于逻辑执行块的嵌入式软件测试插桩方法技术

技术编号:7501925 阅读:316 留言:0更新日期:2012-07-11 02:14
本发明专利技术公开了一种基于逻辑执行块的嵌入式软件测试插桩方法。首先根据不同的覆盖测试类型,对被测程序进行预处理。接着分析被测程序结构,获得语句类型、层级关系、嵌套关系等信息。根据这些信息和逻辑执行关系对被测程序分块,每个逻辑执行块入口和出口位置插入探针函数。运行插桩后的被测程序,收集桩信息,统计插桩点语句的执行次数。最后根据插桩点语句类型和被测程序层级关系、嵌套关系,确定每段代码块中语句的执行次数。该方法能厘清程序层级关系、嵌套关系,计算包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖在内的多种覆盖率。该方法基于代码块插桩,大大降低程序插桩后的膨胀率,减小海森堡效应对实时性测试的影响。

【技术实现步骤摘要】

本专利技术属于嵌入式系统测试
,具体涉及。该方法能够完成嵌入式软件的多种覆盖测试,能够准确快速的分析出语句的执行次数和覆盖率,大大降低了程序插桩后的膨胀率,减小了海森堡效应对实时性测试的影响。
技术介绍
软件测试是指在软件开发的整个生命周期中对软件质量进行有效的控制,是软件质量的重要保证。据统计,测试可以使软件的缺陷数至少降低75%,从而减少软件的投资风险,提高投资回报率。代码覆盖测试是评价软件测试的质量的一个重要指标,它通过收集覆盖率数据, 对测试结果的可信度进行评价。根据覆盖内容的不同,覆盖可以分为语句覆盖、判定覆盖、 条件覆盖、判定条件覆盖、条件组合覆盖、路径覆盖。其中常用的为前五种。语句覆盖指设计足够多的测试用例,使每条语句至少执行一次。其覆盖率计算公式为

【技术保护点】

【技术特征摘要】
1.一种基于逻辑执行块的嵌入式软件测试插桩方法,包括如下步骤(1)根据不同的覆盖测试类型,对被测程序进行不同的预处理。(2)分析预处理后被测程序的结构,获得被测程序语句类型、层级关系、嵌套关系等信肩、ο(3)在结构分析的基础上,对被测程序按逻辑执行关系分块。每个逻辑执行块作为一个插桩单位,将其入口和出口位置定为插桩点。(4)初始化探针函数及插桩环境,在插桩点插入探针函数。(5)运行插桩后的被测程序。每经过一次插桩点,由探针函数发送该插桩点的位置信息。统计接收到的桩信息,计算出各插桩点的执行次数(逻辑执行块的入口和出口位置的执行次数)。(6)根据步骤O)中记录的被测程序语句类型、层级关系、嵌套关系等信息,计算每个逻辑执行块中所有语句的执行次数,进而计算出覆盖率。2.根据权利要求1所述的一种基于逻辑执行块的嵌入式软件测试插桩方法,其特征在于,可以确定被测程序的语...

【专利技术属性】
技术研发人员:王忠民霍艺伟梁琛王文浪范琳
申请(专利权)人:西安邮电学院
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术