Software testing process is certainly one of the most important components at the stage of development of a new web product. Together with the rise of complexity and versatility of programs, a complexity of testing the functionality of the product in development is rising.
We can perform difficult tasks in a context of software testing services and increase the speed of products testing with the help of the tools and techniques of test automation.
The most actual task which can happen in the process of working with complex projects is the efficient deployment of necessary testing conditions of complex hierarchy for an efficient run of the environment which needs completely versatile approach. Such tasks are quite common for the products connected with internet protocols which use XML technologies, SQL interfaces for databases and also a big number of other various program components.
Any test data must be prepared for every test case separately. You shouldn’t always hope to use templates, it’s easier to create individual structures, working with which will help you not only to cover enough amount of values and a logic of the project with tests but also to make the process of testing more efficient and productive.
Usually, test data consists of:
- Real test data: you need to check whether a system and its functions meet the established requirements, whether data is stored in a proper way;
- Fictional test data: you should check whether the system correctly reads invalid values, shows a user the correct messages which tell that data is invalid;
- Incorrect data values: you need to test how a system reacts to information entered in the wrong format if there are any error messages;
- The absence of values: it’s very important to test a product on its use of fields without values and also run the application in the process of cross-platform testing.
In the next chapters, we will analyze what tools for qualitative test data are available today and which ones must be used by a skillful and qualified QA.
Today you can find in the net numerous materials on load and unit testing. Everyone tries to write tests, a program code is written only with the help of TDD, on the basis of Apache JMeter/ab.
But as we know, any testing is to some extent connected with the testing data. And it must be generated and created.
Yes, this problem is not big but what to do with load testing where you should check a work of possible1 or 10 million objects.
And here Databene Benerator appears. It helps to reach 2 targets at once: to correctly generate test data and completely anonymously “freeze” them.
The utility works on the basis of your XML map to quickly generate XML/CSV files directly to the database.
It supports the following bases:
- MS SQL Server;
The created script is a list of specialized tags in which a tester can mention the details on how and in which way the data will be created. It sounds simple but it has some peculiarities.
Advantages of its usage:
- All generated data are in one place and in one format. Commands are run only after 1 action;
- You don’t need to be familiar with the programming languages. And also the field of usage is almost unlimited.
- The speed of script writing and the speed of data change. It has a big number of built-in functions which can help to qualitatively and quickly cover up to 80% of project cases and all this will be done more quickly than waiting when scripts will be written.
- Specific syntaxes;
- Unstable support of the community. Even Stack Overflow has little information.
Peculiarities of this utility:
- Uses ODBC for immediate generation of information in any source of ODBC data. It’s a good choice for the database in MS Access, Oracle, SQL;
- Functions of extension with the help of VBScript. It allows you to create the keys in various blocks of test information generation, for a proper extension of the possibility of such a utility;
- Good interoperability between keys when columns of the external key are programmed to get the key of their parent list or table.
DTM Data Generator
It’s a very modern product made for developers and testers who are responsible for the quality assurance of the project. Such a utility is one of the unconditional leaders on the market of quick test data automation.
This tool helps not only to hugely decrease time on testing but also to increase the level of realism and quality of the products in development. What is interesting about this, is that developers of DTM Data Generator always meet the needs of the clients and always try to improve the product in the way the clients want.
The main feature of the utility is a function of recognizing the dependency between parent and son tables. Data Generator can also recognize the established properties of check constraints for a particular group of popular DBMS.
Such possibilities help to create qualitative and easy test data generation.
Besides that, we can also mention:
- Wizard function – a quick creation of necessary rules of test generation;
- Work with “templates” to generate test data – a good tool for developing difficult and multi-level values inside one base;
- A possibility to generate SQL script which corresponds to test values.
EMS Data Generator for MySQL
EMS Data Generator for MySQL is a performance program for quick generation of test information into MySQL database with a future function of saving and editing the written scripts.
Such a tool allows you to interoperate with various types of generation, analyze data of the console application and completely automate the processes of creating the test generation.
Structurally, we can identify the following peculiarities of such an application:
- Works on the basis of Unicode coding;
- Interoperability with the simple external interface of parameters menu;
- Operates the created groups of information into SQL scripts without the function of performing the query on the server’s side;
- Creates the tables for database groups;
- Supporting some type of MySQL data at once;
- 24-hour support.
dbForge Studio for SQL Server
Devart corporation has released quite a popular tool dbForge Studio for SQL Server – useful utility for quick generation of test data and also a possibility of quick comparison of information and schemes from different DB.
This data generator is a useful tool which helps developers and testers to quickly and comfortably fill necessary tables on SQL Server with necessary data.
- Immediate development of numerous test data;
- Multi-template configuration of necessary parameters for every type of table;
- Quick browsing the test information;
- A possibility of immediate export of information to SQL script.
Specialized framework for unit testing of SQL with the help of Ruby. Utility consists of two libraries:
- BDD framework.
Such a utility is a modern extension of Selenium tools. Its basic sense is permanent operating the database which is based on SQLite and is completely isolated from the application.
Working with SeLite will help you to find important errors on a server and also share scripts between created tests and work with immediate shots.
The application works with such bases as PostgreSQL, MySQL и SQLite.
Other their possibilities are:
- Automated generation of random values with a function of setting the spacing for a number type, line format, and type of generated values;
- Creating values from the list with a technical function to mention the proportion of every line of the code from the whole list of generated lines;
- Creating the data by choosing from other data or values;
- Creating a database with the function of choosing values from the necessary file;
- Creating a group of data with the automatic growth of the value, after mentioning a primary value and its future growth;
- Searching for data for particular tables.
- Searching for values depending on the user’s wish to independently create his or her own testing procedures.
There is a group of tools such as AGENDA и HTDGen which can generate data not only on the basis of determined limits but also in the process of using SQL queries inside the testing product. Such an approach can guarantee that created SQL queries won’t be sent back the empty values.
It means that in the process of using such technologies and tools in a software testing company we can get a complete testing of parts of the product only on the basis of a thorough search for all available combinations and fields depending on which a filtering of values is performed in the program.