Overview of Conversion Testing in Software Testing
Conversion Testing :
Every software development process follows Software Development Life Cycle (SDLC) for the developing and delivering a good quality software product. In the testing phase of software development different types of software testing are performed to check different check parameters or test cases. Where in each software data is an important part as with the help of data a software application performs its operations. Conversion Testing is done to verify conversion of one data format to another data format that can be used continuously by a application under test process. Any type of data can be converted from one form to another form, but the web pages must be in HTML format so that browser can easily render the page.
Some common Test Examples :
- Button Color –
For example we test whether a blue button converts at higher rate than a red button.
- Background Image –
For example it tests whether background image converts at higher rate than a normal plain image.
- Offer –
For example it tests whether free shipping of products of $50 or less , converts higher than 10% discount.
- Pop Up –
For example it tests whether a pop-up converts at higher rate rather than flyout for mobile visitors.
A/B Tests v/s Sequential Tests :
- A/B Test is simply creating two versions of something. It automatically accounts for all the factors because there is only difference between a set of visitors from other from others is that what they see in your site, meanwhile time, year, weather is same i.e. restricting outside activities that may influence the result.
- On the other hand in sequential testing we are doing one thing for a period of time and if we make some changes we would leave them for same period of time, then we can easily compare results. But in this case it is correctly analyzed because many factors could have altered the results that may be out of control.
Levels of Data Conversion Testing :
There are mainly two levels of testing is done i.e. technically & business “warm and fuzzy testing”. Technical testing will check conversion against the specs while business testing will give business representatives the confidence when their old system will be in rest, the precious data copied flawlessly to new system.
1. Technical Testing :
We should initiate this testing by establishing test traceability. At least once test should be written against each statement as previous to ensure test will cover all the data to be converted. We should initiate this testing by establishing test traceability. At least once test should be written against each statement as previous to ensure test will cover all the data to be converted.
We can write queries in many ways to test whether a particular record is correctly converted.
There is mainly two most common queries:
- (i) Row Count
- (ii) Identify objects with missing data
(i) Row Count –
They are used to compare no. of records in source & target table. If the conversion is straight conversion, the above queries can easily check no. of rows. If records with particular parameter is to be converted then we may follow run following queries.
Run against Source Table, Choose count(*) from [Source table] where [field1] = [a condition] [field2] = [another condition] Run against Target Table, Choose count(*) from [Target table]
This test will give you no. of subset of source table which are to be converted and total no. of rows in target table. The test passes if the numbers match.
(ii) Identify objects with Missing Data –
Its focus is to identify parent objects whose child objects that should have been converted is absent. It tests each parent has their corresponding child object we write the SQL query in following steps.
a. Write a query that will get the foreign key that goes back to parent table from child objects table. e.g.
where [field1] = [value1] AND [field2] = [value2] AND [field3] = [value3]
Here this will provide all the correctly connected child objects.
b. Write a query for the parent table that get all the parent_id’s that should be child object in ChildObjectTable e.g.
choose id from parentTable where [fieldX] = [a value]
c. Now we combine the two queries which will help in generating new query to display parent_id’s that didn’t existed in first query. e.g.
select id from parentTable where [fieldX] = [some value] and id is not in ( select parent_id from childObjectTable where [field1] = [value1] AND [field2] = [value2] AND [field3] = [value3] )
So the list will generate a list of entire parent_id’s that are missing a correctly generated child object from childObjectTable.
2. Business Testing :
- The business test once identified can be done by either using SQL service or by running GUI tests. In this testing business personnel will know what looking for in old system and by following the actions in the test, we can demonstrate that the data they are interested is converted accurately.
- So here they would write a test like that of a functional test which is included navigation through system etc. which will show the data in system.