嵌入式软件智能化测试工具

SmartRocket TestGrid

产品概述

SmartRocket TestGrid是一款嵌入式软件智能化测试工具。工具支持C/C++语言的单元测试,采用人工智能算法,利用自动推理与符号执行技术分析程序路径,产生满足覆盖率的测试用例并在后台自动执行,可以自动生成覆盖率最高达100%的测试用例。支持各种程度的集成测试,用户通过设置调用函数是否打桩,实现调用函数集成程度的自主控制。支持静态分析,满足根据国军标、MISRA标准对源码进行质量分析。


欢迎试用

特色功能

  • 一体化软件测试平台

    通过该款工具可轻松完成静态分析、单元测试、集成测试。自动化完成整个测试过程,开发人员和测试人员可以共同使用。

  • 高覆盖率测试用例生成

    单元测试环节无需单独投入专门的测试人员,开发人员在编码完成后一键即可进行高覆盖率、低冗余测试用例的自动生成与执行。

  • 灵活简约的用户体验

    该款工具界面简洁 、操作简单、学习门槛低。采用B/S架构,实现跨平台操作,对客户端的计算机电脑配置要求较低,更加方便灵活使用。

价值优势

  • 支持语句、分支、MC/DC覆盖准则

    SmartRocket TestGrid能够针对覆盖准则生成测试用例,支持语句、分支、MC/DC及边界覆盖准则,能够自动执行生成的测试用例并提供筛选项,能够满足D0-178B、ISO26262、EN50128等行业标准苛刻的测试要求。

    采用随机生成或数据字典生成测试用例的工具不含覆盖准则,用例通过随机组合产生,无法支持MC/DC及边界用例的定向生成。

  • 生成精简的测试用例集

    SmartRocket TestGrid可针对不同的准则生成精简化的用例集,使得用例间没有冗余。其他用例生成工具无覆盖准则之分,通过随机生成或数据字典方式来生成用例往往存在大量冗余。在测试航天某控制软件代码时,SmartRocket TestGrid仅生成 十多个用例就能够达到语句、分支及MC/DC的100%覆盖的函数,而使用的其他软件工具则给出了数百个测试用例,导致 大量用例的冗余。

  • 全面设计形参、全局变量、桩函数及桩函数形参数据

    SmartRocket TestGrid能针对形参、全局变量、桩函数及桩函数形参等进行全面设计,自动设计桩返回值及参数输出值等。而随机生成或数据字典生成测试用例工具通常只支持形参、全局变量的数据设计,从而导致无法达到较高的覆盖率。

  • 支持系统函数调用

    在被测代码中,有时我们想要保留系统函数,尤其是memcpy、memset等可能影响覆盖率的内存函数。对随机生成或数据字典生成测试用例的工具而言,该类系统函数无法正确识别,而 SmartRocket TestGrid 能够自动捕获此类函数的内存变化约束,生成正确的测试用例。 基于前两种生成策略的工具均无法正确覆盖return 0的分支,而SmartRocket TestGrid中提供了系统函数是否打桩的开关。当我们开启系统函数不打桩的开关后,SmartRocket TestGrid就能够正确生成2个用例使得覆盖率达到100%。

  • 自动执行用例,满足预期值检查规范

    SmartRocket TestGrid生成用例后会自动执行用例,捕获用例的预期值等输出检查信息并自动比对。该检查项满足功能安全认证的要求,检查函数返回值、检查全局变量被修改值、检查形参指针指向内容被修改值等。而其他工具则无此检查项或检查项较为薄弱(例如:只检查函数返回值等),后续还需要大量的人工来补充该部分数据,从而导致效率降低。

典型应用

  • 探月工程三期

  • 上海地铁信号

  • 车载ECU系统

  • 航空航天

    卫星控制软件是卫星控制系统的核心,其功能复杂,单元测试覆盖率要求高,手工测试用例编写成本大,且容易出错。使用SmartRocket TestGrid能够自动生成满足语句覆盖、分支覆盖、MC/DC覆盖的单元测试用例,并自动进行测试执行,能够提高软件测试效率和软件产品质量。在某航天单位 15 万行代码测试中,SmartRocket TestGrid获得了超过90%的平均语句覆盖率。

  • 地铁信号

    地铁信号系统是地铁控制的中枢,在地铁信号系统测试中,需要根据不同的SIL等级来进行相应的单元测试。传统测试中,测试用例编写依靠人力实现,对于MC/DC覆盖率有严苛要求的软件代码测试,必然会耗费大量的人力及时间。使用SmartRocket TestGrid工具能够解决该问题,可大大减少人力成本及时间成本。在某地铁信号单位的20万行代码测试中,SmartRocket TestGrid获得了平均超过85%的语句覆盖率,用例生成效果显著。

  • 汽车电子

    汽车电子行业遵从ISO26262标准,对于需要达到ASIL-D安全等级的工程,同样需要耗费大量的人力及时间来编写用例。 SmartRocket TestGrid生成的用例能够无缝应用于汽车电子行业,从而帮助测试人员快速达到语句/分支、MC/DC的代码覆盖率要求。在某汽车电子单位10万行代码测试中,SmartRocket TestGrid获得了超过85%的平均语句覆盖率。