中国造价工程建设管理协会网站,建设小学瓯江小区网站,网站建设选哪家,大学生对校园网站建设的需求是什么意思一、概念 单元测试#xff1a;针对软件的基本单元#xff08;如#xff1a;类、函数#xff09;所做的测试。 集成测试#xff1a;将软件代码单元集成起来后#xff0c;以组件、模块和子系统为单位进行的测试#xff0c;主要测试接口间的交互关系。也称组件测试#xf… 一、概念 单元测试针对软件的基本单元如类、函数所做的测试。 集成测试将软件代码单元集成起来后以组件、模块和子系统为单位进行的测试主要测试接口间的交互关系。也称组件测试子系统测试等。 CI/CD流水线总共包含三个阶段持续集成、持续交付、持续部署。我整合了CSDN其他博主写的博客在结合我的工作经验具体的理解整理后如下 二、持续集成CI(continuous integration) 持续集成的定义 持续集成是一种软件开发实践指的是团队成员频繁的将代码集成到主干分支的过程。一般每人每天至少集成一次也可以多次。每次集成经过自动构建、自动单元测试以尽快检测出集成错误确认是否正确将新代码和原有代码集成在一起。 持续集成的目标 确保新增的代码能够与原先代码正确的集成快速的提供一个可供测试的新版本在测试环境中成功部署软件可运行并且基本功能可用。 持续集成的流程build - test - result. 开发人员提交代码到Source Repository源代码仓库并通过git hook通知出发 CI Server 的相关功能执行 构建 - 测试 - 输出结果 的流程生成并向开发人员发送反馈结果的report 持续集成的好处 1、持续集成频繁的集成可以把复杂的代码逻辑切割成小块每完成一点更新就集成到主干这样可以快速发现错误定位错误 2、节省人力成本通过Jenkins自动构建和自动测试可以节省很多时间加快软件开发进度从而可以投入到更有价值的工作中去 3、更细致的工作代码提交意味着可以更容易的判断当前的工作进度开发流程变得易于管控。 三、持续交付CD(continuous delivery) 持续交付的定义 持续交付是一种能够使得软件在较短的周期中可靠地发布的软件工程方法最终是通过手动部署到生产环境。指的是在持续集成的基础上增加了test、staging、production 三个环节。在这个阶段测试人员、PM在测试环境和预发布环境对最终要部署的项目进行全面且多轮的验证。 持续交付的目标 拥有一个满足用户预期和质量要求的可随时部署到生产环境的代码库新版本确保新增的代码在生产环境中是可用的。 持续交付的流程test - staging -production. Test环节是在测试环境中对新增加的特性、功能进行全面的测试包括了集成、功能、兼容性、安全、性能等系统测试。测试通过后代码将自动部署到预发布环境。Staging指的是预发布环境其尽可能模拟生产环境的真实网络拓扑、数据库及服务器硬件设备等资源由测试人员验证代码在预发布环境中的可能表现。这个阶段通常进行验收测试和全面回归测试自动化测试的方式。Production阶段将由相关人员通常是运维将新版本手动部署到生产环境。如果发现问题可以随时回滚 四、持续部署CD(continuous deployment) 持续部署的定义 持续部署同样也是一种软件工程方法通过自动化部署的方式将软件功能频繁的进行交付。 持续部署的目标和持续交付是一致的但实现方式上与持续交付的不同最后部署到生产环境的过程是通过自动的方式实现的所以说持续部署是持续交付的最高阶段。 在持续部署下开发同学只需提交代码如果代码通过测试可以全自动的部署到生产环境所以持续部署的实现在很大程度上都得依赖精心设计的测试自动化。