In this engaging task, you’ll assume the role of an online marketplace development team leader. You’ll navigate through the entire application lifecycle, encountering and successfully resolving various challenges.
So, you’ve just taken the lead of the team, and during the first meeting, you’re given all necessary information:
As the next step, in order to set up your workspace, please make sure the required software is installed on your computer. Here are the tools you will need:
Use your favorite command-line terminal, such as Powershell
, GitBash
, or CMD
for Windows, or your preferred terminal for Linux or macOS. To verify it’s working correctly, open your terminal and enter the command, replacing the [YOUR_USERNAME]
placeholder with your name:
echo Hello [YOUR_USERNAME]!
Docker (version 20.10 or later) with the Docker Compose plugin. In your terminal, run the following command to verify your version, together with the docker compose
command:
docker --version
docker compose version
Git client. Run the following command to check your version:
git version
Once you run those, you should end up with something like this:
Additionally, you’ll need:
In a meeting with the company’s management, you discover that the sales department aims to expedite the delivery of marketplace features by 25%. This is due to an increasing competition from other marketplaces.
The next step is to organize a brainstorming session with your team to identify the obstacles preventing the release of more features than we currently deploy. The following points were left on the marker board after an intense discussion:
After the discussion, you decide to meet with the Ops/DBA team to discuss how to make the dev/test databases look more like production ones, and to identify any obstacles in the process. Here’s what you discovered:
In a recent team meeting, a decision was made to optimize the bug fixing and performance enhancement processes. Firstly, this includes creating a test database populated with real production data. This means that data from the production database should be periodically replicated in test/dev databases in the automation mode. Sensitive information, such as customer personal details, finance information and so on, would be anonymized. You have been assigned to complete this task using Synthesized TDK and its Masking mode.
Therefore, you proceed as follows:
To acquire auxiliary files and gain access to the necessary databases, run the following commands in your terminal:
git clone <https://github.com/synthesized-io/tdk-quest.git>
cd tdk-quest
docker compose run databases
postgres
value as a database name, schema name, username and password):
localhost
or 127.0.0.1
) via port 13600
. Make sure that this database contains a schema of the marketplace and actual data, including customers, staff, payments, and so forthoutput database
, on your server through port 13601
. Make sure that this database doesn’t include any schema, database objects, or data. After completing all the steps, this database will be shared with your team’s test and development personnelconfig.tdk.yaml
file in your preferred code editor. This file contains a basic Synthesized TDK configuration for masking, or in other words, anonymizing your production database data. Refer to the documentation learn more about this fileRun Synthesized TDK using this configuration file using the following command:
docker compose run tdk
customer
table in the production database and attempt to locate it in the output databaseKEEP
mode only for these tablesGENERATION
mode for the address
and staff
tables to make the data in the reports appear more realisticAfter making the necessary changes in the configuration file, restart the TDK transformation:
docker compose run tdk
To thoroughly examine your output database, run tests that cover the new requirements again:
docker compose run check_masking
If everything is correct, you will see text indicating successful tests:
[11:24:42] All is good. No failures. No warnings. No errors.
All is good
message in your terminal.The sales team plans to announce up to 80% discounts during Black Friday, which is a month away. This strategy is anticipated to significantly boost our customer base and sales during this period. Consequently, we will need to expand our staff by 20% to handle the surge in orders.
Therefore, it’s crucial to ensure that all your systems can successfully handle the anticipated high load, preventing any loss of profits. As the head of the development team, it falls on you to confirm that the marketplace can withstand this increased load and to make any necessary optimizations to accommodate the expected traffic.
First, generate a realistic volume of data in development and test databases using Synthesized TDK and its Generation mode to begin load testing. The specific requirements include:
customer
tablepayment
tablestaff
tableAfter making the necessary changes in the configuration file, start the TDK transformation:
docker compose run tdk
To thoroughly examine your output database, run tests that cover new requirements again:
docker compose run check_generation
If everything is correct, you will see text indicating successful tests:
[11:24:42] All is good. No failures. No warnings. No errors.
All is good
message in your terminalCongratulations! If you’ve reached this point, it implies that:
We hope that Synthesized TDK will be beneficial in addressing your needs for high-quality, realistic, and secure data for testing and development. We’re ready to answer all your questions and provide necessary assistance. Please feel free to email us at support@synthesized.io
Additionally, we recommend joining our social media, where you can find more useful information related to test, fake, synthetic, obfuscated, anonymized, and generated data, among other related topics:
And finally, we ask you to fill in a little questionnaire that will help us become even better and solve our customers’ problems even more effectively.
Thank you for your attention and support. Let’s stay in touch.
Synthesized TDK Team