精华内容
下载资源
问答
  • 软件测试-持续集成jenkins教程

    千次阅读 2018-08-28 13:42:19
    持续集成就是我们常说的CI,是一种软件开发实践,即团队开发成员经常集成项目,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的编译,发布,自动化回归测试来验证,从而...

    首先,了解持续集成与Jenkins的概念。

    持续集成

    持续集成就是我们常说的CI,是一种软件开发实践,即团队开发成员经常集成项目,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的编译,发布,自动化回归测试来验证,从而尽快地发现集成错误。
    可以说,持续集成是为了持续交付。

    持续集成的核心价值在于:

    1. 持续集成中的每一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间费用和工作量。
    2. 持续集成保障了每个时间点上团队成员提交的代码是能成功集成的,换言之,任何时间点都能第一时间发现软件的集成问题,是任意时间发布可部署的软件成为了可能。
    3. 持续集成能有利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集成的质量能帮助团队进行有效决策,同时建立团队对开发产品的信心。

    Jenkins

    Jenkins时一个软件界非常流行的开源CI服务器,Jenkins时基于Java开发的一种持续集成工具,用于监控持续重复的工作,功能为:

    • 持续的软件版本发布/测试项目
    • 监控外部调用执行的工作

    jenkins的特点:

    1. 易安装,易配置
    2. 基于web访问,用户界面友好,直观
    3. 基于Java开发,不仅限于Java语言的构建
    4. 变更支持,Jenkins能从代码仓库中获取并产生代码更新列表并输出到编译输出信息中。
    5. 测试报告:以图表等形式提供详细的测试报表功能
    6. 插件:支持大量插件扩展了Jenkins的功能。

    工作流程:
    拉取代码 –> 编译版本 –> 测试回归 –> 发布
    Jenkins会定时获取最新的代码,自动运行你的编译脚本,编译成功后,运行测试脚本,这一步成功后,会帮助你把程序发布出去,虽然Jenkins可以帮助你自动的发布,但是最好由人工发布,确认一下为好。

    总而言之,Jenkins的好处是极大的减少了你的重复劳动,并且有效规避掉了项目建设过程中有可能出现的问题。

    Jenkins的安装在此不再赘述,百度一下,你就知道。

    Jenkins的使用

    以一个例子来讲述使用过程。
    (本人也是初次使用,可能会有错误,大家可以指出)

    1.首先,创建一个自由风格的任务。
    这里写图片描述

    2.配置general
    这里写图片描述

    名称不建议为中文,不能重复。
    描述就是对该项目的描述,这里是我的一个项目。
    GitHub project:GitHub使用,里面配置响应的url和需要显示的名称就可以了。
    Throttle builds:节流沟通,通过设置时间段内允许并发的次数来实现构建的控制。
    丢弃旧的构建:设置构建历史的保存策略,可以节省空间,可以按天数或者个数来设置。

    3.源码管理
    这里写图片描述

    源码管理:选择使用svn或git
    这里我使用的是Git,输入项目仓库的url,需要时可能需要配密钥。

    4.构建触发器

    这里写图片描述

    构建触发器:
    定时构建:日程表的参数

    第一个参数:表示分钟minute,取值0~59
    第二个参数:表示小时hour,取值0~23
    第三个参数:表示天day,取值1~31
    第四个参数:表示月,取值1~12
    最后一个参数:表示星期week,取值0~7,0和7都表示星期天

    轮询scm:设置定时检查代码仓库是否有变更,有变更则构建。

    5.构建

    这里写图片描述

    不同的语言选择不同的构建方式:

    execute windows batch command:执行Windows的cmd命令
    execute shell:执行shell命令
    invoke ant:调用ant,调用ant的执行脚本进行构建
    invoke grade script:调用grade脚本,帮助我们自动打包
    invoke top-level maven targets:调用maven

    6.构建后操作
    这里写图片描述

    build other projects:构建其他项目
    e-mail notification:发送邮件

    7.构建
    这里写图片描述

    8.查看构建历史
    这里写图片描述

    总结:
    以上过程大致可以总结为以下几步:

    (准备条件,需要安装findbugs与构建语言对应的插件)
    1. 新建,构建一个自由风格的任务
    2. 源码管理,选择git或者svn
    3. 构建触发器,定时构建或轮询scm,设置触发时间
    4. 构建:选择构建方式
    5. 构建后操作:可选择发布到远程服务器上
    6. 进行构建
    7. 查看构建日志。

    展开全文
  • 持续集成的核心价值在于: 1、持续集成中的任何一个环节都是自动完成的,无需太多的人工干预,有利于...3、持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集 成的质...

    持续集成的核心价值在于:
    1、持续集成(CI)中的任何一个环节都是自动完成的,无需太多的人工干预,有利于减少重复过程以节省时间、 费用和 工作量;
    2、持续集成保障了每个时间点上团队成员提交的代码是能成功集成的。换言之,任何时间点都能第一时间 发现软 件的集成问题,使任意时间发布可部署的软件成为了可能;
    3、持续集成还能利于软件本身的发展趋势,这点在需求不明确或是频繁性变更的情景中尤其重要,持续集成的质量能帮助团队进行有效决策,同时建立团队对开发产品的信心。

    jenkins特点

    jenkins是基于java语言开发的测试工具,但它不仅限于构建基于Java的软件
    基于Web访问,用户界面非常友好、直观和灵活 ;提供测试报表功能;拥有大量的插件。

    jenkins的使用

    典型的工作流:

    1. pull
    2. 编译
    3. 测试
    4. 发布
      在这里插入图片描述
      Jenkins会定时获取最新的代码,自动运行你的编译脚本,编译成功后,再运行你的测试脚本,这一步成功后,接 着它会帮你把新程序发布出去,编译失败就会发出通知

    jenkins应用

    将代码从指定路径拉下来,轮询构建,编译成功后发布到指定服务器上
    jenkins使用流程:

    1. 新建任务–输入任务名称–构建自由风格的项目–确定

    2. 描述–配置丢弃构建(10 30)

    3. 源码管理git–把源码路径粘贴,选择分支

    4. 构建触发器:轮询SCM(与定时构建的区别:轮询会智能一些,代码有变动了才会重新构建)–日程表需要用专门的语法输入,例如H 5 * * *,表示每晚5点开始运行Job

    5. 构建–选择执行shell(windows下选择windows构建)—命令:

    $sudo cd /var/lib/jenkins/workspace(进入jenkins指定目录)
    $sudo python TEST.py(项目文件名)
    $sudo scp /var/lib/jenkins/workspace/TEST.py /home/testwork(在同一台服务器中拷贝文件,scp是跨服务器部署,cp是同一台服务器上部署,这里是模拟在不同的服务器上构建)

    1. 配置完成,保存

    将代码从指定路径拉下来,轮询构建,编译测试成功后发布到指定服务器上

    1. 新建任务–输入任务名称–构建自由风格的项目–确定

    2. 描述–配置丢弃构建(10 30)

    3. 源码管理git–把源码路径粘贴,选择分支

    4. 构建触发器:轮询SCM(与定时构建的区别:轮询会智能一些,代码有变动了才会重新构建)–日程表需要用专门的语法输入,例如H 5 * * *,表示每晚5点开始运行Job

    5. 构建–选择执行shell(windows下选择windows构建)—命令:

    $sudo cd /var/lib/jenkins/workspace(进入jenkins指定工作目录)
    $sudo g++ Test.cpp -o compress(编译c++文件)
    $sudo ./compress(执行编译好的文件)
    $sudo scp -r /var/lib/jenkins/workspace/TEST.py /home/testwork(在同一台服务器中拷贝目录)

    ----增加构建步骤
    :编写测试脚本

    #codig utf-8(指定字符集)
    import os(导入模块)
    file1='/var/lib/jenkins/workspace/Input.txt.huffman'
    file2='/var/lib/jenkins/workspace/Input.txt.unhuffman'
    if os.path.exists(file1) and os.path.exists(file2)
      print 'compress success'
    else
      print 'compress fail'
    
    1. 配置完成,保存

    基于MongoDB的分布式图片文件服务器

    1. 安装maven,Deploy war/ear to a containers插件

    2. 新建任务–输入任务名称–构建自由风格的项目–确定

    3. 描述–配置丢弃构建(10 30)

    4. 源码管理git–把源码路径粘贴,选择分支

    5. 构建触发器:轮询SCM(与定时构建的区别:轮询会智能一些,代码有变动了才会重新构建)–日程表需要用专门的语法输入,例如H 5 * * *,表示每晚5点开始运行Job

    6. 构建–选择Execute SonarQube Scanner—命令:

    sonar.projectKey=javaSonar 
    sonar.projectName=JAVAfile sonar.projectVersion=1.0 
    sonar.language=java 
    sonar.sources=/var/lib/jenkins/workspace/javaproject1 
    sonar.sourceEncoding=UTF-8
    

    -----增加构建步骤,选择maven目标,配置maven版本:maven;目标:clean compile findbugs:findbugs install -e ;属性:maven.test.skip=true
    —增加构建后操作:配置AR/EAR files: target/javatest.war(相对于项目我们的路径);add container::增加容器,一般选tomcat 8X就可以;add:添加tomcat的用户名(tomcat)和密码(tomcat)

    这里的username与password需要到tomcat的conf文件夹 中的tomcat-users.xml修改

    <role rolename="tomcat"/> 
    <role rolename="role1"/> 
    <role rolename="manager-gui"/> 
    <role rolename="manager-script"/>
     <role rolename="manager-status"/> 
     <user username="tomcat" password="tomcat" roles="tomcat"/>
      <user username="both" password="tomcat" roles="tomcat,role1"/> 
      <user username="role1" password="tomcat" roles="role1"/>
       <user username="tomcat" password="tomcat" roles="manager-gui,manager-script,manager-status"/
    
    1. 保存
    2. 进行构建
    3. 查看日志

    视图管理

    新建视图–输入视图名称–列表视图–选择要看的视图

    用户管理

    系统管理–管理用户—新建用户—分配权限

    展开全文
  • 接口测试持续集成

    千次阅读 2018-08-21 14:57:42
    part 1 持续集成的技术思路 一、持续集成前提与解决的问题 GAP2 – 开发团队快速迭代实现业务需求 – 运营最关心的是“稳定压倒一切”,变更频繁,对系统稳定严重影响 – 通过何种方式保证既能快速响应业务...

    part 1 持续集成的技术思路

    一、持续集成前提与解决的问题
    这里写图片描述
    GAP2
    – 开发团队快速迭代实现业务需求
    – 运营最关心的是“稳定压倒一切”,变更频繁,对系统稳定严重影响
    – 通过何种方式保证既能快速响应业务需求,又能保证系统稳定

    二、持续集成实施方案
    这里写图片描述

    三、持续集成实施的困难点

    管理方面:
    •理念能达成共识
    •主管领导定位

    技术方面:
    •版本管理选型
    •持续集成选型
    •编译方案选型
    •程序缺陷选型
    •自动化测试选型
    •自动化运维工具选型
    •生产运维技能储备

    part 2 Jenkins的工作原理

    一、Jenkins介绍

    Jenkins是什么
    •是一个可扩展的持续集成引擎
    •Jenkins是一个开源软件项目,旨在提供一个开放易用的软件平台,使软件的持续集成变成可能。
    •Jenkins是基于Java开发的一种持续集成工具,用于监控持续重复的工作

    Jenkins的功能
    •持续、自动地构建/测试软件项目。
    •监控一些定时执行的任务。

    Jenkins的特性
    •易于安装-只要把jenkins.war部署到servlet容器,不需要数据库支持。
    •易于配置-所有配置都是通过其提供的web界面实现。
    •集成RSS/E-mail通过RSS发布构建结果或当构建完成时通过e-mail通知。
    •生成JUnit/TestNG测试报告。
    •分布式构建支持Jenkins能够让多台计算机一起构建/测试。
    •文件识别:Jenkins能够跟踪哪次构建生成哪些jar,哪次构建使用哪个版本的jar等。
    •插件支持:支持扩展插件,你可以开发适合自己团队使用的工具。

    part 3 Jenkins的安装及部署

    Jenkins插件安装
    •在”系统管理->插件管理”下可以看到Jenkins缺省安装了CVS,Subversion,Maven和SSH,这些主要是版本控制的软件的相应插件,要使用email、git、自动构建等功能必须手动安装需要插件
    •打开jenkins 进入系统管理-插件管理-选择插件安装,安装之后重新启动就可以看到新的插件已经生效
    这里写图片描述

    Jenkins常用插件
    •如果我们使用的是GitHub进行版本控制,所以要在可选插件中选择安装Git plugin和GitHub plugin插件,
    •“Extended Choice Parameter plugin”,“EnvInject Plugin”,“Build User Vars Plugin”,“Build Name Setter Plugin”,“HTML Publisher Plugin”,“Email Extension Plugin”和“Email-ext plugin”。

    part 4 Jenkins运行环境配置

    这里写图片描述
    这里写图片描述
    Ant是一种基于Java和XML的build工具
    这里写图片描述
    这里写图片描述

    展开全文
  • 软件测试_单元测试和集成测试

    千次阅读 2019-11-25 19:39:27
    title: 软件测试_单元测试和集成测试 date: 2019-11-25 15:58:23 categories: 软件测试 tags: 单元测试和集成测试 什么是单元测试 单元测试就是对已实现的软件最小单元进行测试,以保证构成软件的各个单元的质量...

    title: 软件测试_单元测试和集成测试
    date: 2019-11-25 15:58:23
    categories:

    • 软件测试
      tags:

    单元测试和集成测试

    什么是单元测试

    • 单元测试就是对已实现的软件最小单元进行测试,以保证构成软件的各个单元的质量。

    单元测试的目的

    1. 单元实现其特定功能
    2. 单元的运行能够覆盖预先设定的各种逻辑
    3. 在单元工作过程中,其内部数据能够保持完整性。
    4. 可接收正确数据,也能处理非法数据
    5. 该单元的算法的合理性
    6. 单元代码经过扫描,无安全性问题

    单元测试的方法

    黑盒测试

    • 是把程序看做一个不能打开的盒子,不考虑内部架构和内部特性,而是考察数据的输入、条件的限制、数据的输出,完成测试

    白盒测试

    • 是根据模块内部结构了解,基于内部逻辑结构,针对程序语句、路径、变量状态等进行测试。

    • 代码评审也是一种白盒测试方法,属于静态测试,包括相互评审、走查、评审会议等。

    白盒测试关注代码,容易忽略单元的实际结果是否满足用户需求

    驱动程序和桩程序

    什么是驱动程序

    • 对底层或子层模块进行测试时所编制的调用被测模块的程序,用来模拟被测模块的上级模块

    什么是桩程序

    • 存根程序,对顶层或上层模块进行测试时,所编制的替代下层模块的程序,用来模拟被测模块工作时调用的模块。

    白盒测试的用例设计

    分支覆盖

    • 设计若干用例,使得运行被测程序时,所有的分支至少调用一次

    语句覆盖

    • 使得程序中的每一条语句至少被执行一次

    条件覆盖

    • 程序中的每一个条件至少有一次是满足的
      • 条件覆盖不一定会分支覆盖

    基本路径覆盖

    • 设计所有的测试用例,来覆盖程序中所有可能的执行路径
    • 具体步骤
      • 程序的流程图
      • 计算程序环境复杂性
        • 独立路径条数 V(G) = 区域数目,区域是由边界和节点包围起来的形状构成
        • 独立路径条数 V(G) = 边界数目 - 节点数目 + 2
        • 独立路径条数 V(G) = 判断节点 数目 + 1
      • 确定基本路径
      • 准备测试用例
      • 图形矩阵

    代码审查

    • 包括走查、互查、会议评审等形式

    • 审查内容

      • 业务逻辑
      • 算法效率
      • 代码风格、命名规则等
      • 编程规则

    代码审查的好处

    • 互相学习程序设计思想、方法、技巧

    • 及时发现代码问题

    • 使更多人明白代码意思

    代码规范性审查

    1. 命令规则
    2. 缩进与对齐
    3. 空行和空格
    4. 注释
    5. 函数处理

    集成测试的模式

    集成模式是软件集成测试中的策略体现,直接关系到开发和测试的效率。

    • 非渐进式测试模式: 先分别测试每个模块,再把所有模块按设计要求放一起结合测试
    • 渐进式测试: 把下一个要测试的模块同已经测试好的模块结合起来测试,测试完以后把下一个应该测试的模块结合起来进行测试

    自定向下测试

    • 从主模块开始,沿着软件的控制层向下移动,从而逐渐把各个模块结合起来。
    • 需要桩程序

    自底向上测试

    • 从底层模块开始,向上推进,不断进行集成测试的方法
    • 需要驱动程序

    混合策略

    自顶向下集成和自底向上集成两种方法有机地结合,采用混合策略来完成系统的集成测试。

    持续集成测试

    • 持续构建、集成、测试
    • 包括自动构建、自动部署、自动生成报告
    展开全文
  • 广州软件测试俱乐部“持续集成”主题研讨会圆满结束!http://www.automationqa.com/uchome/space.php?uid=57&do=blog&id=726
  • 软件持续集成思考

    千次阅读 2015-11-25 23:15:05
    持续集成的利弊分析写web的用这个的频率应该比较高, 对于从事嵌入式应用软件开发来说,系统集成的问题主要是出在软件测试上,即使可以生成固件也无法自动测试。非常麻烦。项目经理–负责催促项目的研发进度 研发的...
  • 单元测试持续集成

    2013-10-17 16:52:54
    3) 软件测试人员 4) EPG、QA等等 二、授课老师 由业界知名人士亲自授课: 冯老师:培训中心高级讲师,研究领域:CMMI、软件项目管理、软件质量管理等。 1、服务过多家大型软件企业。凭借外资、
  • 软件测试集成测试和系统测试

    千次阅读 2017-01-10 14:41:56
    1.1 软件集成测试前的准备 ◇人员安排 ◇测试计划 ◇测试内容 ◇集成模式 ◇测试方法 1.2 集成测试的模式 渐增式测试模式与非渐增式测试模式  非渐增式测试模式:先分别测试每个模块,再把所有模块按...
  • Travis CI是在软件开发领域中的一个在线的,分布式的持续集成服务,用来构建及测试在GitHub托管的代码。这个软件的代码同时也是开源的,可以在GitHub上下载到,尽管开发者当前并不推荐在闭源项目中单独使用它。它...
  • 基于jenkins持续集成测试的意义

    千次阅读 2013-01-27 23:15:32
    测试持续集成流程中重要的一环,也是区别去传统的软件开发流程中的一个重要的标志。为什么要有持续集成测试呢? 1 可以早点发现bug,这就是fix bug代价比较小  可以平滑产品的发布  可以提高产品的质量 2 ...
  • C/C++软件产品持续集成与维护 初探

    千次阅读 2014-07-16 11:11:55
    持续集成 维护
  • 周日 将在 广州软件测试俱乐部 举行一次小规模的持续集成、自动化测试、敏捷测试的研讨会!高手云集!
  • jenkins持续集成接口自动化测试

    千次阅读 2019-08-16 10:29:57
    jenkins持续集成接口自动化测试整体CI思路在linux服务器上搭建jenkins准备工作安装java环境安装git环境安装maven环境安装tomcat最后一步,安装jenkins创建一个自动化测试的任务添加构建脚本 在上一篇文章中已经安装...
  • 随着软件产品新特性的不断增加,软件自动化测试用例的数量也会成倍增长。对于一些历史“悠久”的遗留系统来说,甚至会积累数以万计的自动化测试用例。如果对这样的系统进行持续集成,还要求每个开发人员都要进行本地...
  • 基于jenkins的持续集成测试

    千次阅读 2011-06-25 18:35:00
    测试持续集成流程中重要的一环,也是区别去传统的软件开发流程中的一个重要的标志。为什么要有持续集成测试呢?1 可以早点发现bug,这就是fix bug代价比较小 可以平滑产品的发布 可以提高产品的质量2 可以让team...
  • 持续集成、持续交付、持续部署

    千次阅读 2019-08-19 17:19:23
    持续集成持续集成持续集成好处持续集成流程使用 GitLab 持续集成Gitlab Runner持续交付持续交付概念持续部署持续部署 持续集成 持续集成好处 持续集成指的是, 频繁的将代码集成到主干。 好处: 1. 快速发现错误 。...
  • 【DevOps】持续集成

    千次阅读 热门讨论 2020-07-07 13:33:35
    文章目录什么是集成什么是持续集成持续集成的六个步骤:1. 提交2. 测试(第一轮)3. 构建4. 测试(第二轮测试)5. 部署持续集成的组成要素持续集成有什么好处总结 大家好,我是高胜寒,一个在教培行业不忘初心的人...
  • 背景在很多Github开源项目页面的readme中,经常看到类似的图标...持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集
  • 敏捷软件开发从提出到现在有16年了,经过16年的考验和沉淀,有些实践也许已经不再使用,或者仍然存在争议,而持续集成这个实践愈发显示出其突出的位置,可以预见其将成为新一代软件工程的标准配置。持续集成最典型...
  • 测试入门序列】持续集成与Jenkins

    千次阅读 2016-05-13 15:45:37
    持续集成,听上去高大上,实际实践很简单:无非就是搞一个独立的应用,负责定时拉源码,然后执行一些重复性工作,如编译打包、执行测试脚本等。执行结果会邮件给相关人员,并且提供了 WEB 界面查看执行日志。
  • 软件测试—十三章集成测试

    千次阅读 2020-06-23 11:36:15
    集成测试是为了在集成测试模块/组件,以验证它们是否按预期工作,即测试单独工作的模块在集成时没有问题。 在使用黑盒测试技术测试大型应用程序时,涉及多个彼此紧密耦合的模块的组合。我们可以应用集成测试技术...
  • 持续集成实践之自动化测试

    千次阅读 2019-05-08 15:06:36
    软件测试 软件测试大概这么分类: 黑盒测试 VS 白盒测试,以及介于黑盒白盒之间的灰盒测试 按测试粒度可分为: unit test, functional test, integration test, system test, acceptance test 等 按测试目的可分为...
  • 持续集成倡导开发团队频繁地进行系统集成——通常一天一次到数次,每次集成都能被自动编译和测试验证,从而能在最短的时间内发现问题,缩短开发周期,提高软件质量。 笔者面对的是具有十多年开发维护历史,的5...
  • 单元测试集成测试

    万次阅读 多人点赞 2019-09-17 08:25:00
    按测试策略和过程,软件测试分为单元测试、集成测试、确认测试和系统测试。 按软件系统工程,测试是软件质量保证的最后的一关。 高质量的程序取决于以下几个方面: 高质量的设计 规范的编码 有效的测试 开发部...
  • 持续集成是一种软件开发的实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽快...
  • 就是保持不间断的将软件开发中事情集中到一个地方进行管理和处理,包括代码库的维护、测试环境的搭建、测试脚本的运行、测试结果报告的发送等。 通过集成工具(例如Jenkins)把这些工具集中到一起按照一定步
  • Jenkins 持续集成自动化测试配置

    千次阅读 2017-09-28 13:16:18
    Jenkins+Java+Ant+Selenium+JUnit4进行持续集成自动化测试的部署: 环境要求: (1)Jenkins 官网下载jenkins.war包。https://jenkins.io/ 运行jenkins.war,即可访问http://localhost:8080/访问Jenkins。...
  • jenkins+ant实现Jmeter脚本持续集成测试,并且自动生成测试报告,构建项目相关参数配置

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 87,135
精华内容 34,854
关键字:

软件测试持续集成