我们一直在考虑将所有意外的客户端错误自动记录到我们的错误跟踪器中。作为参考,我们的应用程序是用Java/GWT/Guice/Hibernate/Jetty编写的,我们的错误跟踪器是托管版本的FogBugz,它可以通过编程或通过电子邮件创建错误。
我看到这样做的最大问题是,在循环中发生的堆栈跟踪通过创建数千个案例而使错误跟踪器过载。有没有人有一个建议的方法来处理这样的自动错误创建?
如果你使用的是FogBugz bugscout(也可以在这里查看最新的文档),那么它就有能力增加相同问题的出现次数,而不是一次又一次地为相同的异常创建新的案例。
你确定要这么做吗?
这显然取决于您的应用程序,但即使仔细处理可能生成大量错误报告的情况(因为循环),这种方法仍然可能最终填充错误跟踪器。
这个怎么样?编写你的应用程序,以便每次抛出异常时,你收集有关客户端的信息(IP,登录,应用程序版本等),并通过电子邮件将这些信息+堆栈跟踪(或整个异常对象。tostring())发送给你自己(或开发团队)。
然后在你的电子邮件客户端上,设置一个过滤器,对收到的邮件进行分类,并将其放入一个漂亮的文件夹中供你稍后查看。
因此,你可能会收到大量关于一个或多个问题的电子邮件,但你并不真正关心,因为你自己在错误跟踪器中输入了问题,并轻松删除了大量邮件。
这就是我为我的应用程序(这是一个客户端-服务器桌面应用程序)所做的。在这种情况下效果很好。
希望有帮助!
JIRA支持使用所谓的服务: documentation自动创建问题。
有没有人有一个建议的方法来处理自动错误创建…?
嗯,我有。别那样做。
你能从中得到什么?测试人员的努力呢?根据我的经验,任何可以节省的精力都会多次被浪费,因为开销会转移到必须分析和维护自动创建的票据的开发人员身上。更不用说由此引起的整体挫败感了。
- 我能想到的最不适得其反的方法是建立一个专门的bug类别或问题跟踪器实例,这样只有测试人员才能看到和使用它。在那个"沙箱"中,自动生成的bug可以分配给测试人员,测试人员随后将分析和汇总的 bug报告传递给开发人员。即使在这种情况下,我也建议密切关注用户(测试人员)对系统的看法。如果他们,比如说,开始抱怨系统,考虑尝试用手动的方式来做事情。