JavaEE鸿蒙应用开发HTML&JS+前端Python+大数据开发人工智能开发AI+设计软件测试新媒体+短视频直播运营产品经理集成电路应用开发(含嵌入式)Linux云计算+运维开发C/C++拍摄剪辑+短视频制作PMP项目管理认证电商运营Go语言与区块链大数据PHP工程师Android+物联网iOS.NET

测试环境没bug了就能直接上线了吗?

来源:黑马程序员

浏览6980人

2019.09.10

做测试的童鞋们在日常工作中接触最多的就是测试环境,大部分bug都是在测试环境中发现并修改的,但是测试环境只是测试过程中涉及到的必备环境,测试环境通过后必须要经过其他一些环境的选择性验证才能最终上线,除了测试环境、生产环境外还有开发环境、仿真环境、预发布环境,下面分两步介绍下各个环境的作用

一、第一步---------------各个环境的初步介绍

目标

掌握各个环境的使用者和使用目的

步骤

按产品上线顺序依次介绍各个环境

1、开发环境

开发人员代码联调、提测之前的自测使用

2、测试环境

测试人员使用,用于开发提测版本的功能、性能等迭代测试

3、仿真环境

测试人员使用,用生产环境的数据测试业务功能,用以覆盖用户真实场景,数据从生产环境导入

4、预发布环境

测试人员使用,两个目的:

  • 用于验证只有生产环境上才配置的一些功能,比如调用第三方接口

  • 测试环境或者是仿真环境的重要功能回归

5、生产环境

运维或研发部署,供用户使用,测试人员尽量避免在生产环境进行测试

二、第二步----------------了解各个环境的具体差别

目标

掌握各个环境支撑各自使用目的原理

步骤

通过图形界面多维度比较各个环境

环境名称开发环境测试环境仿真环境预发布环境生产环境
使用者开发人员测试人员测试人员测试人员运维
目的开发联调和自测用测试做版本功能、性能迭代测试用生产环境数据模拟用户操作进行测试用于验证一些生产环境才有的特殊功能以及测试环境重要功能的回归供用户使用
数据库配置开发单独的数据库测试单独的数据库测试单独的数据库;数据是线上导入的线上数据库线上数据库
代码配置准备上线的最新代码准备上线的最新代码准备上线的最新代码准备上线的最新代码线上已经运行的代码
访问域名开发单独域名测试单独域名A测试单独域名B测试单独域名B线上域名

注意:

1.测试单独域名A和测试单独域名B仅是用于区分两个不同的域名。

2.使用生成环境数据和生产环境数据库表结构的区别

  • 仿真环境数据库表结构是独立配置不同于线上的,但是数据是线上的

  • 预发布环境直接就是用的和线上同一个数据库,故数据肯定是线上数据

3.在操作预发布环境的时候由于用的线上数据库,要格外注意不能删除数据。 测试后产生的脏数据需要运维清掉

4.开发环境和测试环境不能交叉使用

5.各个环境通过数据库配置、代码配置、访问域名来支撑各自的使用目的

总结

本文讲述了一款软件产品从开发到最终上线所涉及到的各个环境,综合使用各个环境可以达到一个很好的测试效果,防止造成线上bug,但是需要注意的是以上各个环境并非全部都要,公司根据自己需求进行选择部署即可