您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
软件测试之持续集成
 
作者:chu.qingqing[ZSK]
  5190  次浏览      17
 2020-12-10 
 
编辑推荐:
本文章向大家介绍软件测试之持续集成,主要包括软件测试之持续集成使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值。
本文来自于博客园,由火龙果软件Anna编辑、推荐。

软件测试历史模式

说到软件测试,自然就会联想到持续集成。测试工作繁琐,如果测试人员仍然坚持按照旧的模式,开发人员提交代码至svn》测试人员检出源码》编译打包》上传服务器》部署启动,十分耗时,且过程中都需要测试人员进行操作,易造成人力资源的浪费。

软件测试集成工具jenkins

针对这种情况,持续集成工具jenkins被引入到测试工作中,协助测试人员进行“自动化部署、启动”。

Jenkins,基于Java开发的一种持续集成工具,用于监控持续重复的工作,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。

当开发人员完成一个阶段性的研发工作或修复完一个周期的bug后,所有代码均已提交到svn,测试人员只需要登入jenkins,对已创建好的工程(工程如何创建会在下面进行描述)进行构建,jenkins会自动将svn最新代码进行检出、编译并打包,部署到远程服务器启动,测试人员不需要进行任何其他操作,jenkins构建全程有日志,当构建成功后,测试人员看到的就是最新的应用程序。

搭建上述持续集成环境可以把整个构建、部署过程自动化,很大程度上减轻测试人员工作量。

Jenkins的安装教程网上可以搜索到,此处不再进行赘述。今天主要是结合具体项目来讲解,如何通过jenkins实现其自动化部署及启动。

Jenkins基础环境配置

1)基础插件配置:登录jenkins,jenkins【系统管理】》【插件管理】,安装Maven Integration plugin、Deploy to container Plugin

2)基础参数配置:jenkins【系统管理】》【全局工具配置】,配置好jenkins所在服务器的maven和jdk路径

3)修改maven全局配置:jenkins【系统管理】》【系统设置】,修改Maven项目配置

全局MAVEN_OPTS:-Xms128m -Xmx512m
Local Maven Repository :Local to the executor

全局MAVEN_OPTS:-Xms128m -Xmx512mLocal Maven Repository :Local to the executor

Jenkins构建项目

1) 新建项目:构建一个自由风格的软件项目

2) 配置源码路径并添加权限用户,源码路径及依赖包需要按照次序进行添加

Local module directory:这是让你自己设置代码存储到本地工作区的自定义目录

如果为“.”,则码直接放在当前工作区目录下;

如果自定义目录,则会在工作区创建这个目录结构,然后代码存储到这个目录下

3) 添加构建脚本

export JAVA_HOME=/home/qingqing/jdk8
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
cd $WORKSPACE
cd bdp-parent
MAVEN_BIN=/home/qingqing/maven3/bin
$MAVEN_BIN/mvn clean install -Dmaven.test.skip=true
cd ../bdp-transfer
$MAVEN_BIN/mvn clean install -Dmaven.test.skip=true
$WORKSPACE: Job的工作空间路径,这里就是/home/qingqing/.jenkins/workspace/bdp-console

4) 先保存应用,到此构建该项目,代码没有问题的前提下,能够编译成功并打成war包,到这里只能算是自动化打包,那么自动化部署和启动,还需要在打包完成后进行操作

Jenkins配置SSH

1) 保存完毕后,进入【系统管理】》【系统设置】,定位到Publish over SSH

Passphrase:全局的ssh密码
SSH Servers : 远程服务器信息设置区
Name:当前SSH Server的名称(随意取)
Hostname:远程服务器ip地址
Username:远程服务器的用户名
Remote Directory :连接远程服务器路径(绝对路径),也是在此路径下执行shell命令,默认为/home/admin(根据每台服务器用户名而改变)。

Passphrase:全局的ssh密码 SSH Servers : 远程服务器信息设置区 Name:当前SSH Server的名称(随意取) Hostname:远程服务器ip地址 Username:远程服务器的用户名 Remote Directory :连接远程服务器路径(绝对路径),也是在此路径下执行shell命令,默认为/home/admin(根据每台服务器用户名而改变)。

点击“高级”,勾选“Use password authentication, or use a different key”,在“Passphrase / Password”中输入远程服务器用户名的密码,比如该处输入用户名为“usieip”的密码。使用“Test Configuration”进行校验该配置是否通过,如下图:

Jenkins通过shell脚本远程启动工程

1) 此时再次进入初始构建的项目,bdp-console中,找到“构建后操作”,点击“增加构建后操作步骤”,选择“Send build artifacts over SSH”

说明:此操作的目的,主要是将jenkins服务器上面打好的war包上传到远程服务器,并执行远程服务器的脚本(脚本中会进行停止在运行进程、换包、替换配置文件、重启工程)

(1)Source files:这是一个相对路径,相对于该job的工作区的路径(存放源码的路径);(2)Remove prefix :移除Source files中的前缀;
(2)Remote directory:远程服务器的目标位置,相对路径,相对于在“系统设置”中的“Publish over SSH”里的“SSH Server”设置里的“Remote Directory”的路径。
(3)Exec command:此处写在远程服务器上执行的shell脚本

Start.sh脚本内容:

#tomcat路径
TOMCAT_HOME=/home/usieip/bdp-console-8081

#查看进程并杀掉进程
ID=`ps -ef | grep "$TOMCAT_HOME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'`
echo $ID
for id in $ID
do
kill -9 $id
echo "killed $id"
done

#删除旧的war包等
cd $TOMCAT_HOME/webapps
rm -rf bdp*

#拷贝新war包到Tomcat下
cd ../../war/
cp bdp-transfer-console-3.0.0.war $TOMCAT_HOME/webapps
mkdir bdp-transfer-console-3.0.0
cp bdp-transfer-console-3.0.0.war bdp-transfer-console-3.0.0/
cd bdp-transfer-console-3.0.0/
unzip bdp-transfer-console-3.0.0.war
cp /home/usieip/web_config/bdp.yml WEB-INF/classes/

#启动tomcat
"$TOMCAT_HOME"/bin/startup.sh

Worker.sh脚本内容:

#tomcat路径
TOMCAT1_HOME=/home/usieip/bdp-worker-8020
?
#查看进程并杀掉进程
ID=`ps -ef | grep "$TOMCAT1_HOME" | grep -v "$0" | grep -v "grep" | awk '{print $2}'`
echo $ID
for id in $ID
do
kill -9 $id
echo "killed $id"
done

#删除旧的war包等
cd $TOMCAT1_HOME/webapps
rm -rf bdp*

#拷贝新war包到Tomcat下
cd ../../war/
cp bdp-transfer-worker-3.0.0.war $TOMCAT1_HOME/webapps
cd $TOMCAT1_HOME/webapps
mkdir bdp-transfer-worker-3.0.0
cp bdp-transfer-worker-3.0.0.war bdp-transfer-worker-3.0.0/
cd bdp-transfer-worker-3.0.0
unzip bdp-transfer-worker-3.0.0.war
cp /home/usieip/worker_config/bdp.yml WEB-INF/classes/

#启动tomcat
"$TOMCAT1_HOME"/bin/startup.sh

至此,一个基本的自动化部署工程已经创建完毕。jenkins中,直接对该工程进行构建,将对此工程进行编译,打包、部署、启动,浏览器直接输入访问地址就可以进行访问,如果构建失败,则需要查看构建日志,查看报错,解决问题,最终迎来自动化的“春天”~(当然,如果您在使用jenkins构建过程中有任何疑问,也可以联系我)

 
   
5190 次浏览       17
相关文章

微服务测试之单元测试
一篇图文带你了解白盒测试用例设计方法
全面的质量保障体系之回归测试策略
人工智能自动化测试探索
相关文档

自动化接口测试实践之路
jenkins持续集成测试
性能测试诊断分析与优化
性能测试实例
相关课程

持续集成测试最佳实践
自动化测试体系建设与最佳实践
测试架构的构建与应用实践
DevOps时代的测试技术与最佳实践
最新课程计划
信息架构建模(基于UML+EA)3-21[北京]
软件架构设计师 3-21[北京]
图数据库与知识图谱 3-25[北京]
业务架构设计 4-11[北京]
SysML和EA系统设计与建模 4-22[北京]
DoDAF规范、模型与实例 5-23[北京]
 
最新文章
大数据平台测试
微服务架构下的测试之道
从零开始掌握微服务软件测试
如何进行测试需求分析:从接收需求到用例设计
python_selenium自动化测试框架
最新课程
测试需求分析与测试用例设计
性能测试方法与技术
自动化测试框架设计高级实践
接口自动化测试方法与工具
软件测试方法与实践(贯穿案例)
更多...   
成功案例
某支付企业 单元测试与重构培训
北京 用户体验、可用性测试与评估
某军工研究单位 自动化测试方法、案例与工具
知名消费金融公司 探索性测试与测试分析
北京 航天科工某子公司 软件测试架构师
更多...