Skip to content
This repository has been archived by the owner on May 23, 2023. It is now read-only.

Test Scenarios for Launch

subtly edited this page Feb 26, 2015 · 9 revisions

Scenario Documentation

  • Test Function(s) - describes what is executed. Example: randomChurn(n, t)
  • Parameters
  • Example: randomChurn:n = node count, randomChurn:t = period of time
  • Configurations - Set of test parameters: 5, 60], [25, 30
  • Output - Expected output of test
  • Assertions - Expected outcome of test

The above syntax can definitely be improved however scenarios need to be reduced to a similar format and be documented as concisely and consistently as possible. The scenario should also describe in detail what test functions do.

If an existing scenario has been created as an issue please note the issue number on the corresponding line(s) below.

Infrastructure requirements not currently available

  • [needed now] tests must be deployed across multiple regions (remove pinning instance launches to single region)
  • [needed now] support for C++
  • [needed next week] ability to launch thousands of nodes (multiple nodes per instance is fine)
  • [medium priority] document scenarios
  • [lowest priority] instances deployed behind NAT

Scenarios

  • continuous testing w/go while tweaking event/timing logic (expand on this)
  • disconnect node in favor of ingress connection when uptime < 60 seconds
  • test with "random nodes" strategy
  • test with "close nodes" strategy
  • test with proposed connection strategy
  • test with n/2 = random, n/2 = close strategy
  • networkSplit(nodeLeft,nodeRight],[...)
  • kill connection between sets of nodes passed to function
  • churn(x, y)
  • continuously quit x random nodes over y seconds