使用桌面应用程序解决客户端盒子上的问题时,您需要哪些信息?

发布于 2024-08-23 13:04:24 字数 606 浏览 4 评论 0原文

我们编写了一个 Windows 桌面应用程序,该应用程序安装在我们无法访问的数千台计算机上。当这些用户之一报告错误时,即使描述非常详尽,也有其他信息可能会有所帮助。

我们目前正在开发自动反馈代理,这意味着我们将能够访问非常详细的信息。但就像糖果店里的孩子一样,我们不知道从哪里开始。 在同一情况下,您会在反馈包中包含哪些信息?哪些信息有助于我们重现该错误?

到目前为止,我们得到的是:

  • 我们的应用程序的版本号、
  • 操作系统和操作系统版本号
  • 代理信息
  • .NET 版本和更新号
  • 特定于我们的应用程序的信息(例如 数据版本)
  • 访问和错误日​​志

请注意,这类似于此问题,但是我们对在程序崩溃时获取信息并不像在用户遇到错误时那样感兴趣。

编辑:澄清:不询问用户在出现错误时应提供哪些信息,而是询问我们应该以编程方式收集哪些信息?

We write a Windows desktop application that is installed on a few thousand computers that we have no access to. When one of these users reports a bug, even if the description is quite thorough, there is other information which may be helpful.

We are currently working on an automated feedback agent, which means we will have access to very detailed information. But like a kid in a candy store, we're not sure where to start. What information would you include in your feedback package in the same case? What is useful to help us reproduce there error?

What we've got so far is:

  • The version number of our app,
  • OS and OS version number
  • Proxy information
  • .NET version and update number
  • Information specific to our app (eg.
    data versions)
  • Access and error logs

Note that this is similar to this question, however we're not so much interested in getting info when the program crashes as we are as when the user experiences a bug.

Edit: Clarification: not asking for what information the user should give in the case of a bug, but rather what information should we gather programmaticaly?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

吹泡泡o 2024-08-30 13:04:24

即使您拥有所有这些信息,重现问题也可能很困难。当用户描述他们如何创建错误时,他们经常会误解关键步骤 - 当他们不了解应用程序的内部工作原理时,他们很难知道哪些区域是关键的。您可能想要实现一种跟踪用户操作的方法,例如根级事件处理或其他一些方法 - 如果您有撤消/重做功能,那么我确信这就足够了。然后,您可以在错误报告中包含操作链的最后 (x) 个步骤。

Even if you have all of that information, reproducing the issue can be difficult. When users describes how they created the bug they're often mistaken about key steps - it's hard for them to know what areas are critical when they don't know the inner workings of the application. You might want to implement a way of tracking user actions, such as root-level event handling or some other means - if you have undo/redo functionality then I'm sure this would suffice. You could then include the last (x) steps of the action chain in the error report.

懒的傷心 2024-08-30 13:04:24

编辑:我想我误解了你的问题。我以为您正在讨论从报告错误的客户那里获取哪些信息,而不是已经计划好我在这里描述的内容。无论如何,我会把它留下来供参考。

在类似的情况下,尽管用户较少,我们的应用程序还是有一个“打包日志以获取支持”按钮,该按钮将创建一个包含所有日志文件以及当前打开的项目文件(如果有)的 zip 文件。您描述的所有其他信息已经是日志文件之一的一部分。这样,客户可以方便地将 ZIP 文件发送给我们,这可以从主应用程序窗口完成,而无需打开项目文件或连接到网络接口,这是可能出现问题的两个要点。这比依赖用户“手动”提供反馈要容易得多。

除此之外,必须提供重现问题的确切步骤。其中大部分通常位于项目文件本身中(位于我们获得的 ZIP 文件中),仅缺少几个步骤。

除了您已经列出的内容之外,对此似乎很重要的事情:

  • 用户/帐户信息。这可能有助于解决权限问题。您可能想要包含时区、区域设置、Windows 主题等内容。
  • 应用程序配置,包括其安装位置。
  • 正如已经说过的,用户正在使用的当前文件,因为这可能是问题的原因。
  • 用户设置,即应用程序为每个用户存储的数据。看到这些奇怪的东西。 MRU 列表也可能有帮助。

Edit: I think I misread your question. I thought you're talking about what information to get from a customer reporting a bug, rather than already planning what I describe here. I'll leave it for reference anyway.

In a similar situation, despite fewer users, our app got a "Package logs for support" button which will create a zip file with all log files, and the currently opened project file, if any. All other information you described is already part of one of the log files. This way, a customer can conveniently send the ZIP file to us, which can be done from the main application window without opening a project file or connecting to a network interface, which are the two main points where something can go wrong. This makes it so much easier than to rely on the user providing feedback "by hand".

Other than that, the exact steps to reproduce the problem must be available. Most of that is typically in the project file itself (which is in the ZIP file we get), with only a few steps missing.

Things that seemed to be important for this, other than what you already listed:

  • User/account information. This may help with permission issues. You might want to include things like timezone, locale, Windows theme.
  • Application configuration, including where it is installed.
  • As already said, the current file the user is working with, because this may be the cause of the problem.
  • User settings, i.e. the data the application stores per user. Seen weird things with these. MRU list may also be helpful.
‖放下 2024-08-30 13:04:24

除了应用程序的基本状态(版本、配置等)之外,要获取的最重要的信息是:

  • 重现错误或 bug 所需的步骤,包括可能使用的输入
  • 预期输出
  • 实际输出
  • 如果您需要跟进(如果您的软件是匿名使用的),请提供联系信息。

这些信息足以解决 99.9% 的问题。对于其余的,跟进并获取您认为有助于解决问题的任何详细信息(希望此时能够更好地理解)。

Aside from the basic state of the application (version, configuration, etc.), the most important information to get is:

  • The step(s) required to reproduce the error or bug, including the inputs used if possible
  • The expected output
  • The actual output
  • Contact information in case you need to follow up (if your software is consumed anonymously)

That will be enough information to solve 99.9% of the issues. For the rest, follow up and get any detailed information you think will help solve the problem (which, hopefully, will be far better understood at this point).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文