首页 > 其他分享 >VectorCAST|Docker场景下的代码白盒测试实施

VectorCAST|Docker场景下的代码白盒测试实施

时间:2023-10-09 14:45:36浏览次数:36  
标签:容器 白盒 代码 镜像 工具 Docker VectorCAST

 Docker简介

 

 

Docker是一个开源的应用容器引擎,它可以实现让开发者打包他们的应用、依赖以及配置到一个可移植的镜像中,并且可以发布到任何可运行Docker的Linux或Windows操作系统的机器上,并可以无需再次进行配置便完美执行。Docker容器是使用的沙箱机制,任何容器之间的创建、运行和关闭不会相互影响,相互之间也不会有任何接口。容器和虚拟机虽然都使用虚拟化技术,但容器并不是模拟一个完整的操作系统,而是在宿主机操作系统上应用虚拟化技术,可实现软件应用的秒级启动和响应,相比而言,虚拟机冗余步骤多、启动太慢、占用内存硬盘资源,过于笨重。

 

在敏捷开发模式越发流行的现在,Docker技术的使用也越发普遍,开发过程中对迭代版本中的代码的测试成本也逐渐增长,如何方便快捷地对代码进行测试也随之成为了一个越来越值得关注的问题。

 

在众多种类的代码动态测试工具中,北汇信息所采用的是Vector旗下的代码动态测试工具—VectorCAST/C++。 VectorCAST/C++工具是德国Vector公司的一款白盒测试工具,主要用于实现代码的单元测试和集成测试。工具最大的特点以及优势就在于经受了多个大型量产项目的实践,证明了工具对C++高阶特性、Linux系统和CI平台的强力支持。

 

那下面为大家介绍VectorCAST这款强力的动态代码测试工具在Docker场景中的使用。

 

 

VectorCAST使用

 

 

基于Docker技术进行开发,实际情景一般是代码与编译环境同时部署在镜像中,或是代码和编译环境分开部署在本地服务器和镜像内,那么这也导致在使用工具时可能会采用不同的方式。

  • 挂载工具方式

 

在使用多个Docker镜像进行代码版本迭代或控制的开发场景下,不需要将VectorCAST工具先放置到镜像中,而是使用挂载的形式,将工具在启动容器时挂载到对应容器中,以实现在容器中对工具的使用,此方式大大减少了工具重复的安装过程,并且实现同一个工具对不同镜像的复用。下面简要说明使用的流程。

  • 容器的启动

参数解析:

1、docker:Docker的二进制执行文件。

2、run:与前面的docker组合来运行一个容器。

3、-v:设定共享目录,为了将安装包保存到容器中,需要指定目录。D:\Docker\Data指本地目录,可以自定义;/dev/shm是指容器中的目录。将需要复制到容器中的文件放置到D:\Docker\Data中,在容器中就可以进入/dev/shm来访问这些文件。

4、-i: 以交互模式运行容器

5、-t: 为容器重新分配一个伪输入终端

6、-e:设置环境变量

 

在启动容器时将工具所在的目录通过-v选项挂载到容器内。

  • 修改工具启动文件

 

工具在容器内打开后使用的是容器内部的文件树,所以需要将启动文件中对应的路径进行修改。

 

  • 工具启动与使用

 

工具成功启动后可以在工具顶端会标识出正在运行工具的容器id号。

  • 工具镜像方式

 

若是需要进行经常性的工具迁移使用,使用工具挂载方式会显得不便捷,那可以选择另一种方式在容器中使用工具,即将工具放置在镜像内,实现快捷的工具迁移。以下对此方式进行介绍。

  • 编写Dockerfile

使用dockerfile在制作镜像时将工具目录同时拷贝进去而形成一个新的镜像。

  • 构建镜像

 

  • 启动容器

 

 

使用指令启动刚刚新制作的镜像,而镜像里本身就已经包含着工具,不需额外对工具进行挂载。

 

  • 修改工具启动文件

 

工具在容器内打开后使用的是容器内部的文件树,所以需要将启动文件中对应的路径进行修改。修改后可启动工具。

 

  • 工具使用

 

 

工具成功启动后同样可以在工具顶端标识出正在运行工具的容器id号。

 

总结

 

在敏捷开发模式越发流行的现在,Docker技术的使用也随之越发普遍,使用Docker会给开发带来一些优势,如更高效的系统资源利用、更快速的应用启动、提供统一的运行环境、利于实现持续集成与部署、更易于移植以及更便捷的维护和拓展。但对开发过程中对迭代版本中的代码的测试成本也逐渐增长,方便快捷地对代码进行尽可能早的测试也成为了越来越多用户所追求的。

 

VectorCAST作为一款强力的C/C++代码测试工具,不仅可以与Docker技术进行结合,并且可以适配实际的交叉编译链,对代码基于最真实编译环境进行完备的测试检验,大大减少因代码测试中测试工具与环境分割或适配带来的花费,提高测试效率和降低测试难度。

 

如果您想了解更多有关信息请联系北汇信息,北汇信息作为Vector公司的中国合作伙伴,拥有专业的VectorCAST测试服务团队,可为您提供周全完整的研发、测试解决方案及优质的技术支持服务。

 

翻译

搜索

复制

<iframe></iframe>

标签:容器,白盒,代码,镜像,工具,Docker,VectorCAST
From: https://www.cnblogs.com/polelink/p/17751695.html

相关文章

  • 【白盒测试基础总结】(新手自学)
    白盒测试:看代码,找bug,需要熟悉代码逻辑。黑盒测试:看不到代码,点点点,只看输入输出,不需要了解过程。下面主要总结了白盒测试的定义、测试步骤、优缺点、测试目的特点、测试方法等。 ......
  • 云原生周刊:Docker 推出 Docker Debug | 2023.10.9
    开源项目推荐SchemaHeroSchemaHero是一个KubernetesOperator,用于各种数据库的声明式架构管理。SchemaHero有以下目标:数据库表模式可以表示为可以部署到集群的Kubernetes资源。可以编辑数据库模式并将其部署到集群。SchemaHero将计算所需的更改(ALTERTABLE语句)并应用......
  • 出错了,[Docker管理器]运行时发生错误!AttributeError: ‘NoneType’ object has no att
    原文链接:https://www.longkui.site/error/attributeerror-nonetype-object-has-no-attribute-co/4707/0.背景宝塔面板调试docker时,无聊一直在按它的”启动“和”重启“然后就报错了:出错了,[Docker管理器]运行时发生错误!AttributeError:'NoneType'objecthasnoattribute'......
  • docker常用命令
    docker网络相关设置常见的网络模式有:bridge:默认网络模式,容器和主机在同一个子网中,可以通过IP地址相互访问。host:容器和主机共享一个网络命名空间,容器直接使用主机的网络接口。none:容器没有网络接口,无法进行网络通信。container:容器和另一个容器共享同一个网络命名......
  • Docker 安装 Redis 单机&集群总结
    前言Redis是一个开源的使用ANSIC语言编写、遵守BSD协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库redis版本:redis:6.2.13作者:易墨安装单机版安装源:DockerHub默认配置文件:配置文件示例6.2运行时指定配置文件docke......
  • docker入门加实战——docker安装并配置阿里云加速
    docker入门加实战——docker安装并配置阿里云加速为什么要学习docker在开发和部署项目的过程中,经常会遇到如下问题:软件安装包名字复杂,不知道去哪里找安装软件和部署项目步骤复杂,容易出错这就是我们今天要学习Docker技术要解决的问题。有了Docker以后,项目的部署会如丝般顺滑......
  • docker - 多个docker通过非IP方式连接方式
    二、多个docker通过非IP方式连接方式:有一个web容器、一个mysql容器,web服务器需要访问mysql容器,从上面的方式,可以知道使用IP来访问.局限:①.每次部署或启动,相同容器的IP会发生变化②.需要先知道ip才能进行通信1.link(官方已经废弃,原理可参考):采用link来为mysql容器起个na......
  • Linux Centos7 安装Docker环境
    一、Docker介绍Docker是一个开源的容器引擎,基于Go语言开发,同时基于Apache2.0协议开发。对Docker简单的理解就是使用Docker可以把一台服务器隔离成一个个独立的容器,我们可以把这地方描述的容器理解成一个沙盒。在每个容器中运行一个程序,不同的容器之间相互隔离,容器的创建,停止,以及......
  • Dapr学习笔记(二)-安装Dapr环境(Docker)
    安装DaprCLI。它使你能够启动、运行并管理Dapr实例。它还提供调试支持。安装 DockerDesktop。如果在Windows上运行,请确保将用于Windows的DockerDesktop配置为使用Linux容器。 备注默认情况下,Dapr使用Docker容器来为你提供最佳的全新体验。若要在D......
  • Centos 7安装Docker
    一、安装    1、安装yum包      sudoyum-yupdate    2、安装所需软件包             sudoyuminstall-yyum-utils     3、添加镜像,这里用的阿里云镜像             sudoyum......