Fundebug抓到了这个Bug

简介: Fundebug网站使用了我们自己的JavaScript错误检测插件,这样代码一旦发生错误,程序员小明就会及时收到报警邮件。我们的前端代码做过严格的单元测试和端到端测试,讲(xiang)道(dang)理(ran)不会出什么错误。

Fundebug网站使用了我们自己的JavaScript错误检测插件,这样代码一旦发生错误,程序员小明就会及时收到报警邮件。

我们的前端代码做过严格的单元测试和端到端测试,讲(xiang)道(dang)理(ran)不会出什么错误。

然而,现实是残酷的,总会有各种Bug出现:

- this.$parent.elctrl is undefined,

- Attempted to redefine property 'authenticate'.,

- Cannot read property 'language' of null

- …

乍一看这些错误也没什么,然而事实证明它们其实是一个个大写的Bug。得益于Fundebug实时监测,小明及时修复了这些问题。(此处应有掌声^*^)

今天呢,我们来聊聊其中一个Bug。这个Bug是由于拼写失误造成的,它会导致网页无法正常显示,虽说刷新一下就好了,但是却会影响用户体验。然而,小明最初却忽略了Fundebug的报警。

每一次报错都是一个潜在的Bug,不容忽视。

Bug回放


11月15日早上8:56,小明收到一封报警邮件:

img_1d2d823108276c883f0a4af708887dca.png

Fundebug网站是基于AngularJS实现,这个错误与页面之间的跳转有关。由邮件可知,从landing状态跳转到teamSign状态时发生了错误。点击查看详情, 就能看到该错误的详细信息:


img_41a7eb7f337052400f6cf8314c4d7d75.png

在错误面板中,小明可以查看错误栈,请求,设备和用户信息。这些信息可以帮助小明快速定位错误。

经过简单分析,小明断(xia)定(cai)网站的landing页面木有问题,这个错误应该是网络问题导致加载不完全而无法识别teamSign这个状态。如果网络好一点,加载成功了,就没问题了。然后他就将这个错误丢到一边去了。。。(Boss决定让小明跪键盘)

但是,问题不是这么简单,这个错误之后一共出现了85次,累计影响了24个用户。


img_397fb241bb0edb34701bab70fec2469f.png

小明意识到问题的严重性之后,查找了teamSign跳转相关的代码。他发现,在登录验证的中间件里面,如果用户登录token因为超时失效,那么就会跳转到teamSign页面要求用户重新登录。然而,跳转到teamSign为什么会失败呢?为什么呢?为什么呢?原来是小明把”teamSignin”写成了”teamSign”。(Boss决定让小明滚出去)

结论


一个小小的拼写失误,却会对用户造成不小的困扰。而事实上,测试无法保证产品100%没有问题。使用Fundebug进行实时错误监测,则可以第一时间发现并解决问题。

立即注册

版权声明:转载时请注明作者Fundebug以及本文地址:https://blog.fundebug.com/2016/12/07/fundebug-catch-the-bug/

目录
相关文章
|
关系型数据库 Linux 数据库
|
8月前
|
Arthas 监控 Java
记一次内存利用率问题排查
记一次内存利用率问题排查
|
11月前
|
存储 NoSQL Java
Redis命令:列表模糊删除详解
通过本文的介绍,我们详细探讨了如何在Redis中实现列表的模糊删除。虽然Redis没有直接提供模糊删除命令,但可以通过组合使用 `LRANGE`和 `LREM`命令,并在客户端代码中进行模糊匹配,来实现这一功能。希望本文能帮助你在实际应用中更有效地操作Redis列表。
382 0
|
缓存 监控 网络协议
Linux系统性能优化
Linux系统的性能是指操作系统完成任务的有效性、稳定性和响应速度。
167 1
|
运维 分布式计算 监控
生物信息分析工作流上云技术分享2:Nextflow技术解析与实践
这次我们来深入了解一下NextFlow的软件架构、使用方法,以及与后端计算资源的对接方案。通过实际案例,帮助读者了解NextFlow的强大功能和灵活性。
518 0
|
Web App开发 移动开发 前端开发
【webview】微信和PC监听浏览器关闭和刷新(亲测可用)
最近做的项目里有一个新的需求,在不同的浏览器内打开的网页,监听用户的操作,比如关闭浏览器,刷新浏览器等等。 这就涉及到了几个平台:PC端浏览器,移动端IOS和安卓微信的webview等等。在微信里打开的H5网页,要获取到用户关闭页面的事件。经过对visibilitychange、 unload/pagehide 、onunload、popstate各种方法一阵测试,发现安卓里`visibilitychange`能监听到关闭事件。而iOS里使用`pagehide`能监听。
1243 0
|
测试技术 Python
自动化测试教程(17)生成测试报告
631行print >>sys.stderr, ‘\nTime Elapsed: %s’ % (self.stopTime-self.startTime)改成:print (sys.stderr, ‘\nTime Elapsed: %s’ %(self.stopTime-self.startTime))我们之前的教程学会了,读取csv文件的方法,还有数据驱动,discover方法的使用,然后我们下面的内容讲解一下自动化的高级,这一小节我们学习一下自动化测试的生成测试报告。
自动化测试教程(17)生成测试报告
|
存储 缓存 NoSQL
SpringBoot整合Redis
SpringBoot整合Redis
526 0
SpringBoot整合Redis