Actual types of software testing

Dmitri Kozlov
2 min readNov 22, 2021
Photo by David Travis on Unsplash

When you’re starting in a software quality assurance or trying to understand what the software quality assurance team does you will search the Internet for software testing, and the search engine will show many online resources covering different types of software testing. The more you search the more terms you will find. As you browse all these resources you will get the impression that if you’re working on a QA team, you will end up doing all these types of software testing.

When you work on an actual project, you will get to realize that many of these Internet terms have no practical meaning. Plus, the types of software testing you will do will vary from company to company and each company will come up with its terminology list.

On a software project, on a QA team, you will be doing most frequently the following types of testing:
1. Functionality testing including user interface testing checks a specific software feature.
2. Unit Testing checks a unit or a portion of code, on the software developer’s side, in the software program.
3. Integration testing, on the software developer’s side, refers to checking how one piece of component interacts with another component at a lower level. (if applies)
4. API testing checks the server’s request-response codes and client/server data in request/response.
5. Performance testing checks the speed and responsiveness of the software program.
6. Backward Compatibility testing checks older features working in the newer version of the software program.
7. Conversion testing checks how existing parameter values or behavior convert/transform after new changes.
8. Internationalization testing checks software features in a foreign language and date/time settings in different geography.
9. Automated testing refers to running a code/script to automate a test using available automation tools.
10. Regression testing checks all existing functionalities in the software program before the release date.
11. Deployment testing checks a software program in the production environment after transferring files from the development environment.
12. Recovery testing checks essential existing functionality in case of an infrastructure failure.
13. Mobile testing refers to checking mobile-based software apps. (if applies)
14. CI/CD testing refers to checking automated scripts in a CI/CD pipeline. (if applies)
15. Reports testing refers to checking generated reports. (if applies)

You will be doing some of the above testing types more often than others, some occasionally, and some rarely.

You will not be doing all these all at once as it is not necessary.

Some QA teams will ask to do unit and integration testing, but this rarely happens.

In conclusion, finding test types online may look scary and too overwhelming. The software test types you will find online do not reflect the tests you will be doing. I recommend sticking with the actual testing tasks your supervisor will ask.

Thank You For Reading

--

--

Dmitri Kozlov

Senior Software QA Analyst — 19 yrs experience (B.A. Mathematics Temple University 1998)