Debugging 如何跟踪仅限客户的bug

Debugging 如何跟踪仅限客户的bug,debugging,Debugging,情景: 一位客户以一种近乎无用的方式报告bug,“有时当我按下按钮A时,它不工作” 每次你和他们交谈时,故事总是在不断变化“按下按钮B后,按钮A似乎出了问题”“现在按下按钮C后,按钮A出了问题”“按钮A出了问题,不管按钮B和C是什么,这都只是巧合” 我的办公室里有一个测试台,可以看到按钮a工作得很好,我从来没有遇到过任何问题,无论我尝试了多少次,都无法复制客户的问题 管理层120%确定问题在代码中,不可能是客户的硬件问题 可以采取哪些步骤来跟踪此问题?在通知管理层代码不是问题所在且您无法修复之前

情景:

一位客户以一种近乎无用的方式报告bug,“有时当我按下按钮A时,它不工作”

每次你和他们交谈时,故事总是在不断变化“按下按钮B后,按钮A似乎出了问题”“现在按下按钮C后,按钮A出了问题”“按钮A出了问题,不管按钮B和C是什么,这都只是巧合”

我的办公室里有一个测试台,可以看到按钮a工作得很好,我从来没有遇到过任何问题,无论我尝试了多少次,都无法复制客户的问题

管理层120%确定问题在代码中,不可能是客户的硬件问题

可以采取哪些步骤来跟踪此问题?在通知管理层代码不是问题所在且您无法修复之前,您如何表明您已经涵盖了所有可能的基础


编辑:软件是嵌入式固件,而不是在计算机上运行的应用程序

由于您的客户在世界的另一端,我猜您的办公时间不同,这使得远程查看他们在做什么变得困难。如果办公时间不是问题,那么你可以要求他们让你观看他们的屏幕,同时他们试图重现问题。有助于远程查看过程的软件包括:

加入我(免费)—

LogMeIn-

GoToAssist-

除其他外

如果不可能进行远程查看,另一种选择可能是让他们使用步骤记录器记录过程(这是Windows 7和8内置的,因此只有在他们使用其中一个时才有用)。有关如何运行它的指南,请参见:


然后,他们可以向您发送此文件,这意味着您可以确切地看到他们在做什么以及结果是什么。

经常出现的问题是,客户忽略了一些对他们来说似乎无关紧要的细节(例如,使用前务必将所有东西都浸入水中),但实际上是原因的另一部分。理想情况下,您需要尽可能多的细节。如果可行,请亲自访问以查看正在运行的bug。如果没有,请查看他们是否可以从开始到结束进行视频录制。

您可以观看客户重现问题吗?也许在客户的应用程序中打开一些调试日志,以便从他们那里获得更详细的信息?(如果应用程序没有详细的日志记录,您必须先添加。)客户位于世界的另一端,很遗憾,它是一个嵌入式固件,几乎没有任何类型的日志记录,只有LED指示灯。问题是它的嵌入式固件不是计算机上的应用程序抱歉,我在您的评论中忽略了这一点,完全不同的场景。我猜您面临的主要问题是,您从客户那里获得的信息缺乏连贯性——不幸的是,这可能意味着您必须简单地告诉他们,您无法使用受支持的硬件重现问题,并且您需要关于导致问题的事件的更具体的细节。也许他们可以用摄像机记录过程,这样你就可以确定如何再现问题。或者,你可以根据他们列出的事件编写测试计划,再现问题,并显示你已经测试了相同的事件序列,没有错误。这样一来,他们就必须承认,要么是本地存在硬件问题,要么是他们掌握了如何复制错误的细节。