hightec教程_如何用VectorCAST/C++做单元集成测试?
展开全部
VectorCAST/C++™--C/C++的单元/集成测试
VectorCAST/C++是一套集成的软件测试解决方案,能62616964757a686964616fe4b893e5b19e31333335313766显著降低C/C++测试过程中为达到安全性检测和嵌入式系统关键任务检测所必需的时间、工作量及成本。
自动化包括:
>为单元测试和集成测试构建完整的测试环境
>基于脚本命令或GUI图形界面执行测试
>集成最好的需求管理系统和静态分析工具
>根据基本路径来自动生成测试用例
>根据测试需求自定义测试用例
>回归测试
>在调试阶段进行测试的回放
>代码覆盖分析
>支持敏捷开发和测试驱动开发(TDD)
VectorCAST/C++自动构建测试组件(test harness)
一般地,软件的单元测试要求为每一行被测代码生成至少一行的测试代码(以桩函数,驱动,测试数据的形式)。测试人员不仅必须编写代码,还要保证是按照预期的操作可调试的,这就是为什么编写这些用于测试的测试代码成了测试代码高成本和低效的主要原因。通过VectorCAST/C++,不需要编写任何一行代码就可以实现软件测试功能。
集成主流嵌入式环境包括:
Green Hills MULTI
WindRiver Tornado®
LynuxWorks™
TI Code Composer Studio™
DiabSingleStep™
Cosmic
TASKING™
Synopsys®
ARC™
CodeWarrior™
Analog Devices Visual DSP++®
ST Microelectronics®
HighTecTriCore®
Microchip®
Paradigm
Renesas™
ARM®
RVDS™
IAR Systems®
KEIL™
NEC
QNX®
Borland®
Mercury Computer Systems™
特色:
兼容LINUX, UNIX, Windows编译器
自动构建测试驱动和桩函数
集成包含MC/DC在内的代码覆盖功能
支持主机,模拟器和嵌入式目标环境测试
自动化的回归测试
用户可配置编译器接口
支持DO-178B,ISO 26262,IEC 61508,FDA,IEC 62304和CENELEC测试需求
VectorCAST/C++功能
VectorCAST/C++首先分析您的代码,然后调用代码生成器根据测试要求去自动构建一套完整并可执行的测试组件。一旦测试组件被成功构建,用户可以使用VectorCAST/C++构建和执行测试用例,显示代码覆盖信息并生成测试报告。因为测试数据是独立于测试用例的,可以进行自动的回归测试。
在测试过程中,如果没有代码覆盖工具,源代码的哪些部分被执行到是很难确定的。VectorCAST/C++提供集成的代码覆盖分析工具,在单个或多个测试执行中,提供关于源代码语句的报告,为用户指明代码覆盖结果。代码覆盖度数据也可以被VectorCAST/Cover工具共享,生成生成集单元、集成和系统测试覆盖率结果于一体的报告。
一旦测试用例被设计出来,就可以使用VectorCAST/C++自动运行测试用例对不同版本的软件进行测试。测试执行的管理和测试结果的记录都可由VectorCAST/C++工具自动化完成。通过比较同样的测试用例在不同版本的源代码上执行的结果,能在系统集成之前,发现因为对代码“不经意的修改”导致的严重错误。
可在一个VectorCAST/C++测试环境中执行多个单元测试。这允许用户可以创建模拟跨单元和跨函数的复杂测试场景。
VectorCAST/C++支持主流的编译器,可以无缝的进行测试工作。所有的VectorCAST/C++测试组件[AT2] 都是使用指定的编译器自动生成和链接的。同时也提供了和编译器的调试器的接口,以便能够在调试状态下运行测试用例。
VectorCAST/C++支持敏捷开发和测试驱动开发(TDD)方法。设计一旦完成,测试用例开发也就开始了。这使得用户可以在任何应用代码被开发前,就可以构建所有的单元测试。开始阶段,单元测试会由于缺少源代码而执行失败。但是,随着各单元开发的推进,源代码逐渐完善,单元测试会得到通过。从而,单元测试套件可以自动化执行回归测试。
VectorCAST/C++结合VectorCAST/RSP使用可以支持直接在嵌入式目标系统上测试。VectorCAST/RSP集成了交叉编译器和RTOS,成为测试实时应用测试的完美工具。测试用例可主机上设计,然后在嵌入式目标环境上执行,以验证目标机和交叉编译器的性能。
产品特点
对任意复杂度的C/C++代码自动生成完整的测试驱动和桩函数(无需编写测试代码)
测试驱动支持复杂测试场景,包括同一测试用例中连续调用不同函数
自动打桩能够获取输入,控制任何预定义或者用户定义类型的输出
树状图形测试用例编辑器使用户方便创建和编辑测试用例
易于创建测试用例:
测试静态,保护和私有函数
构建任意复杂度的类对象
测试多态性和动态分配
抛出和捕获不同类型和值的异常
测试复杂的类的继承
单独的测试模板例程
不期望的输出和信号的捕捉和报告
命令行接口允许脚本执行所有功能
易于使用的GUI界面
测试用例构建----不需要编写测试代码,参数和全局数据的值(被测单元和桩)都可以在GUI中定义;
测试执行----不要求编译每一个测试用例;
通过/失败----测试用例被执行后的结果以不同颜色显示在GUI中;
代码覆盖率----对代码标注颜色进行显示,覆盖级别包括语句、分支和MC/DC级别的覆盖;
执行——能够在主机平台或者目标模拟器[AT3] 上运行,也可以直接在嵌入式目标机上运行。执行平台可以通过GUI进行控制。
hightec教程_如何用VectorCAST/C++做单元集成测试?相关推荐
- 在几何画板中如何制作圆柱的侧面展开动画_如何用几何画板做三棱柱的侧面展开动画...
原标题:如何用几何画板做三棱柱的侧面展开动画 在学习棱柱的侧面展开图时,如果我们利用几何画板这一强大的制作动画课件软件,制作动态的棱柱展开过程,使学生能够在比较生动形象的动画演示中,通过自己的发现观察 ...
- wps里为什么没有华文楷体_如何用WPS演示做电影滚动字幕
我们看电影的时候,都知道电影开始都会有很长的滚动字幕,很多小伙伴认为这是由专业的软件制作的,其实小伙伴们不知道,这种滚动字幕的效果用WPS演示或者PPT也能制作出来,下面我们就来带领大家体验一下. 如 ...
- python怎么用交互式界面_交互式python教程_如何用python做交互式界面
什么叫做交互式python解释器 个例子来说明交互式解释 (看看 Onion - 老杨 解释的内容如下) 例: 创建文件 zoo.py.在该文件义函数 hours(),输出字符串'Open 9-5 ...
- 用易拉罐做机器人教程_不会c4d就做不出3d设计?用ps照样可以,教程在这里
很多设计师朋友应该都发现了 最近c4d真的很热门 已经不仅仅是美工需要学习 现在很多公司都要求自己的平面设计师会c4d 为什么,因为客户早已经看惯了单一的平面 3d的立体效果,让客户觉得更有新鲜感 ...
- 人工智能畅想ps海报教程_如何战胜鲁班人工智能做图?大战鲁班海报制作教程【PS教程】...
不怂! 向鲁班宣战!! 合成制作教程 为了打败阿里的人工智鲁班AI,对此决定宣战,证明我们的实力. 在2017年末,设计圈可够闹腾的, 原因就是阿里那个AI, 就是那个每秒撸8000张banner的鲁 ...
- python好玩的教程_用python真的可以做很多有趣的事!我自己做了些小项目!大家看看...
如果你是一个喜剧爱好者,你实际上可以用Python自动下载所有的动画,没有一个下载. Python还可以帮助组织混乱的文件夹. 整理前: 后整理: 不要错过最新的消息. 我非常喜欢看电影.我想整理我电 ...
- u大侠装服务器系统,U大侠win10系统U盘制作教程_如何用U盘装win10系统 - U大侠,装机专家...
使用热键进入U大侠主菜单界面,选择[01]运行U大侠Win8 pe X86精简版(支持UEFI)选项(或[02]运行U大侠win2003PE增强版都可以),将进入win8 pe系统界面,如下图所示: ...
- u大侠装服务器系统,U大侠U盘安装Ghost win7系统教程_如何用u盘装win7系统 - U大侠,装机专家...
使用热键进入U大侠主菜单界面,选择[01]运行U大侠Win8 pe X86精简版(支持UEFI)选项(或[02]运行U大侠win2003PE增强版都可以),将进入win8 pe系统界面,如下图所示: ...
- python web.py教程_如何用Python汇款:Web3.py教程
Python部落(python.freelycode.com)组织翻译,禁止转载,欢迎转发. Python开发人员对于以太坊和区块链库的技术练习. 警告:下面的教程包含这些元素:显式加密.点对点金融服 ...
- u盘服务器安装win7系统安装教程视频教程,U大侠U盘安装Ghost win7系统教程_如何用u盘装win7系统 - U大侠,装机专家...
使用热键进入U大侠主菜单界面,选择[01]运行U大侠Win8 pe X86精简版(支持UEFI)选项(或[02]运行U大侠win2003PE增强版都可以),将进入win8 pe系统界面,如下图所示: ...
最新文章
- [SDOI2015]权值
- 什么是embedding?
- Android Json解析方法
- uiautomator 代码记录 :BT接收测试
- 导出数据在SQL Server中作为INSERT INTO
- 如何写出安全的、基本功能完善的Bash脚本
- 微服务架构下,解决数据一致性问题的实践
- 一个稍微复杂的VTK程序
- 检查本机显卡的cuda信息及适配cuda-sdk版本
- SharePoint 2010 Form 认证 之 IIS 添加数据
- 可编辑的表格:jQuery+PHP实现实时编辑表格字段内容
- 2011年华科计算机考研复试机试题真题
- 先导课程 单片机_单片机技术(北京航空航天大学)-壹课堂 - 公开课 | 精品课程 | 教学视频...
- C++ 著名程序库 概览
- 修改JDK的经历:两处字体的粗体代码引起的错误
- PHP中Trait详解及其应用
- 资料分析-增长率 比重 平均数 倍数等
- 「图像处理」C#+AForge.Net+DlibDotNet实现人脸识别
- 思科创建账户以及模拟器(Cisco Packet Tracer) v7.2.1使用教程
- cocos creator--DragonBones 骨骼动画入门
热门文章
- vue-cli3的命令行创建项目-(慕课网笔记)
- npm install -g @vue/cli时 -4048 npm ERR! Error: EPERM: operation not permitted, lstat报错的几种解决方案
- lvcreate 创建逻辑卷
- string对象的创建、截取和拼接_java基础面试题-String深入理解
- 苹果的水果忍者未能连接到服务器是怎么回事,水果忍者无法连接服务器如何解决...
- dump文件_centos7 磁盘与文件系统管理
- 计算机保研夏令营英语面试,保研经验 | 夏令营面试那些事儿(内含视频)
- python列表后面两个括号_python列表[]中括号
- php 图片裁剪保存,PHP图片裁剪与缩放示例(无损裁剪图片)
- ollvm源码分析之虚假控制流(2)