目录
6.4 持续集成测试
6.4.1 持续集成的概念
6.4.2 持续集成测试框架设计
6.4 持续集成测试
持续集成(Continuous Integration,CI)是软件开发DevOps(Development+Operations)中的一个概念,它强调的是软件开发和IT运维人员之间协作软件交付方式,以协作测试、打包和部署软件为核心,目的是增强软件版本的发布规律和可靠性。
6.4.1 持续集成的概念
CI是在源代码变更后自动检测、拉取、构建以及进行单元测试的过程。 持续集成的目标是快速确保开发人员新提交的代码是合格的,并且适合在代码库中进一步使用。
开发人员常使用持续集成工具来构建和集成。代码集成且所有单元测试都通过,表明已成功集成在一起,并且代码可以进行后续测试。
6.4.2 持续集成测试框架设计
作为测试人员,掌握持续集成方法,有利于提高软件测试效率、提高生产效益,同时也可以衡量测试人员水平。在掌握持续集成的基本概念后,设计出当前项目的持续集成框架显得尤其重要。
1. 传统持续集成框架设计
开发人员通常使用名为CI Server的工具来构建和集成开发的项目。CI要求测试人员具备持续集成测试的能力,在掌握持续集成环境中使用的工具的同时要与项目开发人员进行沟通合作,以确保开发中的代码按预期工作。
上图是使用持续集成测试搭建的自动化测试框架流程图。在启动测试之前,测试所需要的数据、测试用例、测试框架已经搭建完毕,并且项目通过编译。若测试项目使用服务器和数据库,这些资源也需要配备完成。
如果把集成工具比作管家,测试人员就是主人,只需要吩咐管家去完成主人安排的任务即可。测试框架搭建完成之后,就可以执行测试。此时集成工具下载当前版本的项目启动测试,在搭建好的自动化测试框架中自动执行测试用例,并自动调用准备好的测试数据。
2. 持续集成容器化框架设计
基于容器的持续集成平台在环境搭建上耗时少于传统的持续集成系统搭建,可以在秒级内启动一个镜像生成一个持续集成环境。容器占用资源少并且保证了开发环境和测试环境的统一,降低了测试重复率,极大地提高了测试效率。
使用Docker容器搭建的持续集成容器框架设计:
开发人员将代码提交到版本控制系统之后,触发Jenkins容器(Docker)自动部署开发人员提交的版本并进行单元测试、集成测试、构建JAR包等任务。测试通过后测试人员可以获取当前项目,创建容器进行本地化测试,测试完成后将项目提交到远程容器仓库进行管理,开始上线部署并触发集成同步到镜像库后通知测试人员或者开发人员停止容器的创建(图中虚线箭头部分)。
使用容器技术进行测试方便应用的部署以及不同场景下的测试,即一次构建随处运行。此外,容器技术在提高测试效率的同时降低了企业项目花费的成本、加快了开发速度。