Internal Testing Tool
In PS2, one of the most complex parts is to check what happens under certain circumstances with multiple users investing in the services or disconnecting, all at the same time. We can try to create tests and examples to simulate some actions, but we noticed that it was far from reality. For this reason, we created the Randomizer!
The Randomizer is an internal tool that creates services, makes that investor connects to them, disconnects or reduces his balances, or hard disconnects in a completely unexpected way allowing us to analyze and detect possible errors in thousands of scenarios.
Here you can see, for example, the list of our fictional users (I hope you like the series Money Heist, if you haven’t watched it, I will recommend it to you):
And our list of fake services, ready to generate some profits and losses for the users:
Every time that we start our PS2 project, we have this fabulous look and feel
And this is an example of how the execution of the script:
Here we can see how the new accounting process is executed in each of the services, and how much balance each service has as invested or in hard disconnection.
This can simulate hundreds of days of profit-sharing 2.0 until it finds a bug. We have set it up to allow us to review and adjust the scenarios even to only certain conditions. So for example, if we want to run only for one service or disable the hard disconnections, it is possible.
And here you can also see it in an example with more details, where we can see each of the times that users invest in the service or that request to invest out funds additionally to the accounting process.
These simulations are helping us to create a more solid system and to guarantee that we cover complex scenarios before launching it to the world.