This is the second post on the different types of software testing. The first 20 types of software test can be found here.
I’m listing these testing types because a common interview question is ‘What types of testing would you do on a chair?’.
This should be used as a reference or quick reminder. The goal isn’t to memorize everything in this list.
This is when you validate the functionality of one version of the system against another. You can even compare the functionality of a similar system. This is very useful for finding changes in the UI.
Checking if the software can be run on different hardware, operating system, different browsers, etc. are examples of compatibility testing.
This is normally done be a third party to verify if the system meets some predetermined guidelines. This type of testing is really big in regulated industries.
If you run multiple unit test together around a specific area, then it can be called component testing.
Condition Coverage Testing
Condition coverage testing is a testing technique used during unit testing, where in developer tests for all the condition statements like if, if else, case etc., in the code being unit tested.
This is a very broad type of testing that can be used to describe any testing that is done to make sure that a specific part of the system meets the given requirements.
Context Driven Testing
Context driven testing is an Agile testing technique. With this type of testing the team is expected to change and adapted as more information is uncovered about the system under test. In an Agile environment where priorities are always changing this is very important.
Testing of programs or procedures used to convert data from existing systems for use in replacement systems.
Decision Coverage Testing
This is a unit testing technique to validate each and every decisions made in the code. This is normally done by creating decision matrix and make sure each if, if else, case statements is tested.
A type of testing where you continue to Testing to system failure and then seeing what happens.
Testing type which examines an application’s requirements for pre-existing software, initial states and configuration in order to maintain proper functionality.
Verifying that the system only accepts valid inputs. This is White box testing technique.
If you even have to test a system where some variables are not consistent and change over time then you’ll be doing dynamic testing.
Type of testing which checks for memory leaks or other problems that may occur with prolonged execution.
End to end testing is testing information flow completely across applications. It involves testing of a complete application environment in a situation that mimics real-world use, such as interacting with a database, using network communications, or interacting with other hardware, applications, or systems if appropriate.
Software testing type which determines the ability of the system to properly process erroneous transactions. It is usually performed by the testing teams.
Exploratory testing is an informal type of testing conducted to learn the software at the same time looking for errors or application behavior that seems non-obvious.
Fault Injection Testing
This type of testing is when you concentrate on how the application handles exceptions.
Formal Verification Testing
The act of proving or disproving the correctness of intended algorithms underlying a system. This is normally done using formal methods of mathematics.
This type of testing ignores the internal parts of an application to focus on testing software against design document, use cases and requirements document.
Functional testing is a black box type of testing and does not require internal working of the software unlike white box testing.
Surprisingly I was still able to find more types of testing. Part 3 will cover the next 20 and is coming soon.
Can you guess which types of testing are coming next? Leave a commit below and let me know?