Other Posts

Refine Software Testing Types


Software Testing is a huge topic. The types of software testing are enormous. Tons of terminologies and syllabuses could make people feel sick. A small example:

  • When I say “Integration Testing”,
  • You may interpret as “Functional Testing”,
  • Your tester friend may think it’s “Accessibility Testing”,
  • Your developer buddy may consider it as “Regression Testing”,
  • Your PO bro may see it as “Automated Testing”.

Actually we are more or less talking about the same thing. We misunderstand each other because we think from different perspectives.

In order to make less confusion, I try to refine software testing types by using 5 different categories. Each categories represent one perspective. In other words, they are independent of each other. These categories are How, When, Who, What and Which. Then I put testing types one by one into each category, E.g:

1.1) How does structure look like:

White/Glass box/Structural Testing,
Black box/Functional Testing,
Gray box Testing.

1.2) How does system perform:

Non-functional Testing

2) **When** in software development life cycle (SDLC): ```bash Unit Testing, Component Testing, Integration/Integrated Testing, System Testing, Acceptance Testing, Alpha Testing, Beta Testing. ```
3) **Who** is involved in: ```bash Manual Testing, Automated Testing, Pair Testing, Mob Testing, Team Testing, Dogfooding, Crowdsourced Testing. ```
4) **What** is to test: ```bash E2E/Workflow Testing, Usability Testing, Security Testing, Performance Testing, Accessibility Testing... ```
5) **Which** approach is using: ```bash Exploratory Testing, Fuzz Testing, Boundary Value Testing, Sanity Testing, Smoke Testing, (Non-)Regression Testing, Monkey Testing... ```

Now let’s back to the beginning when I say “Integration Testing”… and see if it makes things clear.

1) How: Functional
2) When: Integration
3) Who: Automated
4) What: Accessibility
5) Whch: Regression

Finally we have a buzz word ```bash Functional Integration Automated Accessbility Regression Testing ```
What do you think? ๐Ÿ’กโ— or ๐Ÿฎ๐Ÿ’ฉ?