持续集成与自动化测试——软件自动化测试入门攻略(10)

发表于:2024-3-22 09:14

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:杨定佳    来源:51Testing软件测试网原创

  15.7  持续集成与自动化测试
  持续集成在敏捷开发团队中非常适用,一方面可尽早地发现集成错误,测试团队成员每天都要将开发的测试代码集成到一起,也就意味着每天可能会发生多次集成,通过持续集成工具可自动化地构建来验证脚本的正确性。另一方面可快速验证被测产品的变更,如果监测到被测产品发生了变更,通过持续集成工具可实现自动触发自动化测试项目的执行,从而快速验证被测产品,发现被测产品的BUG。
  15.7.1  什么是持续集成
  持续集成(Continuous Integration,简称CI)是一种软件开发实践,可以让团队成员持续地收到反馈并改进,不必等到开发周期后期才寻找和修复缺陷。团队开发成员经常需要集成他们的工作,每天至少集成一次。每次集成都可通过自动化构建来验证集成的正确性,包括编译、发布和自动化测试,以尽快检测集成错误。通过这种方法,可以有效地减少集成问题,允许团队更快地开发出高可用的软件。
  持续集成最大的好处是减少了集成错误,降低了产品风险。传统的产品问题大部分来源于手工测试,但这种反馈时间周期长,代码更改后几个小时才能得到反馈,如果是全面测试,可能几天后才会得到反馈,假如在这段时间又有新的代码集成,意味着在错误的代码上开发,这无疑会带来更多问题。使用持续集成(CI)则会加快代码变更的反馈速度,开发人员在几分钟内就可以快速定位和修复问题,除此之外,持续集成还可减少重复过程,将重复的动作变成自动化,减少甚至无须人工干预,让人员投入更多的时间到更有价值的事情上。
  测试行业中,当测试自动化与持续集成结合后,一可保证自动化测试脚本集成的正确性,二可快速测试被测产品,确保被测产品每个构建的质量。对整个产品而言,自动化测试提高了测试效率和准确性,而持续集成则确保了代码的稳定性和可靠性。
  15.7.2  持续集成常用工具
  持续集成已是现代软件开发中非常重要的一环,在软件开发过程中,将代码集成到共享代码库中,并自动进行构建和测试,这样可以确保代码的质量和稳定性,并加快开发周期。使用持续集成工具可以实现持续集成,常用的持续集成工具有Jenkins、Travis CI、CircleCI、GitLab CI/CD、Bamboo等,分别介绍如下:
  ·Jenkins:Jenkins 是一款使用Java语言编写的开源的自动化持续集成工具,支持大量的插件和扩展,可用于构建、测试和部署软件。它提供了简单的安装和更新过程,并且可以通过图形界面轻松配置,且拥有丰富的插件生态系统,并可与多种编程语言、版本控制系统和构建工具集成。
  · Travis CI:Travis CI是一个基于云的持续集成工具,在托管时不必依赖任何平台,主要用于构建和测试GitHub上的开源项目。它提供了简单的配置和集成,支持多种编程语言(如Node、PHP、Python、Java、Perl等)和平台(包括Linux、macOS和Windows)。
  · CircleCI:CircleCI是一种现代化的持续集成和持续交付工具,它支持在Linux、macOS和Windows上构建和测试。
  · GitLab CI/CD:GitLab CI/CD是GitLab自带的内建持续集成和持续交付工具,与GitLab代码托管平台紧密集成。它支持多种构建器和编程语言,并提供了一套强大的CI/CD功能,包括自动构建、测试、部署和容器编排。
  · Bamboo:Bamboo是Atlassian公司的一款持续集成和持续交付工具,与Atlassian公司其他产品(如Jira、Bitbucket等)紧密集成,它他支持多种编程语言和平台,并提供了丰富的构建和部署功能。
  15.7.3  部署测试项目
  Jenkins是目前最流行的持续集成工具之一,本节使用其集成本书实战练习的测试项目。
  进入Jenkins主页,依次创建Leadshop单元测试、Leadshop后台接口测试、Leadshop后台UI测试、Leadshop小程序测试和Leadshop性能测试任务,如图15-41所示。并将本书实战练习的测试项目添加到对应的任务中,然后设置定时任务定期执行。
图15-41  测试任务
  至此,所有测试项目都已集成在Jenkins平台上,测试人员后续只需跟踪测试结果,对失败的内容进行结果确认,上报BUG或优化测试脚本即可。
  15.8  思  考  题
  1. 容器化部署与传统部署相比较,有哪些优点?
  2. 你对Docker是怎么理解的?
  3. 你对Docker中仓库、镜像和容器是怎么理解的?
  4. Docker中操作容器常用的命令有哪些?
  5. 如何使用Jenkins实现自动化测试项目的持续集成?
  6. 什么是持续集成?自动化测试与持续集成结合有什么益处?
  7. 持续监控测试项目有什么益处?
版权声明:51Testing软件测试网获得作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号