Read this blog post to have a perspective about the Test Data and Test Data Management. The point is, if I'm not aware of a test and what does it tell me to explore, I cannot think of a Test Data.
That said, if I know what I should be evaluating as part of performance, why, when and how, this will help me to come up with a thought for identifying the tests and its test data for the same.
The ninth question from season two of 100 Days of Skilled Testing is:
What role does data management play in performance testing, and how do you ensure the availability of suitable test data sets?
Testing and "Ensure"
We test and have tests in testing, because, there is no "sure" and "ensure" idea in software. But, we presume on a rational basis upon, "if, these are this", in a given context when the software processes.
Now, ask yourself, how can we ensure the availability of suitable test data sets?
In my opinion, the Test Data is often misunderstood. This is the primary problem and should be the first problem, when asked "what are the challenges in creating the test data?".
When you read the concluding lines of this blog post, you will learn why I say this.
Test Data and Immunity
In my opinion and experience in practicing the Test Engineering, I see, the Test Data should be a viral strain and it should have its variants. When this test data is used to test [experiment, test investigate, and debug], how do the software and its ecosystem respond?
- Does the software and its ecosystem is immune to this test data?
- Does it exhibit any risks and problems?
- If yes, then, do the purpose of my testing and automation is accomplished with this test data?
- Immune
- Not Immune
Performance Testing and Test Data
- What is that I'm testing as part of performance?
- What do I want to evaluate in the name of performance?
- What part of the system is evaluated for its performance?
- Should I evaluate this in isolation or as a wholeness of the system?
- What domain knowledge and information I should have when testing for performance?
- What system's architecture and internal details I should understand and be aware to test for performance?
- Is this the first delivery? Or, do we have this system running in the production?
- If it is first delivery,
- How will I create the test data to suit the consumers of this application?
- What are the key workflows of business that we should be evaluating for its performance?
- Do all workflows and sub-systems need the evaluation for performance, and on priority?
- How do I map the fragmentation of users and their data [with its patterns]?
- What are the infrastructure and ecosystem characteristics that should be part of the test data identified?
- Does caching have any effect if the same pattern of data is used?
- If it is a running version in production
- Can I refer to the DB to figure out the pattern for the particular workflow that I'm evaluating?
- How can I match the test data to have the production data's characteristics and attributes?
- What is the backup strategy for the Test Data?
- How do I version control the Test Data?
- Which version of the Test Data I should be using?
- What is the threshold I'm targeting with Test Data?
- What should be the size of the data in DB when I make the IO and RW operations?
- What should be the network capability when I make the IO and RW operations?
- What should be the hardware capability when I make the IO and RW operations?
- What should be the geographical traffic and its pattern when I make the IO and RW operations?
- More of such factors will be considered when identifying and deriving the test data.
- What is the client error yielding Test Data that I should have for the workflow?
- What is the server error yielding Test Data that I should have for the workflow?
- What is the redirection yielding Test Data that I should have for the workflow?
- What is the no-response and no-change Test Data that I should have for the workflow?
- It helps me to know:
- What are the tests I should be doing?
- What kind of preparation I should be having in my practice to create the Test Data for these tests?