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.
Comparison testing
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.
Compatibility testing
Checking if the software can be run on different hardware, operating system, different browsers, etc. are examples of compatibility testing.
Compliance 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.
Component Testing
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.
Conformance Testing
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.
Conversion Testing
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.
Destructive Testing
A type of testing where you continue to Testing to system failure and then seeing what happens.
Dependency Testing
Testing type which examines an application’s requirements for pre-existing software, initial states and configuration in order to maintain proper functionality.
Domain Testing
Verifying that the system only accepts valid inputs. This is White box testing technique.
Dynamic Testing
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.
Endurance Testing
Type of testing which checks for memory leaks or other problems that may occur with prolonged execution.
End-to-End Testing
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.
Error-Handling Testing
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
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.
Functional Testing
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?
One response to “20 More Types of Software Testing”
Quite a comprehensive list Saeed. Here’s a few more 🙂
Globalization Testing
Localization Testing
Performance testing
Scale testing
Sandbox conformance testing (like Windows Universal Apps)
Penetration testing
A/B testing