Tessy — 嵌入式软件单元测试/集成测试工具

Tessy软件源自戴姆勒-奔驰公司的软件技术实验室,由德国Hitex公司负责全球销售及技术支持服务,是一款专门针对嵌入式软件动态测试的工具。它可以对C/C++代码进行单元、集成测试,可以自动化搭建测试环境、执行测试、评估测试结果并生成测试报告等。多样化的测试用例导入生成方式和与测试需求关联的特色使Tessy在测试组织和测试管理上也发挥了良好的作用。

 

Tessy主要特点

        在V模型开发中,Tessy主要应用在单元测试和集成测试。单元测试通过运行代码检测出代码错误,比如算法错误等,集成测试则在单元测试的基础上验证单元之间接口的正确性。基于越早发现bug开发成本越低的原则,在进行代码功能验证的过程中,按照V流程右半部分先完成单元测试再进行集成测试的测试顺序更为有效。

 

        另外,Tessy也可以满足各类标准(ISO26262、IEC 61508、 EN 50128/50129、 DO-178B、ASPICE或FDA的软件验证通用原则)对测试的需求,比如ISO26262中各个测试等级中对模块测试的要求可以使用Tessy来满足,当然Tessy本身也通过了TUeV的认证,被证明是安全可靠的,可以在安全相关性的软件研发过程中使用。

 

Tessy的主要功能

  自动生成测试环境:

        Tessy可以自动生成测试环境驱动,选择自动或者手动打桩以及自动生成测试用例模板,帮助客户提高测试用例设计效率。

 

 

  多种测试用例确定方式:

        除了从Excel中导入测试用例,手动地设计测试用例外,Tessy里集成了CTE软件,根据分类树的方法通过Tessy自动化地关联测试用例。

   支持动态测试的各阶段:

        Tessy可以支持从单元测试到系统测试的动态测试过程各个阶段,通过单元测试检查最小单位为函数的功能,通过集成测试来测试各个子功能组合起来的模块能否达到预期要求的父功能以及相互间的接口,通过与目标板集成的测试环境来测试系统功能。另外Tessy可以自动发现被测对象的改变,分析被测对象的接口,重用测试用例和测试数据,从而为重复的回归测试节约大量的工作和时间,在接口不变的情况下Tessy可以完全自动化地执行不需要用户介入的回归测试。

 

  全自动地测试执行及评估;

        Tessy检查源文件并且通过分析程序代码来确定函数以及他们的接口,这些信息将被保存在特定的数据库中供随时检索,接口信息和测试数据的分离实现了结构和数据之间的明确划分,一方面,接口的测试使首先显示变化成为可能,另一方面,如果发生变化,通常也只有要测试的函数接口的几个元素要发生变化,在Tessy中接口发生变化时的处理相当简单。

 

  测试报告生成:

        管理测试数据并将测试结果文档,Tessy提供输入参数/执行测试和评估结果和报告文档,Tessy可以生成各种类型的测试报告,包括详细报告、概况报告以及覆盖度报告等。

                                          

                                               

 

  显示测试覆盖度:

      Tessy提供C1覆盖,即分支覆盖branch coverage或者判定覆盖decision coverage ;条件覆盖,即多条件覆盖MCC(Multiple Condition Coverage)和修正条件判定覆盖MC/DC(Modified Condition/Decision Coverage),Tessy是通过测试应用程序来获取测试覆盖信息的。

 

  支持ASAP2标准:

        在Tessy中设计测试用例之前选择与ASAP2标准的集成功能,确定需要导入的ASAP2文件(a2l文件),使用ASAP2转换规则自动地将测试用例中设计的测试数据物理值转换为在目标板中执行测试对象的整数值,从而简化测试用例设计的理解和实现,并且可以在Tessy中显示其他ASAP2信息,例如单位,最大/最小值等。

 

  需求跟踪功能:

        所有的测试活动都是基于功能规格和需求变更的。Tessy 最新版本支持插入需求,随着需求的变化自动变更需求版本,实现需求可溯性。可通过插入需求宏观把握测试工作的进度。

 

 

应用&案例:

        Tessy被广泛应用于汽车、国防、铁路、医疗和工业应用领域当中,众多著名的汽车整车厂、零部件供应商都在使用Tessy。

   汽车行业:

   安全关键性领域:

  此外,医疗、白色家电、国防等领域都在使用Tessy做嵌入式软件动态测试:

 

        德国戴姆勒公司大量使用Tessy,其中应用最多的部门是EP/MEI,他们在使用Freescale MPC微控制器,主要为六缸和八缸汽油机开发控制软件,也包括迈巴赫使用的12缸发动机的控制软件,也都是用Tessy进行测试的。在一个典型的测试项目中包含90个C语言功能函数,所有的函数都使用Tessy测试。一个功能函数通常有平均20个接口元素(比如输入或输出变量)。为了全面地测试一个功能,总共需要大约500个测试步骤,划分成20到30个测试用例。 戴姆勒公司EP/MEI部门的Ralf Focken感叹说,"不使用Tessy的单元测试,是我们无法想象的。"

        德国宝马公司正在使用Tessy测试由Matlab/Simulink模型自动生成的代码,以及集成的手写代码。这个项目是为宝马的混合动力汽车锂电池的智能电池管理系统,安全等级为ISO26262 ASIL C级。这个项目由40个C语言的功能函数组成。所有的功能函数,包括硬件接口函数,都是使用Tessy测试的。对于有些测试对象,需要多达20000个测试用例,Tessy都可以轻松处理这样大量的测试数据。

        

        宝马公司的Andreas Schmude说“Tessy对于测试我们自动生成的代码,起了至关重要的作用。”

 

posted on 2017-10-20 14:13  如凤中奇缘  阅读(7702)  评论(0编辑  收藏  举报