Loading

Test Data Generation


The topic, we are going to discuss here is about the generation of the test data for the purpose of testing activity. Test data generation is an essential component of a software testing process, which is used to generate all sorts of test data, in order to test a software application. A little understanding of the term "test data" may assist in understanding the concept of test data generation more easily and effectively. Therefore, let's have a small overview of test data, which are used for testing a software application.

What is Test Data?

It is an especially designed data, used in testing a particular software application or program. The test data used in the software testing, may either affect the execution of the software program or may get affected itself during the execution.

Basically, a test data is used to test the response and behaviour of a software application, after getting encountered with multiple variant of data. For example, a positive test data may be used to validate the expected or desired outcome produced by the software program, whereas a negative test data may be used in dealing with the unexpected or unusual results.

Now, coming back to the test data generation. The test data needs to be generated in adherence to the set up test environment and should be in synchronization with the developed test cases, to fulfil the requirement of testing a software application. Moreover, it is not necessary to create new test data each time to test a software program. Already used test cases, may be used to identify and extract suitable test data from them.

It is preferred to design and prepare the test data much before the actual execution of the test, as test data generation is a time consuming activity, to ensure the suitable and effective test data for efficiently testing a software application. Simultaneous designing of the test data along with the execution of the tests may extend the duration of the whole testing process thereby going beyond the stipulated deadlines.

How to generate test data?

Test data may be generated using a Test data generator based on the model that for a program and every path for that program, a set of test data may be generated, which traverses the selected path, resulting into the execution of that path.

Based on the needs and different applied approaches, a test data generator may be categorized into following forms:

  • Random Test Data Generator:It is one of the simplest method to generate test data randomly, to fulfil the need of any sort of software program. However, data being generated is of very poor quality.
  • Goal-Oriented Test Data Generator:As termed goal-oriented, this test data generator is used to generate test data for some paths which are the subset of the path, from starting to exit point of a program.
  • Pathwise Test Data Generator: Test Data generator which focuses and generates test data for a particular specific path.
  • Intelligent Test Data Generator: Test data generator which produces data based on the results of the detailed examination and analysis of the program or the code.

Further, a test data may also be generated or produced using any of the following method:

  • Manually
  • Automated
  • Using already existing test data(test cases).
  • Importing data from the production to the testing environment.

Test data could be generated manually, by the testers. However, to fulfil the need of producing the large quantity of test data, so as to test a program from each possible angle & perspective in an efficient and effective manner, within a short period of time, automated generation of test data with the help of tools is preferred over the manual generation.

Moreover, with the automated generation of the test data, a tester or the testing team may gain following benefits:

  • Primarily fast and accurate to create test data.
  • Generation of both valid and invalid type of data.
  • Useful in implementing the algorithms to produce certain type of data.
  • Data of multiple formats.

Below given are some of the tools, which may be used in the generation of the test data:
  • IBM DB2 Test Database Generator
  • E-Naxos DataGen
  • Datanamic Data Generator MultiDB
  • EMS Data Generation
  • GS Data Generator

Points to Remember

Test data are generated for multiple purposes and below given points may be considered, while generating the test data.

  • Identifying and creating the best suitable test data in detecting the all possible bugs and defects in a less cost & time.
  • Creating invalid format of data, to ensure the error handling mechanism of the software program.
  • Data beyond the range of the program, to identify the upper and lower limit of the data range acceptable by the program.
  • Correct set of test data to validate the functionality of the software application.
  • Incorrect set of test data to assess the behaviour and response of the application.
  • Large amount of data, to carry out performance, load and stress testing.

In brief, it may be stated that the test data plays a vital role in the execution of the tests and forms a main part of the test environment in identifying the potentially harmful bugs and defects in the application. Therefore, the test data should be selected and generated, with the good amount of dedication and sincere efforts, to ensure the best available data for testing an application.