大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
一、五种环境
项目部署环境一般可分为三种:开发环境,测试环境、生产环境,对应过程为:开发->测试->上线;
细分生成环境又分为生产环境和仿真环境,具体概念如下;
而UAT环境指的是用户接受度测试环境,主要用来作为客户体验的环境。
1 开发环境(dev)
开发环境时程序猿们专门用于开发的服务器,配置可以比较随意,为了开发调试方便,一般打开全部错误报告和测试工具,是最基础的环境。
2 测试环境(test)
一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能把它发布到生产服务器上,是开发环境到生产环境的过渡环境。
3 生产环境(prod)
是指正式提供对外服务的,一般会关掉错误报告,打开错误日志。可以理解为包含所有的功能的环境,任何项目所使用的环境都以这个为基础,然后根据客户的个性化需求来做调整或者修改。
三个环境也可以说是系统开发的三个阶段:开发->测试->上线,其中生产环境也就是通常说的真实环境。
4 UAT环境
UAT:User Acceptance Test),用户接受度测试,即验收测试,所以UAT环境主要是用来作为客户体验的环境。
5 仿真环境
顾名思义是和真正使用的环境一样的环境(即已经出售给客户的系统所在环境,也成为商用环境),所有的配置,页面展示等都应该和商家正在使用的一样,差别只在环境的性能方面。
二、测试阶段
软件开发中,完整测试环境包括:UT、IT、ST、UAT
UT = Unit Test 单元测试
IT = System Integration Test 集成测试
ST = System Test 系统测试
UAT = User Acceptance Test 用户接受测试(俗称:验收测试)
重点了解——UT(单元测试,Unit Test)
单元测试任务包括:
1)模块接口测试;
2)模块局部数据结构测试;
3)模块边界条件测试;
4)模块中所有独立执行通路测试;
5)模块的各条错误处理通路测试。;
IT(集成测试,Integration Test)
也称系统集成测试(System Integration Test)或结合测试,集成测试阶段是以黑盒法为主,在自底向上集成的早期,白盒法测试占一定的比例,随着集成测试的不断深入,这种比例在测试过程中将越来越少,渐渐地,黑盒法测试占据主导地位。
ST(系统测试,System Test)
从技术角度看,系统测试是整个测试阶段的最后一步,所有的开发和测试在这一点上集中表现为生成一个具有一定功能的软 件系统。
该阶段主要对系统的准确性及完整性等方面进行测试。
主要进行:
功能确认测试、运行测试、强度测试、恢复测试、安全性测试等。
系统测试的测试人员由测试组成员(或质量保证人员)或测试组成员与用户共同测试。在整个系统开发完成,即将交付用户使用前进行。在这一阶段,完全采用黑盒法对整个系统进行测试。
UAT(验收测试,User Acceptance Test)
验收测试是向未来的用户表明系统能够像预定要求那样工作。
经集成测试后,已经按照设计把所有的模块组装成一个完整的软件系统,接口错误也已经基本排除了,接着就应该进一步验证软件的有效性,这就是验收测试的任务,即软件的功能和性能如同用户所合理期待的那样。
三、git管理
用gitlab来管理项目的,在gitlab上建立一个分支,这是远端的仓库
dev:开发分支 对应开发环境
test:测试分支 对应测试环境
master:默认分支 对应生产环境
开发人员的仓库:
从远端的dev分支派生到个人仓库,用作个人的开发环境
用户每一次push都是提交到自己的gitlab仓库,然后再从自身的gitlab仓库发起对源仓库的merge代码合并。管理员在这一刻起到代码审核的作用。
流程如下:
l 从源仓库fork代码到自己主页
l clone主页代码到本地
l 向自己的主页push代码
l 由自己主页向源仓库dev分支发起merge请求
l 管理员review审核代码是否允许merge请求
l 所有开发人员完成一阶段的开发后,管理员向源仓库master发起merge请求
l master打一个tag作为本次上线版本
Tips
测试环境还有一个用处:向开发中的外部系统提供服务时,直接用生产环境进行联调是不合适,用测试环境就没什么风险了。因此,我们的产品上线后,测试环境仍要与生产环境长期共存、并保持开放状态(测试环境和生产环境一致,用测试环境的目的是,测试时,不影响线上项目的正常使用,等测试完毕,再上生产环境。)
总结
①简单来说,开发环境就是开发人员在开发联调时比如前后端交互的本地环境,他们一般在本地开发完成后会将代码部署到测试环境,也就是提交测试。
②对于规模稍微大点的公司来说,测试环境可能不止一套,主要用来满足不同版本上线前测试的需要。
公司一般划分为不同的部门或者系统,来具体负责公司的每一块业务。然后不同系统之间就会有交互,所以当是一个软件项目需求时,这些系统就需要保证是在同一套测试环境才可以测试联调。
③生产环境就好理解了,测试在测试环境测试完成之后,版本上线日,运维发布上线。生产环境就是线上环境,直接面向用户的环境。
一般来说,生产环境的管理权限是十分严格的,一般开发测试只有查询权限,像修改这些,都掌握在业务或者运维手里,更高的权限可能要经过管理层审批才可以执行。(像之前新闻上的删库跑路事件,就是没有做好生产数据的权限控制,一个普通的开发工程师居然可以删除掉大批生产数据,导致公司业务瘫痪,损失高达数亿金额。)
④关于如何搭建测试环境,也是面试会经常问到的一个问题,一般常见于一些创业公司,因为测试环境不够完善,可能会遇到搭建环境这个问题。一般来说,测试环境搭建都属于运维的工作范畴,但是可能有些创业公司就没有运维这个岗位,就只能测试人员来搞了。(后续文章会记录如何搭建测试环境)
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/187585.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...