BUG在线上环境中出现的原因总结

1.线上环境数据的复杂度以及数据量是测试环境不能比拟的。

2.业务操作的不可控性,用户错误的使用习惯。

3.实际场景的复杂性。

上线之后,测试人员需要做好以下二件事:

第一,灰度测试

项目上线之后,首先是测试人员开始做灰度测试。

灰度测试时,可以设置由业务开关或者白名单之类做控制,只要少量数据或添加在白名单上的数据可以走新业务流程。

灰度测试完全之后,也就是将所有业务流程走完,检查各项数据的正确性、流程是否通、流程是否完整等等检查点。

确定无问题时,再将开关打开,再开放少量真实用户数据。

第二,监控线上数据

灰度测试时就已经在监控线上数据和检查线上数据,但因为灰度测试时数据量比较少,有时并不足以引发新问题,所以测试人员需要继续观察线上数据。

测试人员需要在项目上线之后的几个小时内,重点监控线上数据的流向,一旦数据有异常,立即采取措施,回滚代码又或者重新打开开关等,尽量将线上bug引起的损失降到最低,接下来就开始修改bug和修复数据。

在这个时候,测试人员对数据的敏感性特别就要发挥出来,有时似错非错的数据正是BUG的前兆,千万不要掉意轻心。

原文地址:https://www.cnblogs.com/www-qcdwx-com/p/10717700.html

时间: 2024-11-07 06:51:43

BUG在线上环境中出现的原因总结的相关文章

strace在线上环境的troubleshooting

我们线上的机器登录都是通过每5秒钟获取一次密码的方式登录的,今天要登录线上的一组机器,发现去不到root的password了,一直显示错误,后通过console进去获取到密码才得以登录进去,因为系统里用的是/usr/bin/mkpasswd的方式来生成密码的,手工执行mkpasswd root, 发现没有返回,也没有报错,打开文件看看源码是怎么写的,发现是一个shell脚本,是通过系统的passwd,/dev/random获取随机数字,和expect来实现每次请求的时候都更改用户的密码并回显到调

[Nginx笔记]关于线上环境CLOSE_WAIT和TIME_WAIT过高

运维的同学和Team里面的一个同学分别遇到过Nginx在线上环境使用中会遇到TIME_WAIT过高或者CLOSE_WAIT过高的状态 先从原因分析一下为什么,问题就迎刃而解了. 首先是TIME_WAIT: 理解一下TIME_WAIT状态产生的原因,这个问题已经被很多很多的书说烂了,但是为什么很多人还是不能解决,究其原因还是因为 大多数都是学术派,并没有真正的遇到过这样的问题,因为TIME_WAIT大量产生很多都发生在实际应用环境中. TIME_WAIT产生的原因还是因为在通讯过程中服务端主动关闭

关于线上环境CLOSE_WAIT和TIME_WAIT过高

转自:http://www.cnblogs.com/Bozh/p/3752476.html 运维的同学和Team里面的一个同学分别遇到过Nginx在线上环境使用中会遇到TIME_WAIT过高或者CLOSE_WAIT过高的状态 先从原因分析一下为什么,问题就迎刃而解了. 首先是TIME_WAIT: 理解一下TIME_WAIT状态产生的原因,这个问题已经被很多很多的书说烂了,但是为什么很多人还是不能解决,究其原因还是因为 大多数都是学术派,并没有真正的遇到过这样的问题,因为TIME_WAIT大量产生

使用pupput部署线上环境

注:本文侧重于pupput使用git版本控制在线上环境的部署步骤详解. 1:线上puppet加入git版本控制 详细步骤: pptserver_wangsu_bj_192.168.3.68.centos.yypuppet.com [/etc/puppet/multi-environment/yydev/environment] [email protected]/0 # git init ; cd ..; git clone --bar environment /var/puppet/envir

Spring MVC环境中文件上传大小和文件类型限制以及超大文件上传bug问题

    在上一篇文章中,主要介绍了Spirng MVC环境下的正常情况下文件上传功能实现.在实际开发的时候,还会涉及到上传文件大小和类型的限制,接下来就会对Spirng MVC环境下文件上传大小和类型的限制进行介绍,还会讲解到文件上传大小tomcat服务器bug问题及解决方案. 一.文件上传大小限制 这里还是接着上篇文章先介绍Spring MVC下的文件上传大小限制,文件上传大小的限制在springmvc-config.xml中配置文件解析器CommonsMultipartResolver时即可

.NET跨平台之旅:生产环境中第2个跑在Linux上的ASP.NET Core站点

今天我们在生产环境中上线了第2个跑在Linux上的ASP.NET Core站点.这是一个简单的Web API站点,通过命令行的方式调用安装在Linux服务器上的程序完成操作.之前用的是nodejs,现在换成了ASP.NET Core,主要代码如下: var psi = new ProcessStartInfo(command, arguments) { RedirectStandardOutput = true, RedirectStandardInput = true, CreateNoWin

.NET跨平台之旅:在生产环境中上线第一个运行于Linux上的ASP.NET Core站点

2016年7月10日,我们在生产环境中上线了第一个运行于Linux上的ASP.NET Core站点,这是一个简单的提供后端服务的ASP.NET Core Web API站点. 项目是在Windows上用V2015开发的,以self-contained应用部署方式发布到Linux服务器.Linux服务器用的是Ubuntu 14.04,站点通过supervisor以服务方式运行,部署在2台阿里云服务器上,用了1台阿里云内网负载均衡. 虽然是很简单的站点,虽然是很小的一步,但是进入生产环境就意味着对性

mysql5.5复制环境中的一个bug

mysql5.5,主从复制环境中 binlog格式是ROW时 有表使用了mrg_myisam引擎 以上三个条件都满足时,恭喜你,当你insert一条记录时,你会看到从库不停的在重启,每次重启都做crash recovery. 这个bug存在于所有5.5版本中,bug记录:https://bugs.mysql.com/bug.php?id=73635. 解决办法: 升级到5.6版本,亲测5.6已修复该bug. 改binlog格式. 改引擎吧,不使用mrg_myisam引擎.

Bug2算法的实现(RobotBASIC环境中仿真)

移动机器人智能的一个重要标志就是自主导航,而实现机器人自主导航有个基本要求--避障.之前简单介绍过Bug避障算法,但仅仅了解大致理论而不亲自动手实现一遍很难有深刻的印象,只能说似懂非懂.我不是天才,不能看几遍就理解理论中的奥妙,只能在别人大谈XX理论XX算法的时候,自己一个人苦逼的面对错误的程序问为什么... 下面开始动手来实现一下简单的Bug2避障算法.由于算法中涉及到机器人与外界环境的交互,因此需要选择一个仿真软件.常用的移动机器人仿真软件主要有Gazebo.V-rep.Webots.MRD