BreadcrumbHomeResourcesBlog BlazeMeter Introduces Test Data February 3, 2022 BlazeMeter Introduces Test DataTest Data ManagementBy Petr VlasekContinuous testing, with its various components such as functional or performance testing, is a critical step to ensure production quality. Testing should happen as early as possible during the software development lifecycle. It should be automated, seamless, and ready to be triggered anytime. And can locate and generate the right test data at any time. Therefore, BlazeMeter has introduced Test Data management across its functionalities. Let us examine how this works with an example.Table of ContentsEveryone Needs Test DataThe Shifting Test Data LandscapeBlazeMeter Test Data to the RescueWhy BlazeMeter Test Data Management?Getting Started is EasyTable of Contents1 - Everyone Needs Test Data2 - The Shifting Test Data Landscape3 - BlazeMeter Test Data to the Rescue4 - Why BlazeMeter Test Data Management?5 - Getting Started is EasyBack to topEveryone Needs Test DataImagine, you are implementing a new user loyalty program for your application, and you want to functionally test it as soon as possible during the development. But for that to happen you need some meaningful test data that will certify the accuracy of various use cases and their combinations. But you don’t have that.You have just finished code changes in the latest version of the loyalty account creation process, and you need to ensure that performance of the application is not negatively impacted. However, for this type of load test you need to have thousands of new account data that are unique and yet accurately represent the responses that a user could input. But you don’t have that.In addition, you have simplified your testing setup by using a mocked version of a 3rd party user screening service, but you still have a tough time when your mock must support different test scenarios that require specific data to be returned from the mock for every scenario. In short, your mock lacks the sophistication needed to return varying responses during a test. So, you don’t have that either.Does this test scenario sound familiar? Besides these three illustrative examples, there are many more from your everyday life as a tester or developer. There is always some aspect of your testing that requires a good set of test data to support your specific testing needs.This does not come as a surprise. It is a reality we must face – it is the nature of the testing. We cannot avoid the fact that every test requires test data. Sometimes you may be looking for a large quantity of data to support high scale load tests. On the other hand, your test may require quality test data with sufficient variety of data to test thoroughly all meaningful combinations of inputs according to the specifications and requirements of the application. Good test data is usually in short supply. Back to topThe Shifting Test Data LandscapeIn addition to finding high-quality test data, there are challenges of how to seed the necessary data to your test environment to have it ready for specific test scenarios that need to be executed. The opposite is also true where you must figure out how to run tests according to the data that are already seeded to the test environment – because obviously you cannot run your test with username “Jack” while your test environment uses “John” as the only user defined there. And very often you must deal with other components or 3rd party services where you wish to have control over which data they return to your application to allow you to test specific scenarios.But guess what? Very often, due to various time constraints, such as the end of a sprint or a quickly approaching release date or the difficulty of dealing with complex data, testers and developers are forced to use just some, typically simple, data to test at least something. We usually refer to this approach as “happy path testing.” As a result, some limited scenarios are tested, but we all know the testing could be done much better if we could just get better test data. This gap leads to defects and quality issues that surface in production where the application or service must deal with numerous data inputs that were never tested. Every test requires data, but meaningful and successful tests require the right data. Back to topBlazeMeter Test Data to the Rescue With the launch of BlazeMeter Test Data, the challenge that prevents easy creation of better test data and better tests is mitigated. BlazeMeter Test Data provides a solution to the challenge that testers have had for years: testing without the right data or the right quantities of data which leads to incomplete and insufficient results.A quick rundown of BlazeMeter Test Data Management:Easily define, maintain and generate desired test data for your BlazeMeter functional and performance tests and virtual servicesKeep test data under control across your test environment and its componentsMake your tests, test scenarios and virtual services more robust and comprehensive than ever beforeBlazeMeter Test Data lets developers and testers easily define test data requirements in a form called a data model and use and share these models across BlazeMeter for both functional and performance tests as well as in virtual services. BlazeMeter has a built-in synthetic data generation engine that builds your defined test data on the fly. There are also options to retrieve existing data from test environments or seed generated data there. In case you already have test data defined in a CSV (Comma Separated Value) file, you can use and combine existing CSV data with synthetic data to augment your static CSVs and turn them in “Smart CSVs” with dynamic data columns. Back to topWhy BlazeMeter Test Data Management?Consider five reasons why BlazeMeter Test Data is your best option for power application testing and virtual services use:1. Variable Data – does your test require unique ids, e-mail addresses, names, SSNs, credit card numbers and other structured or real-looking values? Does your test require these in quantities of 10, 1000 or hundreds of thousands? No problem – BlazeMeter provides 60+ data generator functions and more than 50 built-in seedlists that help to easily get names, addresses or other structured data according to your testing needs and desired quantity – including arithmetical, string and J JavaScript functions to fine-tune your data requirements. 2. Dynamic Data – get random data, date and time values or live data from external services exclusively for every test execution or running virtual services. Because the data models are linked with tests and mock services, every test execution or virtual service run is fed freshly generated and calculated data. For example, imagine your test scenario requires tomorrow’s date to be used as one of the input values for the test. With static data, the “tomorrow” will quickly become “yesterday”. But with BlazeMeter Test Data your test will always get the right date for tomorrow.3. Compliant Data – data privacy and compliance are important topics these days. In order to test your application or services thoroughly your data must be as close as possible to the real thing. But obviously the data cannot be real or derived straight from production because of privacy, regulations and other factors. By using synthetic data generation from BlazeMeter you are always ready with accurate, compliant and flexible data. 4. Consistent Data – data that drives your tests must be in sync and aligned with data in your test environment and with data that may be flowing through other components and services – which could be mocked. BlazeMeter Test Data keeps a consistent test data plane to ensure test data consistency across all spots relevant for your testing.5. Maintain and Reuse Data – create data models for different types of data and reuse them across your tests and mock services. Share them with your team members to accelerate your entire development. In addition, BlazeMeter will ensure that your tests and virtual services will always get the right data declared in the associated data model definitions. There is no need to keep any tables, sheets or wiki pages with description which test requires which data anymore.📕 Related Resource: Learn more about What Is Test Data? How to Prepare For Scenarios With BlazeMeterBack to topGetting Started is EasyThe BlazeMeter Test Data functionality is provided for any level of service, including free. Head over to BlazeMeter.com to sign up.For additional training, there's a free course--BlazeMeter Scriptless Testing: Advanced Features course at BlazeMeter University. We encourage you to go through this training to get more acquainted with this new dimension of capabilities for your testing.Achieving true shift-left testing is easier than you think. Don't get blocked by having poor or limited data for your testing early during development. Define data models according to your needs easily and run your tests with them. There is no need to learn other tools or wait for somebody else to provide you with test data you need – especially in cases when you are the one with the best knowledge about which specific data your testing requires. Your search for great test data is over.START TESTING NOW Related ResourcesHow to Increase Developer ProductivityIntroducing BlazeMeter Test Data: Build Test Data On-the-FlyBack to top
Petr Vlasek Product Management, BlazeMeter Petr works as Product Manager for BlazeMeter Continuous Testing platform. In past he worked in architect and product roles in areas of workload automation, application security and blockchain research. His current passion is looking for innovative ways how to take continuous testing to the next level and make it developer-friendly.