CoverageMaster winAMS : 实用于嵌入式指标机代码的单元测试/集成测试工具
全面反对嵌入式微机!验证嵌入式C/C++软件 施行以模块为单位的自动化单元测试工具
不须要HookCode 间接应用指标机代码进行单元测试
联结动态解析工具[CasePlayer2],提供C0(语句),C1(断定),MC/DC覆盖率报告,优化测试用例制作
已获得第三方认证机构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 未反对)