Just Imagine that there is an application which you feel is a masterpiece has been released to the users but the user has difficulty installing the application on his system and while trying the installation the process his system is damaged; that would not create a good impression of our application. The installation is the first interaction between the user and the product.
And if it leads to a damage, will that inspire the user to use our products in the future? That is why it is necessary to confirm the successful installation of the application. And that is why Installation testing is one of the most important parts of testing.
Software Installation Testing
It is a a kind of testing that deals with the successful setting up of new software. It is done to verify whether the application or the program installs successfully or not. Not only that but this installation testing is also done to ensure the successful uninstallation or upgrade of any software on the system.
In Installation testing we place a compiled version of code into the pre-production environment. Everyone must have experience with running an install program. It is a complete software package. It is the most basic installation process.
This generally takes place outside of the software development environment to limit code corruption especially. So it is necessary that before making any program ready to use it must be tested very strictly on different systems and in different operating systems.
It takes lot of time to test the installation of any program and no doubt doing it on different systems and on different configurations will take hell out of time in fulfilling the task. Installation testing can be done by using both kinds of testing, manual as well as automated.
How Installation Testing gets done?
Let's try to know how installation testing can be done. First of all there is a need to see how many types of configurations you are going to test. Then go for one hard disk and install those operating systems in the hard disk drive. Also install some of the basic components which will be needed during the test.
It is better to use flow diagrams. If one is using flow diagrams to test different files to be written to disk during the installation then use the same flow diagram in the reverse order to test uninstallation of all the installed files on disk. It is also suggested to automate the testing efforts. It will help in making the task easier. We can use flow diagrams to automate our testing steps.
There is another type of testing which we are going to discuss here is Database Testing. This testing is also very essential for software applications. As we know databases have a wider approach everywhere, whether it is a corporate world or for personal use it is used everywhere.
We generally use database testing for testing the properties like atomicity, consistency, isolation and durability of DB transactions. In the past databases were just used to store records. More complex applications need a strong and effective database.
Thus the need for database testing is increasing day by day.
How to do Database Testing?
Now we will discuss how we can test databases.
First create queries:
A Tester should have a good knowledge of Data Manipulation Language and SQL as well. He should also acquire a good knowledge of internal DB structure of AUT. But for complex applications it would be very difficult to write SQL queries. It would lead to very complex stage otherwise.
Table by Table observation of Data:
A Tester can also use this way of testing; he can view tables of the database. This will also be a little bit complex for the cases where we have a large amount of data. But it would be complex if the data we are viewing from tables belong to multiple tables.
Get query from developer:
Although it is the simplest method of testing DB, it has some drawbacks like dissatisfaction of getting the right query etc.
Conclusion:
The main goal of doing installation testing is to ensure that all the features are functioning properly. One should keep several points in his mind while doing installation testing. The installer must ensure that the program is good for working on every system and with almost every operating system. He should try to install the application apart from the administration point of view. This is to make sure that it is going to be for the sake of the users who do not have active privileges. Whereas Database testing is used to ensure data mapping and ensures accuracy as well.
Resources:
Programmer's skill: White Box Testing
Basic Term relating to Testing
Basics of Manual Testing
Black box and White Box Testing