硬盘修复软件下载-parameter error

功能自动化测试工具
2023年4月3日发(作者:光影魔术手官方)

单元测试集成测试⾃动化⼯具-winAMS

CoverageMaster

winAMS:适⽤于嵌⼊式⽬标机代码的单元测试/集成测试⼯具

全⾯⽀持嵌⼊式微机!验证嵌⼊式C/C++软件实施以模块为单位的⾃动化单元测试⼯具不需要HookCode直接使⽤⽬标机代码进⾏单元测试联

合静态解析⼯具[CasePlayer2],提供C0(语句),C1(判定),MC/DC覆盖率报告,优化测试⽤例制作已取得第三⽅认证机构TUVSUD对适⽤

于汽车机能安全ISO26262软件⼯具的认证

产品概要

[CoveragemasterwinAMS]是以嵌⼊式软件的函数为单位,实施模块单元测试以及C0/C1/MCDC覆盖率测试(coveragetest)的嵌⼊式软

件⾃动化单元测试⼯具。⽬标机源代码通过交叉编译器⽣成⽬标机执⾏代码,通过跟实际处理器同样的模拟处理器环境进⾏单元测试,不需要对执

⾏代码做任何变动,使⾼信赖性的模块测试成为可能。在汽车控制软件这样的对安全性要求极⾼的领域,单元测试已经成为不可缺少的⼀部分。使

⽤⽬标机代码进⾏单元测试也是为了符合汽车⾏业中ISO26262功能安全认证标准。

产品特长

全⾯⽀持嵌⼊式微机!验证嵌⼊式C/C++软件实施以模块为单位的⾃动化单元测试⼯具

作为能够检验出仅凭系统测试以及整体测试⽆法发现的[潜在错误]的检测⽅法,[单元测试]在嵌⼊式开发领域受到⼴泛重视。同时,单元测试也是

汽车⽤软件功能安全(ISO26262)领域中要求实施的认证项⽬之⼀。

[CoveragemasterwinAMS]

直接使⽤通过交叉编译⽣成的⽬标机代码,在模拟处理器环境下进⾏单元测试。既能实现C语⾔程序的逻辑上的单元验证,⼜能够对嵌⼊式微机组

装为产品后可能发⽣的问题等进⾏具有⾼信赖度的⽩盒(whitebox)测试。

不需要HookCode使直接使⽤⽬标机代码进⾏单元测试成为可能的业界唯⼀的⼯具

有些公司的单元测试⼯具往往采⽤在被测试对象的源代码中追加测试⽤代码或者测试⽤驱动器的⽅法,导致测试时所⽤的代码与组装为产品后的⽬

标机⽤代码不同。虽然[理论上运⾏功能应该是相同的],但是从嵌⼊式开发的⾓度考虑,这样就如同对交叉编译所⽣成的经过优化处理的代码进⾏

了加⼯,⽆法确保最终产品的质量。CoveragemasterwinAMS是业界唯⼀的,具有[不需要对被测试对象做任何加⼯]实施单元测试功能的⼯

具,特别是在安全性要求⾼的领域中得到很⾼的评价。

不需建⽴单元测试专⽤的环境,可以在开发⽤交叉编译环境进⾏单元测试

CoveragemasterwinAMS不需要追加任何测试⽤驱动器或测试⽤代码,可以直接使⽤将组装成产品的⽬标代码进⾏单元测试。单元测试能够与

软件开发使⽤共同的交叉编译环境,不再需要对测试资源进⾏专门管理,也不再需要建⽴其他专⽤环境。因此,既⽅便程序资源管理,⼜能够缩短

准备测试环境所需的时间。

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

ISO26262是从IEC61508衍⽣出来的适⽤于汽车制造领域的功能安全标准。其中的Part.6-9[软件程序单元测试]包括了关于软件程序的构造覆盖

率测试以及有关的规定项⽬。根据汽车安全标准(ASIL),提出了测试语句覆盖率(statementcoverage),分⽀覆盖率(branch

coverage),MC/DC覆盖率的推荐性事项。

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

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

的规定。如果在与⽬标环境不同的环境下进⾏单元测试,必须表明源代码与⽬标代码的差别,以及⽬标环境和测试环境的差别。因此,对于那些使

⽤与⽬标微机不同的电脑进⾏编译和单元测试的其他公司的⼯具⽽⾔,这个要求很难满⾜。

还有些公司的单元测试⼯具虽然包括交叉编译环境及编译功能,⽽且也能够在与⽬标环境相同的环境下进⾏测试,但是所有的测试都需要插⼊测试

⽤代码,进⾏再次编译,因此测试也只能在与⽬标环境不同的环境下实施。

GAIO提供的单元测试⼯具CoveragemasterwinAMS具有

●采⽤全⾯⽀持嵌⼊式微机的微机化功能测试平台环境●采⽤全⾯⽀持嵌⼊式微机的微机化功能测试平台环境●不需要插⼊测试⽤代码直接使⽤⽬标机代码进⾏测试●不需要插⼊测试⽤代码直接使⽤⽬标机代码进⾏测试

的特征,提供符合ISO26262标准要求的必须功能。GAIO提供的CoveragemasterwinAMS是符合ISO26262标准[直接使⽤整装⽤代码实施单

元测试]这⼀要求的业界唯⼀的⼯具。

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

已取得第三⽅认证机构TUVSUD对适⽤于汽车机能安全ISO26262软件⼯具的认证

2012年6⽉28⽇,「CoveragemasterwinAMS/General」测试⼯具获得由德国TUVSUD第三⽅认证机构,在汽车机能安全规格的

ISO26262软件⼯具⽅⾯的认证,包括⽇本在内亚洲地区⾸次获得该项认证。

通过此项认证,说明本公司的单元测试⼯具「CoveragemasterwinAMS/General」,以及程序分析⼯具「CasePlayer2」,在静态分析和

单元测试领域,是符合所有安全度⽔准的⼯具,并由TUVSUD认证机构得到了保障。

ISO26262对于不同的开发⽤软件⼯具在⼯具置信⽔平(TCL),都需要开发者提供开发软件⼯具的认证书。此项认证适⽤于在⼯具认证当中,

最为复杂的TCL3⼯具认证标准。因此,导⼊本公司的单元测试⼯具之后,不需要对TCL的部分进⾏认证,进⽽可以缩减⼿续跟时间。

主要的单元测试功能

采⽤SSTManager管理单元测试project

SSTManager是Coverage

masterwinAMS的应⽤功能,⽤于管理单元测试project,制作测试数据(testdata)。从设定测试环境开始,到报告测试结果为⽌,均由微机

化功能测试平台(ISS)实施综合管理。

采⽤通⽤便利的CSV⽂件管理测试数据的输⼊输出

CoveragemasterwinAMS不需要插⼊测试⽤代码,直接使⽤⽬标机代码进⾏单元测试。采⽤通⽤便利的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

winAMSSupportedProcessorList(English)

动作环境

·操作PC/OS

·IBMPC/AT兼容机·Pentium(相当)

2GHz以上的CPU

·存储器512MB以上(推荐值)·显⽰器分辨率XGA(1024*768)以上(推荐值)·WindowsXP,Windows

Vista,Windows7(32bit/64bit)(※Windows

95/98/Me/NT/2000未⽀持)

更多推荐

功能自动化测试工具