tag 标签: 代码安全

相关帖子
相关博文
  • 热度 7
    2023-9-27 10:20
    1267 次阅读|
    0 个评论
    持续集成(Continuous Integration,简称CI)是一种软件开发/测试方法。它要求开发及测试人员频繁地将代码提交到用于共享的开发分支中,经过充分的测试和审查,然后通过 自动化的构建和测试流程 ,对代码进行构建、单元测试、集成测试等步骤以确保代码的质量和可交付性。 早在2000年代初,就有主机厂及零部件供应商开始尝试通过持续集成来提升软件开发效率和质量。而在竞争愈发激烈、整车集成化趋势愈加凸显的当下,二者都认识到提升软件开发效率和质量的重要性。他们深刻的明白为了快速响应市场需求和用户反馈,同时尽可能避免缺陷和故障,一个高效可靠的持续集成流程是必须的。因此,持续集成在汽车软件测试行业的重要性自是不言而喻。 Jenkins作为最具代表性,市场占比最高的开源CI工具,在构建持续集成流程方面发挥了重要作用。通过使用Jenkins,,可以轻松地集成其他各式工具,自动构建、执行测试流程。Jenkins 还提供了灵活且丰富的插件系统,允许用户根据需要去定制专属的工作流程。 在这样的背景下,VectorCAST作为Vector公司旗下基于V模型开发的C/C++代码动态测试工具,也针对Jenkins开发了自己的插件,使其能够与Jenkins进行无缝集成。通过使用VectorCAST和Jenkins进行集成测试,无需启动客户端便可便捷快速的完成自动测试及增量回归测试,得到完整的测试结果报告。 那么接下来就为大家介绍如何在Jenkins上完成对VectorCAST工程的持续集成。 集成准备工作 1、 VectorCAST 工程配置 当我们想在Jenkins上执行VectorCAST工程时,我们首先需要有一个完整的VectorCAST工程,包含四个部分,即编译器、测试套件、组和环境。 在完成于VectorCAST工具上的测试项目创建后(具体操作方式请查看 【北汇信息】VectorCAST培训视频 | VectorCAST快速入门_哔哩哔哩_bilibili ),得到工程对应的vcm文件: 2 、Jenkins配置 在网页端打开Jenkins,通过Jenkins的Manage Jenkins → Plugins → Available plugins搜索安装VectorCAST对应的两个可安装插件: 通过Jenkins的节点管理Manage Jenkins → Nodes来创建执行项目所用的节点并设置节点并发数。节点是用来执行构建任务的工作机器或服务器,我们可以自由选择创建在主机或虚拟机中,通过在Jenkins中配置和管理节点,可以实现分布式构建和部署,通过将任务分配到不同的节点上并行执行,来提高构建和部署的效率;而并发数应选择设置为大于等于当前项目的环境数,否则会导致当前项目没有可用的节点致使执行停止: 回到Jenkins主页面选择VectorCAST,我们便可以看到现在可通过Create Single Job或是Create Jenkins Pipeline来创建任务,在Jenkins中,Single Job和Pipeline Job都可以完成同样的构建过程与结果,而Pipeline Job更适合多个测试环境下需要节省时间并行执行的项目,且对于Pipeline Job,我们不需要单独去编写pipeline脚本,VectorCAST插件会自动生成pipeline脚本来帮助我们更快速便捷的构建Jenkins工程: 二、 J e nkins Job 创建 我们选择任一Jenkins Job,开始对相应的VectorCAST工程进行配置,配置选项除以下提及外皆选择默认即可。 在Project Path处选择我们项目的vcm文件的路径,如是本地则选择其绝对路径,如使用Git库/SVN拉取文件则转为选择相对路径: Node Label处填入此前创建好的节点名称: Job Options处选择为当下创建的任务命名,此处也可保持空白,插件会根据 vcm 文件的名字自动命名: 在接下来的Scripts脚本处可用于定义 Windows及Unix(根据实际使用的系统而定)的脚本命令。我们可以通过定义环境变量或调用批处理文件来设置环境脚本命令。当我们的工程是通过交叉编译链进行编译的,那么就可以将相应的环境配置或是批处理脚本填入此处: 当我们需要从Git库/SVN检出文件时,我们可以通过SCM项进行关联: Single J ob: Pipeline Job : 在我们完成对于Jenkins Job的配置后,选择Create即可完成Jenkins Job的创建。 三、执行并查看结果 选择我们上面创建好的Jenkins Job,通过Build Now执行当前任务。 Jenkins的自身特性会在任务执行过程中实时监控并进行记录,通过点击执行进度条进入控制台查看实时执行进度: 待执行完成后便可查看执行结果,VectorCAST插件同样会生成通过工具执行结果所得的相应报告: 同时我们也可以检查这个工程的测试用例的执行情况及整体的覆盖度情况: 对于Pipeline Job,我们还可以通过阶段视图与Blue Ocean来帮助我们更清晰的认知到每一阶段的执行情况: 以上就是我们通过Jenkins集成VectorCAST的全部内容,而除此之外, 我们还提供基于脚本的 方案来助力自动化整个测试流程 。 相较于需要手动进行配置的插件。脚本方案可以更加便捷灵活的完成适配工程,执行测试,报告生成并通知的全自动化流程。 如果您对这方面感兴趣 或是有 任何需求,请随时 与我们取得联系,我们很乐意与您进行详细讨论。 四 、总结 目前,持续集成在汽车软件测试行业已经成为一种必要的实践。许多的汽车公司都建立了专门的持续集成流程,来管理和执行软件的构建、部署、测试和监控等活动。同时,也另有一些新兴的技术和工具,如云计算、微服务架构、 DevOps 实践 等,为持续集成提供了更多的可能性和挑战。 对于VectorCAST来说,它不仅仅在持续集成领域提供了卓越的支持,还可以通过与Docker集成来提供更灵活的测试环境,VectorCAST还支持与多种需求管理服务器(如Polarion、CodeBeamer等)进行集成。同时,VectorCAST还提供了整个测试过程的命令行接口,并支持自定义生成报告等多种功能。 如果您想了解更多有关信息请联系北汇信息,北汇信息作为Vector公司的中国合作伙伴,拥有专业的VectorCAST测试服务团队,可为您提供周全完整的研发、测试解决方案及优质的技术支持服务。
  • 热度 11
    2022-10-24 10:51
    1624 次阅读|
    0 个评论
    Klocwork 专为企业 DevOps 和 DevSecOps 而构建,是首选的静态分析和 SAST 工具,用于保持高开发速度,同时还强制实施安全性和质量的持续合规性。在这里,我们分享了开发人员选择Klocwork的五大原因。 为什么安全性对软件开发至关重要? 安全性对于软件开发至关重要,因为黑客和网络犯罪分子一直在寻找将漏洞转化为利益的方法。强大的软件安全防御的一个关键部分是使用安全编码标准,这些标准是用于防止安全漏洞的规则和准则。 如果使用得当,安全编码标准可以检测、预防和消除可能危及安全性的漏洞。行业标准工具(特别是 SAST 工具)可以有效地实施标准,以帮助确保您的软件免受安全漏洞的侵害。 开发人员使用Klocwork实现安全性的五大原因 虽然开发人员最终选择Klocwork进行安全性的原因有很多,但以下是最常被引用的五个原因。 1. 深度覆盖 Klocwork深度覆盖了C,C++,C#,Java,JavaScript,Python和Kotlin的主要编码标准的规则。这包括安全编码标准和准则: CERT CWE OWASP DISA STIG 通过使用Klocwork来分析他们的代码库,开发人员能够更轻松地找到软件漏洞和错误。 此外, Klocwork还集成了 Secure Code Warrior Integration,使开发人员能够访问安全编码培训和其他软件安全工具。 2. 桌面工具套件优先考虑每个检查点的安全性 Klocwork desktop 是高度可定制的,并具有一套工具,可以在每个开发检查点优先考虑安全性,例如开发人员桌面,提交前测试,合并前测试和合并后报告。 这些工具使开发人员能够: • 在编写代码时发现缺陷。 • 签入整洁的代码。 • 定义 QA 和安全目标以及规则配置。 • 生成安全报告。 • 根据严重性、位置和生命周期确定缺陷的优先级。 • 使用智能排名根据缺陷可能性确定修复的优先级,当与问题严重性相结合时,可提供总体漏洞风险评分。 • 区分新问题和旧代码问题。 3. 差异分析 差异分析是一种“快速反馈”静态分析形式,它使用以前分析版本中的系统上下文数据来仅分析新的和已更改的文件。这种类型的分析为开发人员的新代码和变更代码,提供了最短的分析时间,同时还保持了分析数据的准确性和细节。开发人员不用等待几个小时,而是在几分钟或几秒钟内得到结果,这取决于代码变更程度。 在持续集成自动化中,Klocwork的差分分析为开发人员提供了更快的结果,因此可以更频繁地运行安全检查,例如在每次提交时进行检查。 4. 数据流分析 最难发现的问题是具有挑战性的,因为数据通常在函数之间流动并跨文件边界流动。Klocwork跟踪在方法、文件和模块之间流动的数据,以发现漏洞,例如使用受污染或未初始化的数据。 5. 创建自定义规则 Klocwork Checker Studio是一个GUI应用程序,它使开发团队可以使用其优雅的KAST表达式语言轻松实现自己的自定义编码标准。这使开发人员能够调用他们自己的代码库所独有的危险做法。 准备好使用 Klocwork 实现安全性了吗? 如果您已准备好亲眼看看 Klocwork 如何帮助您有效识别安全漏洞, ➡️ 注册免费Klocwork试用版 邮件至info@polelink.com