Krazy Kevin

Just another blog to write down crazy thoughts...

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):

Unit Testing, Component Testing,
Integration/Integrated Testing, System Testing,
Acceptance Testing, Alpha Testing, Beta Testing.

3) Who is involved in:

Manual Testing, Automated Testing, Pair Testing,
Mob Testing, Team Testing, Dogfooding,
Crowdsourced Testing.

4) What is to test:

E2E/Workflow Testing, Usability Testing, Security Testing,
Performance Testing, Accessibility Testing...

5) Which approach is using:

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

Functional Integration Automated Accessbility Regression Testing

What do you think? ๐Ÿ’กโ—๏ธ or ๐Ÿฎ๐Ÿ’ฉ?