Compatibility Testing
Compatibility testing is basically the testing of the application or the product built with the computing environment. It tests whether the application or the software product built is compatible with the hardware, operating system, database or other system software or not.
Key points are:
- Test with each hardware with minimum and maximum configuration.
- Test with different browsers.
- Test cases are the same which were executed during functional testing.
- In case the number of hardware and software are too many, we can use OATS techniques to arrive at the test cases to have maximum coverage.
Maintainability Testing
The term maintainability corresponds to the ability to update or modify the system under test. This is a very important parameter as the system is subjected to changes throughout the software life cycle.
To make Maintainability Testing more effective, testers should include static analysis and reviews as these are hard to spot during dynamic testing while it is easily captured in code walkthrough and inspection.
Key points are:
- Verifying the development standards such as structured programming, standards for database approach, recognizable nomenclature and standards for the user interfaces.
- Verify if the data processing is split up into sub-transactions.
- Verify if the input, the processing and the output have been implemented separately.
- Verify if the programs have been parameterized under necessary conditions to promote re-usability.
- Verify if the systems are distributed.
- Verify if the algorithms are optimized.
Scalability Testing
With the changes in requirement and growing need, the system must adapt and work accordingly. Scalability testing ensures that the system meets the growing need when there is any change in terms of size and volume, making the system, process, or network to function well. In simple words, scalability testing checks the capability of the system, process, and databases to match the increasing need and ensure that the application is able to handle changes in terms of traffic, data, and transactions.
Scalability testing is a kind of performance testing, where the focus remains on application’s behaviour while testing it under excessive load. The main aim of performing scalability testing is to identify the point where the application stops adapting or responding to the changes and the reasons behind it. Some of the reasons for performing scalability testing are mentioned below.
- It tells you about your application’s behaviour with the increasing load
- Determines the limitation of the web application in terms of users
- Determines the end user experience under load
- Determines the robustness of the server
Reliability Testing
Reliability testing is a type of testing to verify that software is capable of performing a failure free operation for a specified period of time in a specified environment.
Reliability means “yielding the same,” in other terms, the word “reliable” means something is dependable and that it will give the same outcome every time.
The same is true for Reliability testing. Reliability testing in software assures that the product is fault free and is reliable for its intended purpose.
The probability that a PC in a store is up and running for eight hours without crashing is 99%, this is referred to as reliability.
Availability Testing
Availability Testing is a measure of how often any given software is actually on hand and accessible for use. In other words, it measures the probability that the software will run as required and when required.
Availability Testing makes for a more efficient program. This efficiency is not just in terms of the software run time, but also in terms of its recovery and repair time. Hence, a software that has been through Availability Testing is bound to be more competent and more effective in functioning.