Tips and Tricks to Design your Test Data
What is Test Data ? Why is it Important?Test data is actually the input given to a software program. It represents data that affects or is affected by the execution of the specific module. Some data may be used for positive testing, typically to verify that a given set of input to a given function produces an expected result. Other data may be used for negative testing to test the ability of the program to handle unusual, extreme, exceptional, or unexpected input. Poorly designed testing data may not test all possible test scenarios which will hamper the quality of the software. What is Test Data Generation? Why test data should be created before test execution?Depending on your testing environment you may need to CREATE Test Data (Most of the times)or atleast identify a suitable test data for your test cases (is the test data is already created). Typically test data is created in-sync with the test case it is intended to be used for. Test Data can be Generated -
Typically test data should be generated before you begin test execution since in many testing environments creating test data takes many pre-steps or test environment configurations which is very time consuming. If test data generation is done while you are in test execution phase you may exceed your testing deadline. Below are described several testing types together with some suggestions regarding their testing data needs. Test Data for White Box TestingIn white box testing, test data is derived from direct examination of the code to be tested. Test data may be selected by taking into account the following things:
Test Data for Performance TestingPerformance testing is the type of testing which is performed in order to determine how fast system responds under a particular workload. The goal of this type of testing is not to find bugs, but to eliminate bottlenecks. An important aspect of performance testing is that the set of test data used must be very close to 'real' or 'live' data which is used on production. The following question arises: ‘Ok, it’s good to test with real data, but how do I obtain this data?’ The answer is pretty straightforward: from the people who know the best – the customers. They may be able to provide some data they already have or, if they don’t have an existing set of data, they may help you by giving feedback regarding how the real-world data might look like.In case you are in a maintenance testing project you could copy data from the production environment into the testing bed. It is a good practice to anonymize (scramble) sensitive customer data like Social Security Number , Credit Card Numbers , Bank Details etc while the copy is made. Test Data for Security TestingSecurity testing is the process that determines if an information system protects data from malicious intent. The set of data that need to be designed in order to fully test a software security must cover the following topics:
Test Data for Black Box TestingIn Black Box Testing the code is not visible to the tester . Your functional test cases can have test data meeting following criteria -
Automated Test Data GenerationIn order to generate various sets of data, you can use a gamut of automated test data generation tools. Below are some examples of such tools: Test Data Generator by GSApps can be used for creating intelligent data in almost any database or text file. It enables users to:
Datatect by Banner Software, generates a variety of realistic test data in ASCII flat files or directly generates test data for RDBMS including Oracle, Sybase, SQL Server, and Informi.
In conclusion, well-designed testing data allows you to identify and correct serious flaws in functionality. Choice of test data selected must be reevaluated in every phase of a multi-phase product development cylce. So, always keep an eye on it.
|
