目录
什么是集成测试
集成(Integration)是指把多个单元组合起来形成更大的单元。
乐高积木的搭建
汽车的组装
……
集成测试级别
集成测试主要是对组件之间的接口进行测试,以及测试一个系统内不同部分的相互作用。
集成测试级别:
- 组件集成测试:对不同的软件组件的相互作用进行测试,一般在组件测试之后进行。
- 系统集成测试:对不同系统或软硬件之间的相互作用进行测试,一般在系统测试之后进行。
集成测试主要关注下列问题:
(1)模块间的数据传递是否正确?
(2)一个模块的功能是否会对另一个模块的功能产生错误的影响?
(3)全局数据结构是否有问题,会不会被异常修改?
(4)块组合起来的功能能否满足要求?
(5)集成后,各个模块的累积误差是否会扩大,是否达到不可接受的程度?
集成测试的工作内容:
集成测试是根据实际情况对程序模块采用适当的集成测试策略组装起来,对系统的接口以及集成后的功能进行正确校验的测试工作。
集成测试是针对程序整体结构的测试。
集成测试的层次
集成测试内部对于传统软件和面向对象的应用系统有两种层次的划分。
对于传统软件来讲,可以把集成测试划分为三个层次:
- 模块内集成测试;
- 子系统内集成测试;
- 子系统间集成测试。
对于面向对象的应用系统来说,可以把集成测试分为两个阶段:
类内集成测试;
类间集成测试。
集成测试的原则
(1)所有公共接口必须被测试到;
(2)关键模块必须进行充分测试;
(3)集成测试应当按一定层次进行;
(4)集成测试策略选择应当综合考虑质量、成本和进度三者之间的关系;
(5)集成测试应当尽早开始,并以概要设计为基础;
(6)在模块和接口的划分上,测试人员应该和开发人员进行充分沟通;
(7)当测试计划中的结束标准满足时,集成测试才能结束;
(8)当接口发生修改时,涉及到的相关接口都必须进行回归测试;
(9)集成测试应根据集成测试计划和方案进行,不能随意测试;
(10)项目管理者应保证测试用例经过审核;
(11)测试执行结果应当如实的记录。
集成测试策略
1、大爆炸集成测试
大爆炸集成测试(非渐增式测试模式):先分别测试每个模块,再把所有模块按设计要求放在一起组成所要的程序,如大棒模式(Big-bang Integration)
2、自顶向下集成测试
3、自底向上集成测试
集成测试的辅助模块
(1) 驱动模块(driver):相当于被测模块的主程序。它接收测试数据,把这些数据传送给被测模块,最后输出实测结果。
(2) 桩模块(stub):用以代替被测模块调用的子模块。桩模块可以做少量的数据操作,不需要把子模块所有功能都带进来,但不允许什么事情也不做。
4、三明治集成测试
软件集成实践的演变
5、持续集成测试
持续集成是软件开发越来越普遍的一种优秀实践,即团队开发成员经常集成他们的工作,通常每次新完成的代码至少集成一次,也就意味着每天可能会发生多次集成。
做好持续集成-简化版
如何开展集成测试
持续集成的内涵
- 持续检查(用工具扫描分析代码)
- 持续构建(Build)
- 持续部署
- 持续验证、测试
- 持续集成环境(基础设施)
- 持续报告
集成测试工具
Jenkins
开源软件项目,基于Java开发的一种持续集成/持续发布工具,用于监控持续重复的工作。
Travis CI
目前新兴的开源持续集成构建项目。
Hudson
一个用Java编写的持续集成工具。
GitLab
一个覆盖DevOps生命周期各个阶段的应用程序,使得组织不受工具链的约束,能够并发开展DevOps的工作。
buddybuild
将持续集成,持续交付和迭代反馈解决方案结合到一个单一、无缝的平台中。
=========================================================================
实践准备工作:
1.在Gitee注册账号;
2.下载并安装Git工具;
3.使用Git工具生成SSH Key,并在Gitee中完成SSH Key的配置;
4.在Gitee新建仓库,并把仓库设置为私有;
5.使用Idea工具创建一个Web项目,并通过Idea 将该Web项目提交到Gitee仓库;
6.在Linux系统中安装JDK;
7.在Linux中安装Maven。
详细看---持续集成测试(Docker容器中安装jenkins)
Docker容器中安装jenkins_docker 安装jenkins_新新程序名媛的博客-CSDN博客