Tessy概述
Tessy是一款专门针对嵌入式软件进行单元测试/集成测试的工具,源自戴姆勒-奔驰公司的软件技术实验室,它可以对C/C++代码进行单元、集成测试,可以自动化搭建测试环境、执行测试、评估测试结果并生成测试报告,其多样化的测试用例导入生成方式和与测试需求关联的特色,使Tessy在测试组织和测试管理上也发挥了良好的作用。目前Tessy已广泛应用于汽车行业各大OEM及Tier-one。
在V模型开发中,Tessy主要应用在单元测试和集成测试阶段。单元测试通过运行代码检测出函数中错误,比如算法错误、接口问题等;集成测试则在单元测试的基础上验证单元之间接口的正确性。基于越早发现bug开发成本越低的原则,在进行代码功能验证的过程中,按照V流程右半部分先完成单元测试再进行集成测试的测试顺序更为有效。
Tessy可以满足各类标准(如ISO26262、IEC61508、EN50128/50129等)对测试的要求,比如Tessy可以满足ISO26262中各ASIL级别对单元/集成测试的要求,同时Tessy本身也通过了TUV的认证,证明该软件是安全可靠的,可以在安全相关的软件研发过程中使用。
Tessy主要技术指标如下
支持自动打桩、自动生成测试驱动环境
支持手动/自动生成单元测试用例
支持故障注入
支持覆盖度测试
支持高度自动化的回归测试(自动识别接口变更)
支持场景式集成测试
支持需求导入及追溯
支持SIL/PIL测试
支持产品功能安全认证等级ASIL(A-D)
Tessy产品方案
Tessy的产品方案有三种
· 基础软件:标准GCC/G++编译环境(Tessy默认提供标准环境)下对目标代码开展测试
· 基础软件+目标板集成:与实际开发环境匹配的编译环境及芯片板卡环境下开展在板测试
· 基础软件+模拟器集成:与开发环境匹配的编译环境以及pc模拟调试环境下开展仿真测试
Tessy主界面
· 单元测试页面
· 集成测试页面
核心功能
· 支持自动打桩、自动生成测试驱动环境、一键执行及评估结果
Tessy可以自动生成驱动程序、桩函数,帮助测试人员提高单元测试效率。
Tessy支持一键执行测试,并自动对测试结果进行评估,可生成多种形式的报告。
· 支持手动/Tessy自动生成单元测试用例
可以选择自动或者手动打桩以及自动生成测试用例模板,并以逻辑结构展示每个函数的测试用例,提供测试用例管理界面,帮助客户提高测试用例设计效率。
除软件界面手动设计测试用例外,Tessy还支持导入导出多种格式的测试用例。另外,Tessy集成了分类树编辑器CTE,有效利用等价类划分以及边界值法,辅助设计出更有效的测试用例。
· 支持故障注入测试
可以在不修改源码的情况下,实现传统方法无法实现的特殊测试用例输入,例如跳出无限循环,先写后读功能以及防御性编程测试。
· 支持覆盖度测试
Tessy提供分支覆盖、修正条件/判定覆盖MC/DC(Modified Codition/Decision Coverage)、多条件覆盖MCC(Multiple Condition Coverage)等多种覆盖度分析。并且可以通过界面中交互式提示信息,引导测试人员快速实施用例调整,完成覆盖度测试期望效果。
· 高度自动化的回归测试
支持命令行方式对工具进行调用,并提供Define Batch Operation功能,可将完成的相关测试代码导出。之后可命令行执行,将测试用例代码和源码以模块化的方式集成在一起。
· 分析代码自动识别接口变更
Tessy通过分析源文件自动识别函数及相关接口。在接口发生变更时,支持通过简便的操作进行测试数据复用。
· 支持集成测试
具有独立的组件测试模块,通过模拟场景Scenarios,可基于时间轴,创建不同的场景,进行场景模拟,并提供了各种相应的配套功能,例如追踪函数运行、调用情况、相关调用覆盖度等。
· 测试的需求可追溯
所有的测试活动都是基于功能规格和需求的(包括高级别需求,如系统需求、软件需求;以及低级别需求,如概要设计、详细设计)。支持多种格式需求导入、需求追踪,可以实现需求-用例之间的可溯性,从而可以实现需求覆盖的统计与追踪。
· 支持多种开发环境下SIL/PIL测试
支持与常见嵌入式环境进行集成实现在板测试或模拟环境测试,且环境接口对用户开放。
保留了开发接口,支持多种常用的微控制器、交叉编译器和调试器的组合,能够处理交叉编译器生成的非标准C(ANSI-C)微控制器特定的代码;可以通过自主开发的方式与指定的调试器完成集成,完成在目标板上自动执行测试。
支持嵌入式测试环境—常见厂商支持节选
国产芯片支持案例
资质认证证书
应用案例
· 汽车行业
· 安全关键模块
· 经纬万搏网投官网(中国)有限公司可提供服务项