Answers:
第一步是尝试确定可能导致此类问题的原因。由于这与为代码部分选择正确的语言有关,因此请考虑以下因素:
现在,一旦你已经表征了可能性的什么可以去错了,它的时间,以确保你有你需要尝试,并找出数据没有出错。
最后,一旦将问题缩小到知道如何重现问题以及导致问题的原因,就可以编写最小的自动化测试,以强制代码解决问题。如果您将问题缩小为一个类,或者一对类不能正常工作,请在该级别重现该问题。您不必生成100个线程即可,只需进行最小的测试即可导致问题100%发生。
现在,您可以修复它,并有足够的信心确保它不会再咬您。
该错误并非不可复制。您只是还没有找到如何复制它。
除非您根据某些Random()语句的返回值引发异常,否则没有错误是随机的。
我知道这看起来像是语义,但在心理上告诉自己这是令人放心的。
找出如何再现仅由于复杂的比赛条件或类似情况而发生的错误非常困难且令人沮丧。
至于如何找到它,我将在可能为您提供更多信息的地方打开/向应用程序添加一些日志记录。
接下来,告诉看到该错误的人员(无论是Devs,QA还是最终用户),请在看到错误后立即报告该错误的发生时间,然后查阅您的日志。向他们询问其他信息,并且错误可能仅由于几个不同系统的交互作用或由于竞争条件而发生
希望您能够找到潜在客户。
如果重现有时失败的相同步骤,请将其自动化并放入循环中,自动化应该会有所帮助。运行50,000次,很可能会发生。