点击蓝字

关注我们

软件开发环境(Software Development Environment,SDE)是指在基本硬件和宿主软件的基础上,为支持系统软件和应用软件的工程化开发和维护而使用的一组软件,简称SDE。它由软件工具和环境集成机制构成,前者用以支持软件开发的相关过程、活动和任务,后者为工具集成和软件的开发、维护及管理提供统一的支持。

项目部署环境一般可分为三种:生产环境,测试环境,开发环境。那什么是测试环境,什么是线上环境呢?开发环境又是什么,三者之间的关系是怎样的?

【开发环境】是什么

▶ ▶ ▶

开发环境是开发人员专门用于开发的服务器,配置可以比较随意,为了开发调试方便,一般打开全部错误报告和测试工具,是最基础的环境。开发环境的分支,一般是feature分支。

开发环境更多的是各自开发的本地,代码可以随意修改,方便开发自身测试用,但该环境由于可以直接修改,很多bug不容易被发现,只能是开发自测或写代码时候自用。

▶ ▶ ▶

开发环境是研发团队的领地,在这里研发团队频繁的发布版本,经常爆发小规模的资源冲突,本来什么都没有的环境,经过他们之手,就可以看见很多功能的显现。但开发的过程的也会出现一些问题。

01

为什么会这样呢

01.研发团队需要提供假数据来保证前后端并发开发。

02.研发团队经常会出现思维漏洞。

03.不少研发团队的成员没有持续集成的习惯,总是在自己本地环境中做研发。

04.开发环境没有版本管理,所有的依赖关系都不够稳定。

02

测试人员需提前测试吗

测试人员不需要在开发环境正式的介入,特别是当出现开发人员说来不及测试。如果测试,会导致更混乱,合理的解决办法是,在明确优先级的情况下,分出迭代,先保证重要的功能进入测试环境。

测试人员要做的就是在任意一个时间段,到开发环境去看一下,关键的逻辑有没有错误,有没有重大的偏差,而不是做严谨的测试。

在混沌无序的开发环境中,到发布到测试环境,必须有序且稳定,并且随着开发的深入,冲突的规则越来越少,通常认为在测试环境,应该检测出来的Major级别以上的Bug为0,不多于4个的NormalBug。

【测试环境】是什么

▶ ▶ ▶

测试环境一般是克隆一份生产环境的配置,一个程序在测试环境工作不正常,那么肯定不能把它发布到生产服务器上,是开发环境到生产环境的过度环境。测试环境的分支一般是develop分支,部署到公司私有的服务器或者局域网服务器上,主要用于测试是否存在bug,一般会不让用户和其他人看到,并且测试环境会尽量与生产环境相似。

测试环境是相对稳定的环境。代码是可以提交再pull。该环境完全模拟线上环境(发布后),代码在测试环境由测试进行功能性、自动化测试。在确保上线前的最后质量保证,通常这里能发现大部分的问题 bug,使代码保持相对稳定的状态,在这里测试通过后,可以达到上线标准。

▶ ▶ ▶

01

测试秩序

01.在测试环境中,只有两种情况下才允许被发布,一种是新的迭代开发,一种是Bug的修复。这是指,每一次的发布,要么是对一个迭代开发的需求,要么是对一个Bug的修复。

02.发布到测试环境,必须要指定版本号。

03.发布到测试环境,必须要指定回滚版本。

04.开测试环境发布之后,必须由运维,开发依次验证是否发布成功。

05.测试环境的发布,原则上只允许每天发布一次。

06.测试环境中,开发人员应该只有读日志的权限,不应该重启和发布的权限。

测试环境并不是单纯意义上的找Bug,更是对线上环境发布的演练,所以测试环境其实是包含了“演练发布脚本”+“寻找系统Bug”两个环节,而我们往往会忽视掉第一点,等到线上环境发布的时候出现问题,再怎么甩锅都没用了。

【线上环境】是什么

▶ ▶ ▶

线上环境是指正式提供对外服务的,一般会关掉错误报告,打开错误日志,是最重要的环境。部署分支一般为master分支。

线上环境就是一个给用户使用的场所。所有代码应该都由测试通过后,才能发布,并给用户使用,这样可以使用户体验提升一个高度。

▶ ▶ ▶

上线的严肃程度远程开发环境,历经开发和测试的层层把关,倒底系统上线之后是什么样子,答案即将揭晓。

01

上线原则

01.如有问题,五分钟之内无法解决,立刻回滚,严禁在线上调试和解决问题。

02.发布必须选择每天活跃用户最少的时候。

03.视发布版本的重要度来决定是否要对用户公告停机或者是不停机维护。

04.视发布版本的重要度来决定是否对新功能做运营推广。

05.线上发布必须所有团队在线

06.发布之后,运维,研发,测试和产品必须依次验证。

07.发布之后,重点观察用户的反馈和系统日志。

08.发布应该当成正常发布和紧急发布。

线上的Bug,一旦是Major级别,可以定性成是事故了,对事故,往往需要摆脱正常发布的限制,可以走紧急发布流程。版本更新通常分为强制更新和非强制更新,

END

三个环境也可以说是系统开发的三个阶段:开发->测试->上线,每一个环境都有不同的特点,测试人员的正常工作环境,就是测试环境,生产环境也就是通产说的真实的环境,也是最后交给用户的环境。

微信公众号

微信号|小马技术圈

分享|交流

生产环境和开发环境_环境部署:开发、测试和线上环境的区别相关推荐

  1. node开发环境(mac)和线上环境(linux)搭建

    以前一直在做php后台,对node没有认真研究,现在前端发展速度这么快,再加上node的飞速发展,javascript统一中原指日可待啊.em~~,废话不多说开始开发环境和线上环境搭建吧,写一下自己的 ...

  2. 从零开始学产品第五篇:三个环境,开发、测试和线上

    本篇为[从零开始学产品]系列课第1章第4节 欢迎到公众号菜单栏,获取产品经理课程更多资料 上节课我们说到了,Bug的生命周期,而只有在测试环境和线上环境发现的Bug,才会被称之为Bug. 倒底什么是测 ...

  3. mysql线上教程_线上环境mysql主从同步的搭建过程

    之前搭建过一套主从同步的mysql集群,但是是基于新数据库,而这次线上环境要升级成主从同步的集群,记录一下升级过程和中间遇到的各种问题. 由于是直接对线上数据库进行修改,因此要保证对线上环境造成尽量小 ...

  4. doctor mysql数据导入_线上环境mysql主从同步的搭建过程

    之前搭建过一套主从同步的mysql集群,但是是基于新数据库,而这次线上环境要升级成主从同步的集群,记录一下升级过程和中间遇到的各种问题. 由于是直接对线上数据库进行修改,因此要保证对线上环境造成尽量小 ...

  5. 使用maven的profile区分本地环境和线上环境

    使用maven的profile区分本地环境和线上环境 多环境开发,使用maven-profile,就可以在打包的时候通过参数的调整,最终打的包也不同. 以区分本地数据库和线上数据库为例 比如测试环境, ...

  6. Keepalived+Nginx实现高可用,反向代理---模拟实现线上环境

    [前言] 在对Keepalived+Nginx进行了研究后,将这项技术推广上线,并配合运维进行网站搭建起来.经过一段时间的运行线上环境 运行已经稳定,不过自己还需要进行更加深入的研究:那么如何模拟线上 ...

  7. 记一次线上环境 redis偶尔连接超时报错 解决

    记一次线上环境 redis偶尔连接超时报错 解决 贴出本地控制台日志 说实话,很痛苦,跟进很久了,一直认为的jvm程序所使用的配置的连接池框架问题 因为程序为 springboot 2 spring ...

  8. gson线上环境解析日期时报错JsonSyntaxException

    遇到问题: 问题发生在新功能上线的那一天,所有的测试工作都测试完了,测试还挺顺利,比以往结束的早很多,正高高兴兴的聊着今天可以早回家了. 正高兴着往ST环境部署,部署上去前端一测试却返回了服务器异常, ...

  9. 面试官:线上环境 FGC 频繁,如何解决?

    前言 这个问题应该是 Java 面试中很经常被问到的一个题目,很多人害怕这个题目. 因为大部分人可能在工作中根本遇不到 FGC 频繁的问题,即使从网上背了点答案,心里也不踏实,因为毕竟不是自己亲自接触 ...

最新文章

  1. 笔记-项目配置管理-配置项
  2. P4127 [AHOI2009]同类分布 数位dp + 对状态剪枝
  3. 【今日CV 计算机视觉论文速览】Mon, 25 Mar 2019
  4. Unity2018新功能抢鲜 | ShaderGraph实战之全息效果
  5. 苹果修复已遭在野利用的 iOS 和 macOS 0day
  6. java 获取域名_Java获取域名,Java从URL地址中获取域名,Java从Request 获取域名
  7. tensorflow版本1.11.0
  8. axvspan函数--Matplotlib
  9. Linux常用基本命令总结
  10. 使用Kolla镜像Openstack多节点快速搭建部署
  11. 响应式布局的基本介绍及原理
  12. 黑群晖vmm专业版_在NAS上运行虚拟机:群晖虚拟化套件VMM正式发布
  13. Albert Einstein—一个真正值得敬仰的伟人(什么超级什么星什么一班都靠边站兼滚蛋!)...
  14. maya python 的简单使用
  15. API 的理解与使用- 键管理
  16. 计算机安全及故障处理大学论文,网络维护中故障点排除分析及处理措施论文
  17. alin的学习之路:面试题 计算机网络相关
  18. 安全管理平台(SOC)的发展趋势分析
  19. 拼团小程序服务器配置,拼团小程序的拼团活动怎么设置?
  20. 低代码:助力乡村振兴事业开启“智慧模式”

热门文章

  1. 一文读懂矩估计、极大似然估计和贝叶斯估计
  2. 怎么判断冠词用a还是an_冠词a/an/the:的用法和区别
  3. Linux怎么进入根目录查看文件
  4. iphone数据传输已取消怎么办_iPhone停用怎么办?如何解除iPhone已停用
  5. VUE中的img的:src动态加载图片的问题,require也不能随便用
  6. python音频 降噪_python降噪_python音频降噪_python图片降噪 - 云+社区 - 腾讯云
  7. 新闻丨5G牌照发布,智链万源携手动物健康与食品安全创新联盟在农业领域先声夺人...
  8. 腾讯云服务器+RAKSmart国内外服务器使用记录
  9. linux telnet 传文件命令,telnet 传输文件
  10. h5策划书_世界睡眠日H5策划方案