zoukankan      html  css  js  c++  java
  • JUnit之持续集成(CI,Continuous Integration)

    序,测试驱动开发告诉我们,要尽早测试,经常测试。如果我们进行一点小改动时,都把所有的单元测试、集成测试和功能测试执行一遍,这就会非常浪费时间。为了避免这一点,在开发期间我们只执行单元测试,那么集成测试怎么办呢?什么时间执行呢?

    一、集成测试与单元测试的关系

    二、黑盒测试与白盒测试

    这是关于软件测试的另外一种分类方式。

    1 黑盒测试

    定义:一个黑盒测试不用关心系统内部的状态与行为,测试仅仅依赖于系统内部外部接口来验证它的正确性。

    举例:按钮与LED灯。

    我们知道提供正确的输入,会得到正确的输出。

    好处:客户或者QA工程师可以介入。

    2 白盒测试

    定义:使用实现的具体知识来创建测试并驱动测试进程。我们不仅需要了解一个组件的实现,并且需要了解它是如何与其他组件交互的。

    正由于以上这些原因,实现者本人就是创建白盒测试的最佳人选。

    三、持续集成测试

    1 定义

    持续集成是一种软件开发实践方法,即开发团队的成员频繁地集成他们各自开发的模块。通常每位成员每天至少集成一次,也可能一天集成多次。每次集成都通过一次自动构建(包括测试)来验证,以便尽快建成出集成错误。许多开发团队发现,采用这个方法可以使集成问题显著地减少,同时也可以使团队软件开发更加高效。

    2 持续集成工具需要具备如下基本步骤

    (1)从源码控制系统检查项目

    (2)构建每一个模块并执行所有的单元测试,来验证不同的模块可以安装预期的那样独立工作。

    (3)执行集成测试,来验证不同的模块可以安装预期的方式相互集成

    (4)发布步骤(3)中执行测试的结果。

    3 持续集成方案

    CI工具与源码控制系统集成来获取项目(1)

    在CI工具使用了项目正在使用的构建工具之后,构建你的项目并执行不同的测试(2,3)

    CI工具发布测试结果(4)

    四、持续集成工具

    1 CruiseControl(CC)

    (1)CC的安装

    (2)CC的配置

    2 Hudson(是Jenkins的前身)

    (1)Hudson与Jenkins的关系

     Jenkins的前身是Hudson(Sun开发),2010年从Hudson分支出来。由于Sun被Oracle收购,后者声称拥有Hudson的商标所有权,前者被迫这样做的。分支出来的Jenkins将继续走open source道路,而Hudson可能会用于商业用途,二者都在继续开发中。
    (2)Jenkins的安装
  • 相关阅读:
    python第四篇:linux命令行总结 + 自动备份Python程序
    mount挂载相关指令
    TiDB配置HAProxy负载均衡
    NewSQL 介绍
    mysql 主从搭建
    MySQL 双主问题集
    MySQL 测试工具(基准测试、压力测试)
    分布式 NewSQL 对比
    (转载)MySQL数据库的几种常见高可用方案
    MySQL 大表备份、改表
  • 原文地址:https://www.cnblogs.com/yaochc/p/4966057.html
Copyright © 2011-2022 走看看