7

很多时候,当您向开发人员报告错误时,他会说“它可以在我的系统上运行”,尽管它是一个浏览器应用程序。你如何解决这个问题?

4

8 回答 8

11

从培训/流程的角度来看:

培训你的团队,让他们知道“在我的机器上工作”不是越狱的回应。

有一个自动构建服务器

进行自动化测试部署。

您的开发人员必须知道“工作”被定义为“在测试服务器上工作”,而不仅仅是他们的机器。

从测试/调试的角度来看:

需要向开发人员展示导致错误发生的一系列操作。

您可能想要捕获显示错误的屏幕截图,或者可能想要捕获视频(使用诸如Camtasia之类的工具)。人们可能很不擅长描述他们在系统上执行的导致错误出现的操作顺序,因此您可以捕获的有关错误以及如何复制自身的信息越多越好。

从开发/环境的角度来看:

如果确实有一个错误出现在一个环境中而不是开发人员的环境中,那么找出它是在没有开发环境中出现,还是仅在您的一个开发人员的环境中出现。

从那时起,尝试减少两种环境之间的差异,以便您的开发人员可以在他的机器上看到问题。

或者,您可以另辟蹊径,尝试在生产(非开发)环境中调试问题。

这些实现细节因平台而异。

于 2009-05-08T08:24:26.753 回答
5

您需要向开发人员提供尽可能多的信息。即使是你认为不相关的东西。

我数不清有多少次我报告了一个问题,也无法重复,后来才发现一条用户最初没有包含的信息,但却是解开谜题的关键。

您还需要不接受该答案并说“您的设置和我的设置之间肯定有些不同,我们能做些什么来解决它”。

于 2009-05-08T08:28:47.477 回答
2

我们通过在本地开发之上建立一个在设置、硬件等方面尽可能接近生产系统的开发环境来解决这个问题。因此,生产环境中发生的几乎所有问题都可以在即使无法在本地开发人员机器上复制该开发系统。

于 2009-05-08T08:26:14.017 回答
2

这是我从团队中遇到的一个常见的逃避现实的反驳。我的回答通常是:“你知道,你的系统不是生产服务器,而这正是它需要工作的地方”。换句话说,这个借口根本不可接受。

我还向他们指出了可能性:

一种。本地系统和服务器之间存在配置差异。

湾。功能的某些依赖项不会在服务器上更新。

C。他们还没有清除浏览器缓存。

d。我将问题复制到暂存服务器上并向他们演示。

e. ...等等,视情况而定。

于 2009-05-08T08:28:26.320 回答
0

尝试尽可能地重新创建发现错误系统的用户:从服务器配置到机器配置,包括浏览器和操作系统等。在发布之前,您可能应该有几个不同的设置来测试您的应用程序。

于 2009-05-08T08:24:20.310 回答
0

IE Tester 是进行此类故障排除的好工具。如果您需要测试大量浏览器,那么像 Virtual PC 这样的虚拟机是您最好的选择,因此您可以在测试服务器上设置许多客户端。

于 2009-05-08T08:27:18.913 回答
0

啊,是的……书中最古老的借口。

假设开发人员和测试人员都在同一台服务器上进行测试,我会尝试通过确定开发人员机器和测试人员机器之间的区别来隔离错误。可能是小问题,例如 Flash 版本、浏览器差异或忘记清除浏览器缓存

我还建议在专用测试服务器上使用自动化测试框架和测试应用程序。

于 2009-05-08T08:30:31.823 回答
0

作为最终用户,您无能为力,但作为开发人员,您可以通过在系统中包含大量登录来避免很多这些问题 - 用户会想到的差异只是您已经测试过的简单事情,但良好的日志记录可以让您准确了解系统发生故障时发生的情况。我发现了很多不可能以这种方式发生的错误。

于 2009-05-08T08:48:13.123 回答