【发布时间】:2010-10-24 17:42:15
【问题描述】:
很多时候,当您向开发人员报告错误时,尽管它是一个浏览器应用程序,但他会回来说“它在我的系统上工作”。你是怎么解决这个问题的?
【问题讨论】:
标签: debugging remote-debugging
很多时候,当您向开发人员报告错误时,尽管它是一个浏览器应用程序,但他会回来说“它在我的系统上工作”。你是怎么解决这个问题的?
【问题讨论】:
标签: debugging remote-debugging
培训您的团队,让他们知道“在我的机器上工作”不是越狱的回应。
进行自动化测试部署。
您的开发人员必须知道“工作”被定义为“在测试服务器上工作”,而不仅仅是他们的机器。
需要向开发人员展示导致错误发生的一系列操作。
您可能想要截取显示错误的屏幕截图,或者可能需要截取视频(使用 Camtasia 等工具)。人们可能不太擅长描述他们在系统上执行的导致出现错误的操作顺序,因此您可以捕获的关于错误以及如何复制自身的信息越多越好。
如果确实存在在一个环境中出现而不是在开发人员的环境中出现的错误,那么请找出它是在没有开发环境中出现,还是仅在您的一个开发人员的环境中出现。
从那时起,尝试减少两种环境之间的差异,以便您的开发人员可以在他的机器上看到问题。
或者您可以采取其他方式并尝试在生产(非开发)环境中调试问题。
这些实现细节因平台而异。
【讨论】:
您需要向开发人员提供尽可能多的信息。即使是你认为不相关的东西。
我无法计算我报告问题的次数,也无法重复,只是后来才发现用户最初没有包含的一条信息,但却是解锁该问题的关键谜题。
您还需要不接受该答案,并说“您的设置与我的设置之间肯定有些不同,我们可以做些什么来解决它”。
【讨论】:
我们通过在本地开发之上建立一个在设置、硬件等方面尽可能接近生产系统的开发环境来解决该问题。因此,几乎所有问题都发生在生产环境中即使无法在本地开发人员机器上复制,也可以在该开发系统上复制。
【讨论】:
这是我从团队中遇到的一个常见的逃避现实的反驳。我的回答通常是:“你知道,你的系统不是生产服务器,而这正是它需要工作的地方”。换句话说,这个借口根本不可接受。
我也向他们指出了可能性:
一个。本地系统和服务器存在配置差异。
b.该功能的某些依赖项不会在服务器上更新。
c。他们还没有清除浏览器缓存。
d。我将问题复制到暂存服务器上并向他们演示。
e。 ...等等,视情况而定。
【讨论】:
尝试尽可能地重新创建发现错误系统的用户:从服务器配置到机器配置,包括浏览器和操作系统等。在发布之前,您可能应该有几个不同的设置来测试您的应用。
【讨论】:
IE Tester 是解决此类故障的好工具。如果您需要测试大量浏览器,那么 Virtual PC 等虚拟机是您的最佳选择,因此您可以在测试服务器上设置许多客户端。
【讨论】:
啊,是的……书中最古老的借口。
假设开发人员和测试人员都在同一台服务器上进行测试,我会尝试通过确定开发人员机器和测试人员机器之间的区别来隔离错误。可能是 Flash 版本、浏览器差异或忘记清除浏览器缓存等次要问题
我还建议使用自动化测试框架并在专用测试服务器上测试应用程序。
【讨论】:
作为最终用户,您无能为力,但作为开发人员,您可以通过在系统中包含大量登录来避免很多此类问题 - 用户会想到的差异只是您拥有的简单事物已经过测试,但是良好的日志记录可以让您准确了解系统发生故障时发生的情况。我发现了很多不可能以这种方式发生的错误。
【讨论】: