在汽车基础软件开发过程中,测试的重要程度也日趋明显。测试用来检测该功能是否按照预期实现,测试是对软件质量的一个度量,通过前期的测试,尽早的发现软件中的BUG,进而提高软件质量,保证产品质量。
测试链基本步骤如下:
Ø 针对代码的静态测试
Ø 针对详细设计的单元测试
Ø 针对架构的集成测试
Ø 针对需求的系统测试
静态测试通过分析源程序的语法、结构、过程以及接口等来检查源程序的正确性、可读性性、可维护性。知从提供的静态测试主要是利用QAC根据MISRA C规范对静态代码的一个规范检测,并提供相应详细测试报告。
QAC测试可检测的度量:
Ø 函数圈复杂度
Ø 路径复杂度
Ø 嵌套深度
Ø IF ELSE 数量
Ø 其他度量
静态测试的优点:
Ø 发现程序中的语法错误
Ø 检查软件是否符合编程标准

图1:QAC静态分析界面
QAC测试中可以检测多种度量,通过选择需要检测的度量,可以将代码中每个函数的度量结果以饼图方式显示在界面上。

图2:QAC各函数度量
显示的源文件引用嵌套关系,可以帮助减少不必要的嵌套调用,降低代码调用的复杂度。

图3:该文件嵌套关系
测试提供的QAC静态分析报告包括Metrics度量、MISRA违反编程规范的错误列表以及误差列表——用于显示文件中出现的QAC错误以及修正建议。

图4:QAC静态分析报告
Polyspace 核心优势显著,覆盖度统计精准高效,多维度指标自动生成可视化报告;静态缺陷检测能力强,无需执行代码即可精准识别多种潜在问题;全流程可追溯性好,与多工具集成实现测试链路贯通。同QAC一样,Polyspace可以根据MISRA C规范对静态代码的一个规范检测,可以根据客户要求对特定规则检查,并提供相应详细测试报告。
Polyspace测试可检测的度量:
Ø 函数圈复杂度
Ø 路径复杂度
Ø 嵌套深度
Ø IF ELSE 数量
Ø 其他度量
在配置中对测试规则进行选择,就可以根据所选规则检查代码规范问题,所有扫描结果就会显示在输出摘要窗口并生成结果工程文件。

图5:Polyspace单元测试界面
检查输出摘要窗口,保证无报错信息,确保所有文件被完整分析。

图6:Polyspace单元测试输出摘要视图
Polyspace的输出摘要界面界面可以观测到代码中的所有缺陷信息以及Misra规则违反情况,以便于开发人员修改代码规范问题。

图7:Polyspace结果列表
单元测试-知从tessy测试服务
单元测试是软件开发V模型中重要的一环(如图8),在完成编码工作后,测试工程师根据详细设计进行单元测试,用来验证函数的功能是否按照详细设计来实现,以及通过单元测试来发现潜在BUG。为此知从推出Tessy单元测试服务(C语言),包括PC端模拟测试和实际芯片环境的测试。

图8:软件V模型开发部分
单元测试的作用:
Ø 检测功能错误
Ø 检测功能遗漏
Ø 检测超出需求中的部分
Tessy的实际芯片测试环境搭建很复杂,知从也提供环境搭建服务。
知从目前可提供搭建的环境:

根据提供的设计需求设计相应的测试Case,检测代码实现的功能是否满足需求,保证功能与需求的可追溯性。

图9:Tessy单元测试界面
检测代码的路径覆盖度是否能够满足,保证代码中所有路径都能正常运行。

图10:Tessy单元测试测试用例覆盖度视图
搭建目标芯片在对应编译器与调试器下的实机环境,提供xml环境配置文件。

图11:Tessy实机环境搭建
Tessy测试可以生成4种报告,包括Details Report、Overview Report、Planning Coverage Report和Execution Coverage Report。

图12:Tessy Overview报告

图13:Tessy 测试路径覆盖度报告
点击下载产品手册