Testing for newbies (3) - A thorough excursion into types of testing

:pushpin: Testing for newbies is a bi-weekly series that aims at helping novices in testing with basic, selective, and relevant digests. These topics cover entry-level test automation knowledge, from a glossary for newbies to the introduction to different testing techniques.

We welcome your recommended topics here, don’t hesitate to let us know! :blush:

:pushpin: Questions listed under this topic:
7. Types of testing
8. Types of tests
9. Phase of testing

:point_right: See also: Testing for newbies

7. Types of testing

There are 2 main types, functional and non-functional:

  • Functional: Which tests the real-world, business application of a software solution. For example, a ride-sharing app like Uber must be able to connect end users to drivers when all conditions are met, at the bare minimum.
  • Non-functional: Which tests the remaining requirements of the software (for example performance, security, data storage, etc.) With the ride-sharing example, this type of testing will ensure that the app is fast and efficient when performing its most essential functions, like connecting end users to drivers in this case.

8. Types of tests

Aside from the types of automation testing; Smoke Tests, Integration Tests, Regression Tests, Security Tests, Performance Tests, Acceptance Tests, etc. are also common in the field of test automation.

  • Smoke Tests:
    Smoke tests are a type of Functional test that only covers the most crucial features of a software solution to ensure that it could be further tested without “catching fire,” hence the name Smoke Tests.
  • Integration Tests:
    Integration tests take all the individual pieces and functionalities of a software solution and test them together as a whole to guarantee smooth operation between all of them.
  • Regression Tests:
    Regression tests run a combination of Functional and Non-functional tests to check if the software has “regressed” after a given change.
  • Security Tests:
    Security tests cover Functional and Non-functional tests that screen the software for any vulnerabilities. They reveal weaknesses and any potential exploit in a system.
  • Performance Tests:
    Performance tests are often Non-functional tests that help testers evaluate criteria like responsiveness and stability as the software handles load and stress.
  • Acceptance Tests:
    Acceptance tests are functional tests that determine how acceptable the software is to the end-users. This is the final test a solution must pass before it could be released.

9. Phase of testing

  • Unit: This very first phase of testing tests the individual components, or units, of software. It is usually done manually by developers before handing the software off to testers, but it could also be automated.
  • API: Application Programming Interface (API) acts as the “middleman” between all of the systems that your software uses, and thus, is then tested after the development process to ensure smooth integration between systems and software. This phase of testing is fairly flexible; it could be conducted either before or after the UI phase, which we will go over shortly, and by either the development or the testing team.
  • UI: This phase of testing is run by testers after the User Interface (UI) of the application has been drafted for the most authentic replication of the user experience possible. This is where the business logic of the software is examined and optimized, which also falls under the Functional test classification.

:pushpin: These testing terminologies are an excerpt of the Katalon Blog Types of Automation Testing: A Beginner’s Guide.

:point_right: Empower your testing knowledge now by practicing with Katalon!