互联网测试环境解决方案
来源:互联网 发布:广联达软件购买 编辑:程序博客网 时间:2024/06/05 03:46
现状
国内的大多数互联网企业由于前期业务发展迅速,业务驱动研发,使得网站架构更多的是为满足业务需求而做的业务开发,重复代码越来越多,代码所占空间越来越大,运行所需要的资源也越来越多,很难在一台机器将网站所有功能进行部署。这样,就要求有一套可行的测试环境解决方案。
如何搭建和维护一套测试环境
测试环境包含哪些方面
web application
web应用程序是网站的基本元素,一个互联网公司会有大大小小的应用程序上百个,很难通过人工的方式记录放置在测试环境上的版本是哪个,必须要有系统进行管理。
resource application
resource站点尽可能集中,以便生产上做cdn处理;
database
数据库分为两部分,一部分是scheme,另一部分是基础数据,有一些数据是测试的基础,而不是业务数据,这些数据需要先从生产环境导入。
common framework
如soa等,基础框架除了程序的版本正确以外,数据也要有版本记录,否则无法快速复制。哪些表是基础数据,哪些是动态变化的都需要理清楚。
web application configuration
一般来说,应用程序在测试环境、生产环境的配置文件是不一样的,需要通过构建系统快速生成不同的配置放置到不同环境。
由于测试、生产的值是不一样的,这些值需要统一放在某个地方,构建系统去一个集中的地方获取生成适合环境的配置。
工具辅助
一般来说,一套测试环境搭建是比较容易的,大家把各自的模块都模拟生产进行搭建,最后再进行联调就可以完成。由于各个web application之间相互影响,一个模块的更新可能导致某个模块甚至多个模块无法正常工作。
我们要求每个模块上传到测试环境,至少保证自己的模块是正常的,如果不正常,还原到上一个版本,不要影响到其它人的测试工作。这种方式需要靠大家的自觉和充分的自动化测试。
当然,测试环境管理员需要提供测试环境管理工具,功能如下:
1、最近发生了哪些变化,与生产相比,哪些版本旧了;
2、哪些分支已经上线了,可以使用生产进行覆盖;
3、增加了哪些新模块;
如何搭建多套测试环境
一套测试环境是远远不够的,经常会有被覆盖的情况,原因很简单,一个业务模块就有好几个分支在开发。如何搭建呢,有人会说,这不是很简单吗?复制过来就可以了。其实要做到重复搭建测试环境并不只是简单的复制,有许多与环境相关的变量存在,需要特别去修正。
首先搭建环境的自动化脚本或程序需要存在。
此次web application之间尽量分成不同的模块,模块之间可以通过mock来进行测试,而不需要依赖其它模块。
最后,配置管理保证web application版本的一致性和完整性。
测试环境层次结构
功能测试环境 (分模块,通过mock模拟)---> 系统测试环境(集成测试)----->uat测试环境 (用户测试)----->staging测试环境(真实的生产环境的mirror)
功能测试环境
用于单个web application或者某个framework组件的单独测试,如果需要其它模块提供数据,可以自行做mock
系统测试环境
一个小型的全站测试,测试人员发现系统间的bug
uat测试环境
需求提出方的测试环境,除了功能上的正确,还需要满足,是否与最原始的需求一致。
stage环境
mirror生产环境,stage环境和生产环境是互备的,引导一部分用户使用新的版本,运行正常以后,将生产用户直接切换到此环境。
- 互联网测试环境解决方案
- 一种通用的测试环境自动搭建更新解决方案
- 友盟推送测试环境无法收到推送消息解决方案
- 互联网性能优化解决方案
- 互联网行业解决方案
- 互联网搜索挖掘解决方案
- 互联网分布式事务解决方案
- 互联网高并发解决方案
- 测试解决方案
- 测试解决方案
- 互联网项目发布环境:测试、回归、预发布、灰度发布、上生产
- 互联网测试的特殊性
- 互联网OPENAPI 测试(一)
- 互联网性能测试杂记
- 互联网性能测试杂记
- 互联网产品的测试
- 互联网测试计划
- 互联网测试的生生死死
- AWK分析access日志中的应用
- Java 学习资料
- cctype头文件中定义的函数
- JAVA 多线程-单例设计模式-懒汉式
- Ruby学习笔记6
- 互联网测试环境解决方案
- 编程之美“字符串移位包含的问题”的另一种解法
- 【转】ARM9 2410移植之ARM中断原理, 中断嵌套的误区,中断号的怎么来的
- 创建对象的几种方式
- 浅谈struts2之chain
- 解决java页面乱码问题
- Windows Phone 8 与 windows 8 开发技术概览
- 无权最短路径的求法--图的广度优先搜索
- Spring技术(3)AOP