CoverageMaster winAMS : 适用于嵌入式目标机代码的单元测试工具

全面支持嵌入式微机!验证嵌入式C/C++软件 实施以模块为单位的自动化单元测试工具
不需要HookCode 直接使用目标机代码进行单元测试
联合静态解析工具[CasePlayer2],提供C1,MC/DC用优化测试计划(test case)制作功能
已取得第三方认证机构TUVSUD对适用于汽车机能安全ISO26262软件工具的认证

产品概要

[Coverage master winAMS]是以嵌入式软件的函数为单位,实施模块单元测试以及C0/C1/MCDC覆盖率测试(coverage test)的嵌入式软件自动化单元测试工具。目标机源代码通过交叉编译器生成目标机执行代码,通过跟实际处理器同样的模拟处理器环境进行单元测试,不需要对执行代码做任何变动,使高信赖性的模块测试成为可能。在汽车控制软件这样的对安全性要求极高的领域,单元测试已经成为不可缺少的一部分。使用目标机代码进行单元测试也是为了符合汽车行业中ISO26262功能安全认证标准。

产品特长

全面支持嵌入式微机!验证嵌入式C/C++软件 实施以模块为单位的自动化单元测试工具

作为能够检验出仅凭系统测试以及整体测试无法发现的[潜在错误]的检测方法,[单元测试]在嵌入式开发领域受到广泛重视。同时,单元测试也是汽车用软件功能安全(ISO26262)领域中要求实施的认证项目之一。
[Coverage master winAMS]直接使用通过交叉编译生成的目标机代码,在模拟处理器环境下进行单元测试。既能实现C语言程序的逻辑上的单元验证,又能够对嵌入式微机组装为产品后可能发生的问题等进行具有高信赖度的白盒(white box)测试。

不需要HookCode 使直接使用目标机代码进行单元测试成为可能的业界唯一的工具

有些公司的单元测试工具往往采用在被测试对象的源代码中追加测试用代码或者测试用驱动器的方法,导致测试时所用的代码与组装为产品后的目标机用代码不同。虽然[理论上运行功能应该是相同的],但是从嵌入式开发的角度考虑,这样就如同对交叉编译所生成的经过优化处理的代码进行了加工,无法确保最终产品的质量。Coverage master winAMS是业界唯一的,具有[不需要对被测试对象做任何加工]实施单元测试功能的工具,特别是在安全性要求高的领域中得到很高的评价。

不需建立单元测试专用的环境,可以在开发用交叉编译环境进行单元测试

Coverage master winAMS不需要追加任何测试用驱动器或测试用代码,可以直接使用将组装成产品的目标代码进行单元测试。单元测试能够与软件开发使用共同的交叉编译环境,不再需要对测试资源进行专门管理,也不再需要建立其他专用环境。因此,既方便程序资源管理,又能够缩短准备测试环境所需的时间。

符合汽车功能安全标准(ISO26262)[不做加工直接使用目标机代码实施单元测试]这一要求的最佳工具

ISO26262是从IEC61508衍生出来的适用于汽车制造领域的功能安全标准。其中的Part.6-9[软件程序单元测试]包括了关于软件程序的构造覆盖率测试以及有关的规定项目。根据汽车安全标准(ASIL),提出了测试语句覆盖率(statement coverage),分支覆盖率(branch coverage),MC/DC覆盖率的推荐性事项。

其中的另一个推荐性事项是

[尽可能使单元测试的环境与目标环境相同]

的规定。如果在与目标环境不同的环境下进行单元测试,必须表明源代码与目标代码的差别,以及目标环境和测试环境的差别。因此,对于那些使用与目标微机不同的电脑进行编译和单元测试的其他公司的工具而言,这个要求很难满足。 还有些公司的单元测试工具虽然包括交叉编译环境及编译功能,而且也能够在与目标环境相同的环境下进行测试,但是所有的测试都需要插入测试用代码,进行再次编译,因此测试也只能在与目标环境不同的环境下实施。

GAIO提供的单元测试工具Coverage master winAMS具有

●采用全面支持嵌入式微机的微机化功能测试平台环境●不需要插入测试用代码直接使用目标机代码进行测试

的特征,提供符合ISO26262标准要求的必须功能。GAIO提供的Coverage master winAMS是符合ISO26262标准[直接使用整装用代码实施单元测试]这一要求的业界唯一的工具。

关于汽车机能安全ISO26262的对应以及认证的获得

已取得第三方认证机构TUVSUD对适用于汽车机能安全ISO26262软件工具的认证

2012年6月28日,「Coverage master winAMS / General」测试工具获得由德国TUVSUD第三方认证机构,在汽车机能安全规格的ISO26262软件工具方面的认证,包括日本在内亚洲地区首次获得该项认证。

通过此项认证,说明本公司的单元测试工具「Coverage master winAMS / General」,以及程序分析工具「CasePlayer2」,在静态分析和单元测试领域,是符合所有安全度水准的工具,并由TUVSUD认证机构得到了保障。

ISO 26262对于不同的开发用软件工具在工具置信水平(TCL),都需要开发者提供开发软件工具的认证书。此项认证适用于在工具认证当中,最为复杂的TCL3工具认证标准。因此,导入本公司的单元测试工具之后,不需要对TCL的部分进行认证,进而可以缩减手续跟时间。

报纸发表(日语)

主要的单元测试功能

采用SSTManager管理单元测试project

SSTManager是Coverage master winAMS的应用功能,用于管理单元测试project,制作测试数据(test data)。从设定测试环境开始,到报告测试结果为止,均由微机化功能测试平台(ISS)实施综合管理。

采用通用便利的CSV文件管理测试数据的输入输出

Coverage master winAMS不需要插入测试用代码,直接使用目标机代码进行单元测试。采用通用便利的CSV文件管理函数测试时使用的输入输出数据。测试结束后,输出的测试结果和输出的期待值也将以相同的格式显示在CSV文件之中。

C0/C1覆盖率报告的自动化制作功能(标准功能)

根据测试的输入输出数据自动报告相应源代码的C0/C1测试覆盖率结果。包括通过图形(viewer)显示测试数据,以及与其相应的被测试的源代码路径的功能,用于分析测试结果。作为选项功能也包括MC/DC覆盖率测试功能。

MC/DC覆盖率的自动化测试功能(选项功能)

作为选项功能提供MC/DC覆盖率测试功能。C0/C1覆盖率测试不需要加工即可直接使用目标机代码。然而,MC/DC覆盖率测试对于复合式的条件式,需要自动插入HookCode将复合式的条件式分解,才能对各条件式进行测试。这样就有可能导致测试用代码与目标机用代码的不同。为了验证HookCode的妥当性,在MC/DC覆盖率测试的同时,运行目标机代码,确认运行结果与期待值的一致性。

注:右图举例显示,第2个if句的复合条件式中,[gbc>30]为false时的分支没有被测试到。以C1覆盖率测试来说,它的测试结果是OK;而对于MC/DC覆盖率测试来说,它的结果是NG。

注: MC/DC覆盖率测试功能不支持C++程序。

单元测试的效率化功能

联合程序解析工具CasePlayer2,实现代码参照解析作业的效率化

利用CasePlayer2生成的流程图表以及模块构造图(调用函数的构造图)与源代码的连接(link)功能,使单元测试用源代码的解析工作效率化。

能够自动检索被测试函数的外部变量,使测试条件设定效率化

联合程序解析工具CasePlayer2,自动检索被测试函数所使用的外部变量。缩短了以往必须对源代码进行搜索找出输入条件的变量所需的工作。而且,能够防止人工操作导致的类似变量指定遗漏的的错误。

根据代码解析自动化制作C0,C1,MC/DC 覆盖率测试计划

联合程序解析工具CasePlayer2,自动化制作符合覆盖率测试要求的条件分支if,switch,for,while等的测试数据。可以将被测试函数中含有的条件式(if以及switch等)在数据制成图形(Viewer)上列表显示。点击其中的条件,工具将自动开始检索与之相关的变量,进而从所设置的条件的境界值中自动生成覆盖率测试所需要的数据。

为了达到C1/MCDC覆盖率,测试时需要对各函数的数据进行组合。利用CasePlayer2提供的解析结果,分析条件式的net构造,在重复性限制在最小限度下生成C1/MCDC覆盖率测试用数据。

支持MPU

CoverageMaster winAMS Supported Processor List(English)

动作环境

●操作PC/OS
・IBM PC/AT 兼容机
・Pentium(相当) 2GHz 以上的CPU
・存储器 512MB 以上(推荐值)
・显示器分辨率 XGA(1024*768)以上(推荐值)
・・Windows XP, Windows Vista, Windows 7(32bit/64bit)(※Windows 95/98/Me/NT/2000 未支持)

●License Key
・USB Board Hardware Key (Dongle)

使用inetaddress测试目标可达性_白盒测试工具―Winams介绍相关推荐

  1. 使用inetaddress测试目标可达性_纯java手写打造方法级白盒测试框架

    我们在做服务端测试时,经常使用的自动化测试框架或平台大多通过restful风格使用http协议接入系统,例如常见的Jmeter.LoadRunner.Postman等,还有不常用或付费的工具如Test ...

  2. 使用inetaddress测试目标可达性_PDPS软件机器人虚拟仿真:Smart Place功能介绍与使用方法...

    概述 对于机器人工作站或生产线的虚拟仿真,很大一部分的作用是找出机器人与工装夹具等外围设备的最佳布局位置.市面上大多数的工业机器人虚拟仿真软件都有这种专门用于检测机器人与外围设备之间最佳布局位置的功能 ...

  3. postman如何测试php接口_接口测试工具postman

    一. 安装 2. 注意事项:建议安装在非系统盘,即C盘以外的盘,路径最好用全英文路径 3. 打开chrome ->更多工具 ->拓展程序 ->加载本地已解压的postman至chro ...

  4. RF框架(二)_ 开发工具RIDE介绍

    一.Robot Framework介绍 RF官网:https://robotframework.org/ Robot Framework是通用的开源自动化框架.它可以用于测试自动化和Robot过程自动 ...

  5. 怎么测试linux丢包率,linux上测试丢包率的工具iperf介绍

    今天要测试一下linux上udp的丢包率,查了一下,有个iperf的可以做这个,分别在发送端和接收端安装命令,然后运行一下就行了, 首先在服务端设置 iperf -p 80 -s -u -i 1 参数 ...

  6. 白盒基本路径发测试实验报告_软件生命周期、白盒测试、黑盒测试

    继上一讲: 隅巳毕月:达摩克里斯之--排序与查找技术​zhuanlan.zhihu.com 我们今天来讲一下软件周期与两种软件测试方法 软件开发应遵循一个软件的生命周期,通常把软件产品从提出.实现.使 ...

  7. 白盒测试工具_别再头疼工作效率低!这些超实用的黑盒、白盒测试方法你都用上了吗?...

    在软件测试工作中,为充分利用现有的时间和资源条件,提高测试效率和测试充分性,当前有多种方法辅助测试人员完成测试工作,推进项目进度,其中最普遍的莫过于白盒测试和黑盒测试,白盒测试和黑盒测试的概念和常用方 ...

  8. python三角形判断白盒测试的代码_白盒测试代码应该怎么测试

    之前一直在做黑盒测试,最近公司需要做白盒测试,在网上查阅了一些资料,做白盒测试代码应该怎么测试?现总结如下: 1.白盒测试一种测试方法,单元测试是一种测试类型. 白盒测试一般是使用工具进行各个指标测试 ...

  9. C/C++白盒测试工具之codeviz安装使用(续)

    为什么说CodeViz是白盒测试工具? 可能有些人对博文的标题会提出些异议,没错,CodeViz这款软件的确是用来进行代码分析的一款利器,能够根据需要获取到整个程序中的所有的函数调用关系,为程序员阅读 ...

最新文章

  1. jwt token 附加用户信息_SpringBoot+JWT实现token验证并将用户信息存储到@注解内
  2. Python:如何仅用递归函数和栈操作逆序一个栈
  3. Spring MVC –揭秘了@RequestBody和@ResponseBody
  4. 评估报告有效期过期了怎么办_托福成绩过期了怎么办?
  5. 将我人生的第一篇博客献给伟大的软件工程这门课程
  6. C# 使用AutoResetEvent进行线程同步
  7. Druid 配置及内置监控,Web页面查看监控内容
  8. Automysqlbackup: WARNING: Turning off multicore support, since pigz isn’t there.
  9. VS2013及MFC下载
  10. 随机出题 php,asp.net/net/c#随机出题在线考试系统
  11. vue结合百度地图api实现地址检索、路线规划等功能
  12. 7-34 查询水果价格 (15 分)
  13. 弘辽科技:拼多多没出单改销量吗?拼多多如何提高销量?
  14. 使用appium进行app自动化测试时遇到AppActivity设置正确但报Connect Appium Server Fail.A new session could not be created
  15. 此iphone尚未备份显示未连接服务器,iPhone 出现“尚未备份”的提示,如何取消?...
  16. [1095]Appium使用wifi连接多台手机
  17. 微信、支付宝付款码规则
  18. 长期换衣行人重识别(Long-Term Clothes-Changing Person Reid)数据集汇总
  19. 框架 也可以这样用 easy
  20. 如何看待腾讯 2022 校招薪资首发,白菜价 40W?

热门文章

  1. [Spring 深度解析]第4章 Spring之AOP
  2. 自从学了这套框架,自动化+性能都解决了
  3. Redisson 分布式锁源码 11:Semaphore 和 CountDownLatch
  4. mysql可视化导入csv文件_我们如何将数据从.CSV文件导入MySQL表?
  5. android ui动画效果怎么做,AndroidUI 布局动画-为列表添加布局动画效果
  6. 面对对象编程——用Python写一个图书管理系统
  7. 【PHPWord】TextRun
  8. netty加载html文件的原理,Netty+html聊天室入门
  9. php客服窗口,制作一个客服小界面
  10. python 空数组_从零开始学python之numpy