求知
文章
文库
Lib
视频
iPerson
课程
认证
咨询
工具
讲座
Model Center
汽车系统工程
模型库
会员
订购
|
案例
|
建模扩展语言
|
模型框架
|
学习资源
|
培训&咨询
|
解决方案
|
用户组
|
客户专区
|
联系我们
MBSE工具链
iSpace
EA
模型库
需求管理
自动建模
孪生&仿真
代码工程
文档生成器
研发管理
质量管理
测试
iPerson
文章
规范
方案
工具
课程
996 次浏览
56 次
测试驱动器
集成测试
学习资料
嵌入式软件集成测试平台integrator
作者:俎涛 (火龙果软件工程)
什么是嵌入式软件集成测试平台
嵌入式软件集成测试平台用于构建嵌入式软件持续集成测试的完整工具链,实现持续集成测试的执行的可视化和自动化。
解决的问题
嵌入式软件一般都用于汽车、飞机、工厂等跟人身安全相关的领域,所以对软件的质量要求都比较高,这也就需要建立完善的软件质量测试体系。嵌入式软件基本上要进行全周期的软件质量保障。如下是一个典型的企业的嵌入式软件开发过程中涉及到的测试工作流程图:
软件开发人员把开发完的软件提交给测试人员进行测试,测试人员要进行如下的质量工作:
代码检查:对代码进行静态分析和检查,发现代码的规则性问题。
单元测试:把代码编译为可以组件后,对组件的接口进行测试。
集成测试:按照软件架构设计,对需要对接的各个组件进行集成测试,验证集成后能否正常运行。
系统测试:按照系统需求,把可执行的软件和硬件集成为一个系统,对系统的功能、性能和可靠性进行测试,以便验证系统能否实现需求,并且正常运行。
在当前的嵌入式软件开发测试过程中,存在如下问题:
工具链不完整:
在嵌入式软件领域,有些环节缺乏有效的工具,例如代码检查、单元测试、集成测试。
工具集成不紧密:
整个测试过程设计多个工具,而各个工具来自于不同厂家或者开源产品,互相之间衔接不紧密,造成效率低,而且容易出差错。
工件太分散,难以管理:
整个集成测试过程涉及多种工作输入、工具和交付物,包括:程序代码、测试用例、测试脚本、测试报告、测试工具。这些工件分散在各个地方,缺乏集中的管理,造成找不到、可能用错。
缺乏统一的质量视图:
各个环节都有自己的测试工具,这些工具输出各自的测试报告,缺乏统一质量视图,对质量难以跟踪。
为了解决嵌入式软件集成测试过程中的质量和效率问题,我们全面的分析了工作中相关的活动、工具、数据,研发了各种问题的针对性解决办法, 推出了嵌入式软件集成测试平台integrator。
嵌入式软件集成测试平台integrator有什么
Integrator包括如下内容:
1) 集成测试项目管理和复用。
2) 集成测试过程建模为工作流,用户可以配置各个活动的时序参数,方便执行和复用。
3) 活动自动执行与监控。
4) 嵌入式软件集成测试工具链:代码检查、单元测试、集成测试、系统测试。
5) 为各种工具提供统一的适配接口,工具接入插件化、可扩展。
6) 对各种测试报告集中管理,并可以根据需要合成质量报告。
7) 集中管理集成测试的各种资源:源代码、测试用例、测试脚本、测试报告、测试工具。
Integrator包括如下内容:
1) 集成测试项目管理和复用。
2) 集成测试过程建模为工作流,用户可以配置各个活动的时序参数,方便执行和复用。
3) 活动自动执行与监控。
4) 嵌入式软件集成测试工具链:代码检查、单元测试、集成测试、系统测试。
5) 为各种工具提供统一的适配接口,工具接入插件化、可扩展。
6) 对各种测试报告集中管理,并可以根据需要合成质量报告。
7) 集中管理集成测试的各种资源:源代码、测试用例、测试脚本、测试报告、测试工具。
如下是integrator 的集成测试解决方案示意图:
嵌入式软件持续集成测试工具链
嵌入式软件集成测试因为涉及到多种测试工作:代码检查、代码比对、软件编译、单元测试、集成测试、虚拟运行环境构建、系统测试。而这些工作在嵌入式软件开发过程中很少有一个完整的工具环境,这就需要首先构建一个完整的嵌入式软件集成测试工具链。为此,基于嵌入式软件开发的经验,并通过面向开发和测试团队的调研,收集了常用的嵌入式软件集成测试各个环节的工具,组织成完整的持续集成工具链,如下列表:
序号
工作
代表工具
用途
1
软件版本控制
SVN插件/Git
StarTeam
管理源代码的仓库。
2
代码差异分析
Beyond Compare
Diff Merge
对比代码不同版本的差异。
3
代码规则检查
QAC
CppCheck
对代码的各种规则进行检查。
4
代码质量度量
Testbed
NCSS
度量代码的复杂度
5
单元测试
C++Test
对软件类进行单元测试。
6
代码编译构建
Workbench
Visual Studio
编译源代码为目标程序
7
集成测试
Tessy
Tessy 进行各个组件的集成测试。
8
虚拟运行环境
Simics插件
构建软件运行容器,支持环境模拟和运行调度。
9
部署
目标文件下载工具
目标文件下载、运行。
10
测试覆盖率分析
DT10
基于动态运行测试分析代码的测试覆盖率。
部署方案
如下是嵌入式软件集成测试部署方案,主要是建立集成测试的工作环境、工具和平台,支持集成测试的具体工作。
各个节点的功能描述如下:
节点
功能
集成测试平台
可以定制集成测试流程,
调度集成测试的执行
统计并浏览集成测试质量报告
测试工具
可以设计集成测试用例
执行集成测试
定制集成测试数据
仿真测试虚拟设备
提供虚拟的设备运行环境
运行设备控制软件
通过接口对集成测试工具提供响应。
实物测试设备
提供真实的设备运行环境
运行设备控制软件
通过接口对集成测试工具提供响应。
使用场景
嵌入式软件持续集成测试平台的使用场景如下:
管理员配置持续集成工作流 :
1. 建立项目
2. 为项目创建持续集成工作流程
3. 为流程添加job,为job配置插件
4. 定制质量报告模板
工程师执行持续集成工作流:
1. 选择项目
2. 启动工作流
3. 系统执行job,调用插件工作,生成质量数据,
4. 整个工作流的所有job执行完后,系统采集质量数据,生成质量报告;
5. 工程师如果对代码进行了修改,需要二次持续集成,则只需要命令重新执行工作流,则平台会自动地调度执行每个工具,对报告结果进行收集,大大提高了效率。
为了方便后续的持续集成测试项目复用,可以把当前的工作流或者一个job作为可复用组件,提炼到可复用组件库里。在后续的项目中,可以复用的组件库中的工作流或者job,大大提高质量和效率。
下面是嵌入式软件集成测试平台 integrator的运行界面截图。
运行前配置的集成测试工作流界面:
启动工作流,依次执行各个job,调用集成测试服务器上的各个工具,执行集成测试整个流程,执行进度跟踪界面如下所示:
说明:绿色代表执行成功,红色代表失败,蓝色代表当前正在进行的job。
执行后各个测试工具执行的输出显示在运行状态属性框。
在项目tree的报告节点,用户可以看到生成的质量报告,用户选择一个质量报告,查看,则列出该质量报告:
用户可以查看有多个测试报告合并而成的质量报告。操作方法如下:
用户可以选择【合并…】,在弹出的表单选择要合并的源文件和要输出的目标文件,然后点击合并,则合并一个整体的报告。
则合并生成一个整体的质量报告:
嵌入式-软件持续集成平台与工具链
持续集成工具链对各个工作提供对应工具支持:代码检查、构建、单元测试、集成测试、功能测试。
我们提供通用系统持续集成工具链和嵌入式软件持续集成工具链学习资料、软件和培训、咨询服务。
嵌入式软件集成集成工具链
通用软件持续集成工具链
嵌入式-软件持续集成平台与工具链
功能介绍....
Job
工具名称
下载
软件版本管理
SVN
下载
Git
下载
StarTeam
下载
Synergy
代码差异分析
Beyond Compare
下载
代码规则检查
QAC
CppCheck
Windows 64-bit
Windows 32-bit
代码质量度量
Testbed
NCSS
代码分析
AutoFlowchart
下载
单元测试
CppTest
下载
CUnit
下载
编译构建
Workbench
Make
Nmake
虚拟运行环境构建
虚拟路由
虚拟时钟
Simics
目标文件下载运行
目标机部署工具
系统动态测试
自动化测试工具
测试率覆盖率分析
DT10
gcov
文档生成
文档生成
通用-软件持续集成平台与工具链
功能介绍....
工作
工具
功能描述
下载
CI引擎
Jenkins
完成CI的资源管理调度
下载
代码仓库
GitHub
版本管理 Pull request合并流程
下载
代码分析
AutoFlowchart
可以把C代码逆向为流程图,帮助分析代码路径。
下载
代码检查
SonarQube
代码静态检查
下载
自动化构建
Maven
Java编译脚本
下载
单元测试
XUnit
编写单元测试的各种框架
自动化部署
Ansible
NA,流行脚本语言,本演示中未应用
功能测试
Selenium
功能测试框架
下载
性能测试
Jmetersaltstack
接口与性能测试框架
下载
产品购买
您可以根据自己的需要选择如下的服务:
搭建建持续集成工作体系框架
持续集成插件定制化开发
培训
持续集成示范项目验证
服务主题
服务内容
价格
搭建持续集成工作体系框架
搭建持续集成工作体系框架:
持续集成平台:Jenkins(已有)+工具链
代码检查
自动化构建
单元测试
自动部署
功能测试
性能测试
结合预定义跟客户团队专家讨论
优化预定义持续集成工作体系框架
根据范围议价
持续集成插件定制化开发
根据客户具体需求,开发:
1.统一质量管理视图
2.统一工程数据视图
如果现有插件不能满足需求,可以根据用户需求,开发新的工作插件。
根据范围议价
培训
持续集成工作流程
持续集成工作流的贯穿案例实践:
持续集成平台:Jenkins(已有)+工具链
代码检查
自动化构建
单元测试
自动部署
功能测试
性能测试
按天计费
持续集成示范项目验证
选择示范项目
团队按照预定义的持续集成工作体系框架实践项目。
根据范围议价
服务
目标
帮助团队建立从开发到运维的完整持续集成工具链:
管理原则
工作流程
人员角色和职责
工具平台和工具链
范围
持续集成完整周期:开发、集成、部署、测试、发布管理
相关工具
配置管理工具,代码检查工具,单元测试工具,自动化构建工具,自动化测试工具,运行容器,性能测试工具
服务方式
培训,客户项目咨询,工具交付
996 次浏览
56 次
<