Reproduction is a useful tool when investigating an error. Seeing the error in action and triggering it yourself lends confidence that your fix will be successful. However, reproduction is not always a fruitful practice. A developer can pour an incredible amount of time, energy, and resources into reproducing an error and still come up without a satisfying conclusion. When reproducing an error, be selective and intentional, and try to identify dead ends before pursing them. Focus on what is triggering the error.
Noibu can be a valuable ally when reproducing an error, so we suggest augmenting your reproduction process to include elements of the Noibu toolbox. Before you begin the reproduction process, ask yourself the following questions:
- Do I really need to reproduce the error? Is the information collected from the Stacktrace, session recordings, and other resources sufficient for me to solve the problem without resorting to reproduction?
- Does the error seem easily replicable?
- Is this an HTTP or JavaScript error? HTTP errors are more difficult to reproduce, as they rely on several disparate variables–including the user's internet connection and server–that you may be unable to reproduce locally.
- Has Noibu highlighted an operating system/browser combination on which the error occurs frequently? If there's no clear combination, you're without an easy place to start when reproducing the error.
- Is there a user action that reliably triggers the error? If the error occurs primarily once a user clicks a specific button, you can likely trigger the error by testing the button. However, if the error is an
on_load
error, reproducing the error depends on specific environment combinations–operating system, browser, URL, internet connection, device, race conditions, etc. - Does the error occur frequently relative to overall site traffic? An error that occurs infrequently will be difficult to reproduce.
If the answer to both of these questions is Yes, reproduction may be an appropriate next step. However, set yourself up for success by answering the following questions:
- Do I understand what I need to have the best chance of triggering the error?
- What operating system should I try?
- What browser should I try?
- What sort of device should I try?
- Which page has the most error occurrences, and what action should I attempt?
- Do I have access to the environment(s) necessary to trigger the error? For example, if the error occurs on mobile devices but you're unable to simulate a mobile environment, you may be unable to reproduce the error.