QA Terminology

QA Terminology

Below are the most commonly used QA terminologies that every QA professional ought to know. Make sure you’re familiar with all of them:

  1. Test Case: A set of actions used to determine if a system behaves as expected in a given scenario.
  2. Bug/Defect: A problem or error that hinders a software program from functioning as expected.
  3. Smoke Testing: Basic tests to check if a new software version is stable enough for more in-depth testing.
  4. Regression Testing: Verifying if previously working functionality still works after new changes.
  5. Unit Testing: Testing the smallest testable parts of an application in isolation (e.g., functionality like a button, link, dropdown, etc). If an application were a physical machine, it would be like testing the quality of the nuts, bolts and transistors before assembled into a more recognizable part of the machine, for instance a control panel. This testing is commonly done by developers.
  6. Integration Testing: Testing in which individual components or units are added one by one and tested progressively until the group of components are successfully tested. If an application were a physical machine, integration testing would be like testing the how the previously tested nuts and bolts work together once assembled. For example, a control panel, which is only a part of a machine, must have many components or units that must be assembled to test that the panel itself works as it should.
  7. System Testing: Testing the integrated parts together to ensure it meets the requirements. If an application were a machine, in addition to a control panel, there would be other machine parts similarly assembled and tested. System testing is like seeing whether the entire machine works as expected.
  8. UAT (User Acceptance Testing): The final testing phase where actual users try the software to make sure it works in real-life scenarios. The users can be individual people or a company for which the product/software was created.
  9. Test Suite: A collection of test cases that have been grouped for a specific purpose.
  10. Sanity Testing: Testing that uses a subset of regression tests to quickly check that a new software build/version works as expected. Some people consider this the same as smoke testing.
  11. Black Box Testing: Testing software based on output, without knowing its internal workings. For example, when an end-user interacts with the website’s UI without having access to the code.
  12. White Box Testing: Testing software with knowledge of its internal workings.
  13. Test Plan: A detailed document outlining the testing strategy, objectives, resources, schedule, and deliverables.
  14. Test Script: Step-by-step instructions for a particular test.
  15. Test Scenario: A high-level idea of what to test. It can have multiple test cases.
  16. Exploratory Testing: Testing the software without a set plan, exploring and learning the application.
  17. Boundary Testing: Testing the limits (edges or boundaries) of the software input.
  18. Functional Testing: Testing that software features work as expected. This is an umbrella term under which several of the other types of testing already defined are grouped (i.e., Sanity, Smoke, Regression, UAT).
  19. Non-functional Testing: Testing non-operational aspects of a software, like performance, usability, or security.
  20. Test Environment: A controlled setting where testing is conducted.

If you stumble upon a term that is not mentioned above, you can likely find the explanation here.

Test your knowledge

Black Box Testing
Exploratory Testing
Sanity Testing
Boundary Testing
Functional Testing
White Box Testing
System Testing
Non-functional Testing