软件测试环境讲解

在一个项目开发到发布的整个过程中,会使用到很多个环境进行测试和运行项目。最基本的开发环境、测试环境、准生产环境、生成环境

一、开发环境

开发环境顾名思义就是我们程序猿自己把项目放到自己的电脑上,配置好以后,跑起来项目,然后我们在这个基础上来进行开发,这个开发环境就是方便我们程序猿来开发功能,调试Bug的。

二、测试环境

开发好一个功能以后,得让人家测试人员测试吧,但是咱不能直接把人家喊过来,连上自己的本地开发环境测试,一是有些问题模拟不出来(比方说数据问题),二是自己的代码和环境经常改变,不能保证最后人家测试人员测试的时候那个环境还有代码完全一致。所以这时候就有了测试环境这个概念,公司会搭建一个跟服务器,连接上专门的测试数据库之类的(肯定得数据库也是跟真正的数据库隔离开啊,要不会篡改用户数据),配置好一个环境专门用来测试人员连接上测试,我们把我们的代码提交以后,一般会由小组长或者其他人员把我们的代码发布到测试环境,这时候测试人员就可以愉快的找Bug啦。

 

三、准生产环境

对于有的公司来说,这个功能开发好测试好以后,并不是直接就APP里面上线了,而是我们现在1月份做的功能,可能会排期到5月份上线,但是需要真实的环境测试一下是否完全符合要求啊,这时候就诞生了准生产环境,你可以把他当做生产环境的克隆体,数据库什么的都一样,但是他是后备隐藏能源。(ps.由于项目的性质和类型不同,有的项目可能不需要这个环境)。

四、生产环境

生产环境就是咱们开发的功能要到时候放到APP或者网页里面,里面的所有数据和东西都是真实的,也是去让用户正常使用的环境,生成环境一般是在用户使用量少的时间段下进行发布,这样生成环境就算出现错误,也能把损失降到最低。

五、预发布环境、灰度发布、生成环境又和不同

1、预发布环境

这个环境中,一般会连接生产环境的数据库,使用生产环境的数据来进行测试。

2、灰度发布版本

预发布环境过后,就是灰度发布了。由于一个项目,一般会部署到多台机器,所以灰度1台至3台,看看新功能是否ok,如果失败则只需要回滚几台,比较方便。注意,由于是灰度发布几种几台,所以一般会使用跳板机,然后进行域名绑定,这样才可以保证只访问有最新代码的服务器。

3、生产环境

所有服务器上的代码都已经是最新的了

接口测试和接口文档生成工具:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/57800.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

高性能API设计

背景 设计出一个高性能的API,需要综合网络、业务、数据库的优化。一下是我在实际的开发过程中总结的优化思想和一些效率提升的技巧。 批量思想 很多的数据库操作都含有batch或者bulk的api,如我最近常使用的mybatis、mybatis plus以及elastic Search的…

【机器学习】西瓜书习题3.3Python编程实现对数几率回归

参考代码 结合自己的理解,添加注释。 代码 导入相关的库 import numpy as np import pandas as pd import matplotlib from matplotlib import pyplot as plt from sklearn import linear_model导入数据,进行数据处理和特征工程 # 1.数据处理&#x…

指针经典笔试题强训(附图详解)

目录 笔试题1: 解析: 运行结果: 笔试题2 解析: 运行结果: 笔试题3 解析: 运行结果: 笔试题4 解析: 运行结果: 笔试题5 解析: 运行结果:…

智慧~经典开源项目数字孪生智慧商场——开源工程及源码

深圳南山某商场的工程和源码免费赠送,助您打造智慧商场。立即获取,提升商场管理效能! 项目介绍 凤凰商场作为南山地区的繁华商业中心,提供多样化的购物和娱乐体验。通过此项目,凤凰商场将迈向更智能的商业模式。 本项目…

【第一阶段】kotlin语言的String模板

1.在Java中拼接字符串使用的是“” 2.在kotlin中使用"${}" 3.kotlin语言中if是表达式,更灵活 fun main() {val city"西安"val time24//java中写法println("我在"city"玩了"time"小时")//kotlin中写法&#xff0…

汽车EBSE测试流程分析(四):反思证据及当前问题解决

EBSE专题连载共分为“五个”篇章。此文为该连载系列的“第四”篇章,在之前的“篇章(三)”中已经结合具体研究实践阐述了“步骤二,通过系统调研确定改进方案”等内容。那么,在本篇章(四)中&#…

springboot项目如何自动重启(使用Devtools检测修改并自动重启springboot)

1. 问题: 我们在项目开发阶段,可能经常会修改代码,修改完后就要重启Spring Boot。经常手动停止再启动,比较麻烦。 所以我们引入一个Spring Boot提供的开发工具; 只要源码或配置文件发生修改,Spring Boot应用…

力扣 62. 不同路径

题目来源:https://leetcode.cn/problems/unique-paths/ C题解1:动态规划。声明二维数组。 确定dp数组(dp table)以及下标的含义。dp[i][j] :表示从(0 ,0)出发,到(i, j) …

2023年08月在线IDE流行度最新排名

点击查看最新在线IDE流行度最新排名(每月更新) 2023年08月在线IDE流行度最新排名 TOP 在线IDE排名是通过分析在线ide名称在谷歌上被搜索的频率而创建的 在线IDE被搜索的次数越多,人们就会认为它越受欢迎。原始数据来自谷歌Trends 如果您相…

【MySQL】DDL和DML

4,DDL:操作数据库 我们先来学习DDL来操作数据库。而操作数据库主要就是对数据库的增删查操作。 4.1 查询 查询所有的数据库 SHOW DATABASES; 运行上面语句效果如下: 上述查询到的是的这些数据库是mysql安装好自带的数据库,我们以后不要操…

精通GPU编程,高效处理Pandas

大家好,当正在使用python处理大型数据集,那么很可能会感受到,当基于CPU的pandas DataFrame难以执行操作时,等待数小时才能完成查询的挫败感。正是在这种情况下,pandas用户应该考虑使用RAPIDS cuDF利用GPU的强大功能进行…

无涯教程-Lua - Arrays(数组)

数组是对象的有序排列,可以是包含行集合的一维数组,也可以是包含多行和多列的多维数组。 在Lua中,数组是使用带有整数的索引表实现的。数组的大小不是固定的,并且可以根据无涯教程的要求(取决于内存限制)来增长。 一维数组 一维…

Linux系统安装部署MongoDB完整教程(图文详解)

前言:本期给大家分享一下目前最新Linux系统安装部署MongoDB完整教程,我的服务器采用的是Centos7,在部署之前我重装了我的服务器,目的是为了干净整洁的给大家演示我是如何一步步的操作的,整体部署还是挺简洁&#xff0c…

react ant icon的简单使用

refer: 快速上手 - Ant Design 1.引入ant npm install antd --save 2.在页面引用: import { StarOutlined } from ant-design/icons; 如果想要引入多个icon,可以这样书写: import { UserOutlined, MailOutlined, PieChartOutlined } fr…

C/C++开发,opencv与qt结合播放视频

目录 一、qt_ui创建 1.1 ui设置 1.2 ui及代码输出保存 二、创建工程 2.1 工程目录及编译设置 2.2 源码设计 三、编译及测试 3.1 程序编译 3.2 程序运行 首先声明,这是一个OpenCV 3学习文档的案例,但是说明有些过于省略,只有一些简短的代码…

golang执行异步任务的第三方库jobrunner库实践

简介 我们在 Web 开发中时常会遇到这样的需求,执行一个操作之后,需要给用户一定形式的通知。例如,用户下单之后通过邮件发送电子发票,网上购票支付后通过短信发送车次信息。但是这类需求并不需要非常及时,如果放在请求…

java+springboot+mysql校园宿舍报修管理系统

项目介绍: 使用javaspringbootmysql开发的校园宿舍报修管理系统,系统包含管理员、维修员、学生角色,功能如下: 管理员:楼栋管理、宿舍管理、维修人员管理、学生管理;报修管理(派单给维修员&am…

npm发布包

1.npm 登录 在控制台输入命令 npm login 按提示输入用户名,密码,邮箱后登录 如果出现如下提示 需要将淘宝镜像源切换为npm源,删除或注释以下内容就行 2.发布 进入准备发布的代码的根目录下,输入命令 npm publish 3.删除已发…

微信小程序原生写法传递参数

微信小程序原生写法传递参数 data-xxx 自定义参数名 ,接收参数:方法(变量名) checkVip:function(event) {let that thisconsole.log(event,event)console.log(event.currentTarget.dataset.idx,index)let index Number(eve…

适应于Linux系统的三种安装包格式 .tar.gz、.deb、rpm

deb、rpm、tar.gz三种Linux软件包的区别 rpm包-在红帽LINUX、SUSE、Fedora可以直接进行安装,但在Ubuntu中却无法识别; deb包-是Ubuntu的专利,在Ubuntu中双击deb包就可以进入自动安装进程; tar.gz包-在所有的Linux版本中都能使用…