Uploaded image for project: 'Realm JavaScript SDK'
  1. Realm JavaScript SDK
  2. RJS-46

Randomized stress testing

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Unknown Unknown
    • None
    • Affects Version/s: None
    • Component/s: None

      In an attempt to increase the likelihood of catching bugs in corner cases of the Realm JS API which might surface from the upcoming upgrade to Realm Core v6, we could implement randomized tests on the API surface of Realm JS.

      Most of our current unit and integration tests operate on single Realms for a few seconds and does exercise multiple (seemingly unrelated) parts of the API in sequence.

      In particular we would like randomized testing which:

      • Execute semantically valid operations on multiple Realms for a longer period of time (hours).
      • Writes a trail of actions to a log, to enable easy replay of failing tests.
      • Uses a seeded pseudorandom generator, to enable regenerating the actions for a failing test.
      • Continuously checks invariants, either with a model-based approach or comparing end states of parallel executions with different versions of the library.
      • Is resilient to crashes, by capturing the crash back trace + trail of actions which led to the crash and continuing tests from a clean state.

            Assignee:
            kraen.hansen@mongodb.com Kræn Hansen
            Reporter:
            brian.munkholm@mongodb.com Brian Munkholm (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: