Actual types of software testing

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




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

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

🤝meet the @CreatorCTR's development team!

LeetCode — Product of Array Except Self

How to crush your 1st time working with a Backend Developer

Pickle Rick[THM]: Writeup

5 Cool Python deep learning applications you must try out

6WINDGate 5.0 versus VPP: Fast Path Benefits from Linux Integration and eBPF

Khatt.Seen (خط.س): Arabic Mathematical Notation Typesetting System

Governor nixes parole for Manson follower Leslie Van Houten

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Dmitri Kozlov

Dmitri Kozlov

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

More from Medium

An Insight into Software Testing Strategy

How to avoid lack of tests maintenance?

The focus of QA — Automation

Complex Testing Solutions