Recently, i just discovered a non-deterministic behavior issue during testing together with my coworkers, which was related to the enable/disable WhatsApp option so that the user won’t be able to receive any notification about JSP/ITA1. The non-deterministic behavior is quite different from the intermittent issue, the non-deterministic behavior usually occurs with recognizable patterns but the reproducing issue is raised with different test scenarios (in this context, we’d assume, that when the existing user tries to disable their WhatsApp option, there’s a chance the user might get an invitation, since when my coworkers tried to hit another API, the WhatsApp option is still subscribing although my coworkers already disable it).

Non-deterministic behavior becomes a common problem when the data exchanges are heavily dependent on the other services. How to prevent that? By theory or practical, it’s quite hard to solve that and even if you already take preventive action, there’s a residual risk and secondary risk that will occur.

residual risk risk that still happening even though we have implemented a control to prevent that risk secondary risk the potential risk that will occur after implementing the prevention

Footnotes

  1. It’s one of our feature which has the utilities to invite a particular jobseekers to apply