Bulk data for system and release tests

Best-Practice: Test data procurement
in the context of continuous software development (PART 3/3)

Part 1 and Part 2 of this article dealt with the creation of a realistic database for test data through the pre-production. After that, the focus was on the actual development and testing of the individual features. This takes place in a development environment and is followed by regression tests. Next, the feature is removed from the development environment. Before final release, further tests must be performed.

Part 3 – Bulk data for system and release tests

Before the new or modified applications go live, system, release, load or performance tests are applied. For this purpose, no fine-grained customized test case data is needed, but production-related data in larger quantities is required. These tests are usually performed by a separate test group or the QA department in their own environments.

These environments must be provided with current production data on a regular basis, either monthly or even weekly, depending on the cycles in which production updates are performed. For performance and cost reasons, these data renewals are performed – by means of table copy – at table level.

  

Fig. 1 – To ensure that the new feature works in the live  environment, further tests are carried out with new data from preproduction. Table adjustments are documented in a script.

 

Documentation of structural changes 

However, the copied tables still have the data structure of the current productive version. It is possible that this has  changed in the current programming. If so, the tables must be adapted to the partially changed structures of the new tables, e.g., by additional columns or changed data types. These structural changes should be centrally documented and best done using a conversion script. 

This script is useful in two ways. Firstly, it automates the test data provisioning, i.e. at each further data renewal it  automatically brings the data into the correct form. And secondly, it will be needed anyway when the new version goes live. All the better if it has already been used and tested.

In order to obtain an even broader coverage of the mass tests, data from the specific module or component tests can be mixed with production data. Now – as in other environments previously – a baseline should be created. This again serves as a reference data pool to restore the database after running our regression tests.

  

Fig. 2 – The next step is to enhance the mass test data with the unit data. Finally, the system test database is stored as another baseline.

 

Conclusion: 

These approaches allow for extensive testing during the entire development cycle. On the one hand, this applies in an  agile context with continuous deployment. On the other hand, the methods shown can also be used in the test phases of  a classic development model. 

Suitable test data is available in every development phase. Test environments are factually separated. Functional testing  and regression are interlocked. A frequent enough renewal of preproduction not only enables testing of the upgrade, but also decouples production and development resp. testing.

With the UBS Hainer TDM Suite, all mentioned processes can be adapted to suit current needs and automated. We would be happy to advise you based on your specific requirements.

CURRENT POSTS

TDM Solution – Make or Buy?

The TOP5 ARGUMENTS why developing your own test data management solution is no longer profitable today. TDM has become a complex issue. For this reason, there are experts today who offer mature TDM solutions to the market

Read more »

Test data procurement – Three basic options

In the process of software development, tests need to be performed repeatedly. Depending on the stage of development, various test data, from individual test case data to bulk data, is required. There are three basic options for obtaining this test data: The manual creation of test data, the creation of synthetic test data and the conversion of productive data into test data

Read more »

Bulk data for system and release tests

Best-Practice: Test data procurement in the context of continuous software development (PART 3/3). Before the new or modified applications go live, system, release, load or performance tests are applied. For this purpose, no fine-grained customized test case data is needed, but production-related data in larger quantities is required. These tests are

Read more »

Customized test case data for functional, component and regression testing

Best-Practice: Test data procurement in the context of continuous software development (PART 2/3). The further development of an application usually means that different features or even bug fixes need to be implemented. Ideally, each feature gets its own environment. This environment contains only the relevant data for that particular case.

Read more »

Green light for automated
Test Data Management

Take advantage of our free initial consultation to quickly and easily determine your optimal and individual options!

Green traffic light