软件测试——版本管理工具:SVN和Git

SVN

  • SVN是开放源代码的版本控制系统
  • 集中式的含义是指:所有的文件都在仓库中,而他的仓库是在服务器上的,一旦服务器出现问题,就无法更新或者获取S VN中的信息,集中式的版本管理工具在本地备份的只是数据,没有层级结构。SVN就是集中式的工具
  • 分布式的含义是指:并不是所有的文件都在服务器中,例如git就是分布式的版本管理工具;分布式服务器会在每个客户端都有详细的,完整的备份(备份不仅仅是文件或代码,还有结构)

SVN的安装和介绍

  • SVN是一款集中式的项目版本管理工具
  • 备注:集中式是和分布式相对应的,
  • 它主要用来管理代码,其他内容也可以进行管理,例如测试用例
  • 工作流程:
    在这里插入图片描述

SVN的安装

  • SVN的安装分为SVN服务器和SVN客户端的安装
  • SVN服务器一般由测试经理搭建并进行维护;测试人员一般安装的都是SVN客户端
  • linux安装:命令 yum install subversion
  • windows安装:去SVN官网下载SVN,双击运行安装
  • SVN安装好后,右击鼠标,出现如下图框选的标签就表示安装完成
    在这里插入图片描述
    在这里插入图片描述
  • 首次下载SVN服务器中的谁,我们先用checkout
  • 如果已经checkout了,那么我们就要使用update来下载服务器中的数据
  • 如果想提交信息到服务器,使用commit来进行提交

操作

  • checkout时,在目标文件中,右击鼠标,选择“SVN Checckout”即可,选择之后会出现以下弹框
    在这里插入图片描述
  • 上图中的“URL of reposstory”指的是:SVN的url,语法是以SVN开头,代表SVN协议,://表示分割符,后面跟ip地址和端口号,在跟仓库的路径信息(如果有的话)
  • “Checkout directory”指的是:仓库中文件要在本地放置的路径
  • checkout之后,目标文件中会多出一个.svn的文件,这个文件的出现,就代表着目标文件夹已经变成了一个本地SVN放置文件的客户端,可以使用SVN相关的功能了
  • 后续再去仓库中更新文件,直接右击鼠标,然后选择“SVN update”即可
  • 往SVN中传输文件的时候,要右击鼠标,选择“SVN commit”,会出现以下的弹框,需要在Message中输入提交信息,说明提交的文件是什么;然后勾选提交文件,点击ok即可
    在这里插入图片描述
  • 提交成功之后,目标文件中被怒提交程序的左下角会多一个绿色的对号

冲突

  • 一般情况下,先update,再commit,会避免冲突的产生
  • 冲突产生的原因:A,B为SVN的两个客户端;A客户修改了SVN仓库中的file1文件,并不提交成功;B客户是在A提交文件之前update的代码,在A提交之后,修改相同文件中的同行代码提交,这样的操作就会造成冲突
  • 解决冲突的方式:直接update之后,目标文件中会产生多个文件,将你的,原仓库的,同事提交的信息全部提供,请找测试经理决定使用哪个文件
  • 需要先还原仓库文件,右击鼠标,选择Revert,或者Update to revision进行还原
  • 使用Update to revision方式,会出现下图的弹框
    在这里插入图片描述
  • 点击上图中的show log,选择历史版本文件夹即可。但是在冲突没有解决的情况下,这种方式是无法还原成功的
  • Revert方式比较容易造成数据的丢失,他是直接还原之前的版本。直接右击鼠标,选择Revert,勾选出现的弹框中,最初版本的文件,点击ok即可,但这种方式会丢失自己修改后的文件

Git

  • git是世界上最先进的分布式版本控制系统

  • git是分布式版本控制系统,与SVN集中式不一样,就算Git的代码仓库服务器崩溃了,也不影响本地开发

  • Git的具体工作流程如下:
    在这里插入图片描述

  • 分布式:服务器的数据分布到各个客户端,Git分布署:GitHub代码仓库不仅仅本地有,还分布到Git的各个客户端中

  • 使用Git的核心步骤

    • 1.先add代码到Git缓存
    • 2.然后commit到Git的本地仓库
    • 3.最后Push到远程GitHub代码仓库
  • git简单的工作原理如下:
    在这里插入图片描述

Git的安装和配置

  • windows系统,直接到官网下载git,双击进行安装
  • 网址:https://git-scm.com/downloads
  • 打开后如图,选择版本,跳转页面之后,下载双击根据安装向导安装即可
    在这里插入图片描述
  • linux系统,yum -y install git
  • 检验git的安装 打开cmd窗口,输入git --version,查看git的版本号
  • 也可以右击鼠标,桌面会出现git GUI hereGit Bash Here的标识
  • git配置的签名:每次使用git的时候,表明时谁修改的git的名称或者邮箱,让系统/同事可以识别是谁修改的代码或者文件
    • 配置邮箱:git config --global user.email XXX@163.com
    • 配置用户名:git config --global user.name yiyi (自定义设置名字)

git的命令行用法

  • git命令可以通过pycharm使用,也可以通过命令行使用
    -1) 使用git初始化本地仓库:
    • 打开git的命令行窗口,方式为右击鼠标,选择Git Bash Here即可
    • 新建一个文件夹,然后在文件夹所在的目录中输入git命令,初始化本地仓库,命令为git init
    • 将本地仓库初始化之后,会出现一个.git的本地文件,这个文件是git的本地文件,不可删除
  • 2)Add将文件的索引,添加到缓存区域
    • 命令:git add 文件名
    • 操作步骤:
      • 在本地git仓库(即初始化之后的文件夹)中新建一个py文件;
      • 在当前目录中打开cmd,输入git add 文件名
      • 查看有没有将add的文件添加至缓存区,使用的命令为:git status,如果出现new file 文件名的标志,说明文件已经添加到缓存中
  • 3)commit提交代码到本地仓库
    • 命令:git commit -m 提交文件的注释信息
    • 如果提交成功,会返回XX file change的提示信息
    • 使用git status查看时,没有任何文件显示
  • git addgit commit都是本地操作,没有提交到远程仓库中
  • 4)pull和push代码
    • pull 拉取远程仓库的代码到本地
    • push 推送本地的代码到远程仓库
    • git和远程仓库进行交互时,需要先关联仓库到远程仓库,因为git内部有远程仓库的配置文件,因此我们只需要根据git的远程仓库的配置,配置远程仓库的URL后,就可以完成关联
    • 关联仓库的命令:git remote add origin 仓库的链接地址
      • 解析:git 使用的工具;remote:与远程仓库建立连接的配置;add:添加远程仓库;origin:远程仓库的别名
    • 查看仓库是否关联:git remote,如果
    • 由于远程仓库新增了readme文件,这些本地没有,所以先使用pull
    • 命令为:git pull origin master --allow- unrelated- histories,执行之后会存在下载进度条
    • 这个时候就可以push到远程仓库了,命令:git push -u origin master,执行之后也会出现上传进度条
    • 首次提交会弹出输入git账号和密码的弹框,按照要求输入账号和密码即可

git 代码冲突

  • 代码冲突的原因时不同版本的操作,修改了同一个文件夹
  • 如果出现了无法由程序调和的冲突,一般都是先人工解决
  • 平常都是先pull,再push,来避免冲突
  • 1)产生冲突到解决冲突的过程:
    • 第一步:在远程中修改文件
    • 第二部:在本地仓库修改远程仓库中同样的文件
    • 第三部:提交本地仓库的文件到远程仓库,产生冲突
    • 第四部:合并代码,解决冲突
  • 2)解决冲突的方式:
    • 命令: git pull origin,执行之后出现下载进度条
    • 打开目标git仓库,仓库中冲突的文件会发生变更,会将远程仓库中冲突的代码追加到修改的文件中
    • 将修改文件中的代码修改后,重新执行add,commit和push的命令

持续集成和持续交付

定义

  • 持续集成:指把团队的成果周期性的集成到一起
  • 持续交付:指通过自动化技术,自动对提交的产品进行测试和发布的过程

目的

  • 持续集成
    • 每天集成代码到平台
    • 自动化运行单元测试,检查到吗质量
    • 打包,并反馈结果
  • 持续集成可以让开发更快速打包部署检查自己的代码质量
  • 持续交付
    • 自动部署测试环境
    • 自动执行自动化代码
    • 自动发布

持续集成和持续交付实施模型分析

  • 持续集成
    在这里插入图片描述
  • 持续交付
    在这里插入图片描述
  • 持续交付的目的是为了加速环境的搭建,自动化测试,发布的流程,还用来保证一个稳定的产品版本能够随时发布
  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值