3、它让开发团队可以更快的修复bug。

  4、它可以以更低的代价确认和修复bug。

  5、它可以让开发团队在发布软件之前获得更多的前期用户反馈。如果开发团队正在使用敏捷开发,自动化错误报告可以让开发团队根据用户的反馈快速制定出迭代的计划,从而缩短迭代的周期。

  微软MVP和IT顾问Ed Blankenship解释说:“知道异常发生的频率对于修复异常来说是非常有帮助的。知道bug的详细信息对于修复bug也是必不可缺的。“

  自动化错误报告是怎样工作的

  一个理想的自动化错误报告系统可以让用户方便地告诉开发团队软件产品的问题在哪里。在理想状态下,当软件发生异常的时候,用户应该可以得到一个简单明了的错误提示并且可以通过用户界面发送错误报告。这可以大大节省用户花在描述和反馈错误上的时间。所有的必要信息都应该被自动收集,而不需要用户操心。

  一个错误报告应该包括了完整的堆栈信息和异常上下文信息,包括运行时变量的值。

  另外一个特性是用户可以在异常报告中添加额外的自定义信息。这些信息包括日志文件,截图,或者是用户的联系信息。

  隐私问题和不合理的错误报告

  发送错误报告的时候经常会出现下面三个问题:

  1、错误报告会附带用户的隐私信息。

  2、用户反复遇到相同的错误,但是每次系统都要求用户重新发送一次错误报告。

  3、开发团队不停地收到相同的错误报告。

  第一个问题涉及到用户的信任程度。再好的错误报告系统也不可能保证不会把用户的隐私信息传送给开发团队。好的错误报告系统应该考虑到敏感信息的问题,这样可以尽量避免发送敏感信息。如果开发团队没有能够控制敏感信息的传送与否,那么错误报告系统应该可以让用户选择是否信任开发团队并且把敏感信息发送给开发团队。

  第二个问题的解决方法是用户应该可以自定义错误报告发送系统。

  Red Gate的程序员Alex Davies说他总是会在合适的时候才显示错误报告提示,并且给用户“不要再提醒了。总是发送报告。”的选项。

  针对第三个问题,开发团队应该把错误报告进行分类。Davies告诉我们应该把收到的错误报告与bug追踪系统进行同步以甄别是否是一个有效的错误报告。

  使日常工作更加方便

  随着时间的推移,自动化错误报告的好处会显现出来。其中有一条是重要的,那是可以让用户和开发团队都可以更方便地工作。一个IT决策者讲的话很好的概括了这一点:

  “用户只需要点一下按钮可以把信息反馈给开发团队。这避免了不停地电话或者邮件以及不完整的错误报告。这的确可以让用户和开发团队都更方便地工作。”