Software Testing | Configuration Testing
Configuration Testing is the type of Software Testing which verifies the performance of the system under development against various combinations of software and hardware to find out the best configuration under which the system can work without any flaws or issues while matching its functional requirements.
Configuration Testing is the process of testing the system under each configuration of the supported software and hardware. Here, the different configurations of hardware and software means the multiple operating system versions, various browsers, various supported drivers, distinct memory sizes, different hard drive types, various types of CPU etc.
- Operating System Configuration:
Win XP, Win 7 32/64 bit, Win 8 32/64 bit, Win 10 etc.
- Database Configuration:
Oracle, DB2, MySql, MSSQL Server, Sybase etc.
- Browser Configuration:
IE 8, IE 9, FF 16.0, Chrome, Microsoft Edge etc.
Objectives of Configuration Testing:
The objective of configuration testing is:
- To determine whether the software application fulfills the configurability requirements.
- To identify the defects that were not efficiently found during different testing processes.
- To determine an optimal configuration of the application under test.
- To do analyse of the performance of software application by changing the hardware and software resources.
- To do analyse of the system efficiency based on the prioritization.
- To verify the degree of ease to how the bugs are reproducible irrespective of the configuration changes.
Configuration Testing Process:
Types of Configuration Testing:
Configuration testing is of 2 types:
- Software Configuration Testing:
Software configuration testing is done over the Application Under Test with various operating system versions and various browser versions etc. It is a time consuming testing as it takes long time to install and uninstall the various software which are to be used for testing. When the build is released, software configuration begins after passing through the unit test and integration test.
- Hardware Configuration Testing:
Hardware configuration testing is typically performed in labs where physical machines are used with various hardware connected to them.
When a build is released, the software is installed in all the physical machines to which the hardware is attached and the test is carried out on each and every machine to confirm that the application is working fine. While doing hardware configuration test, the kind of hardware to be tested is spelled out and there are several computer hardware and peripherals which make it next to impossible to execute all the tests.
Configuration Testing can also be classified into following 2 types:
- Client level Testing:
Client level testing is associated with the usability and functionality testing. This testing is done from the point of view of its direct interest of the users.
- Server level Testing:
Server level testing is carried out to determine the communication between the software and the external environment when it is planned to be integrated after the release.