Glossary of Terms

Here is the glossary of some of the terms we use extensively at QA Workshop:

  1. Black-box testing: A testing technique that involves testing the software without knowing its internal workings.
  2. White-box testing: A testing technique that involves testing the internal workings of the software.
  3. Gray box testing: A testing technique in which the tester has limited knowledge of the internal workings of the system being tested.
  4. Bug: An error, flaw or fault in the software that causes it to produce incorrect or unexpected results.
  5. Defect: A deviation from expected behavior in the software that needs to be corrected.
  6. Error: A human action or decision that produces an incorrect or unexpected result.
  7. Boundary value testing: A testing technique that involves testing the software with values that are on the boundaries of the input domain.
  8. Equivalence partitioning: A testing technique that involves dividing the input domain into classes of data that produce similar results.
  9. Test case: A set of conditions or inputs and expected results that are used to test the software.
  10. Test script: A program or set of instructions used to execute a test case.
  11. Test suite: A collection of test cases that are grouped together for testing purposes.
  12. Test strategy: A high-level plan that describes how testing will be performed for a system, including the types of testing to be performed and the resources required.
  13. Test plan: A document that outlines the testing strategy, test objectives, and resources required for testing.
  14. Functional testing: Testing performed to verify that a system performs its required functions correctly.
  15. Integration testing: A type of testing that checks the interfaces between the different modules of the software.
  16. Regression testing: Testing done to ensure that changes to the software have not adversely affected its functionality.
  17. Acceptance testing: A type of testing performed to determine if the software meets the user’s requirements and if it is ready for release.
  18. User acceptance testing: A type of testing performed by end-users to determine if the software meets their requirements and expectations.
  19. Alpha testing: Testing performed by a customer in a development environment, usually on an early version of a system, with the aim of finding defects that were not identified during development.
  20. Beta testing: Testing performed by a customer in a real environment, usually on a pre-release version of a system, with the aim of finding defects and obtaining feedback on the system’s performance.
  21. Non-functional testing: This is a type of software testing that focuses on evaluating the performance and characteristics of a software system that are not related to its specific functions or features.
  22. Performance testing: This type of testing measures the speed, response time, and scalability of the software system under different loads and conditions.
  23. Security testing: This type of testing evaluates the security features of the software system to ensure that it is resistant to potential threats and vulnerabilities.
  24. Usability testing: This type of testing assesses how easy the software system is to use, navigate, and understand for its intended users.
  25. Compatibility testing: This type of testing verifies that the software system works correctly on different platforms, browsers, and devices.
  26. Load testing: Testing performed to determine how well a system performs under heavy or peak loads.
  27. Test automation: The use of software tools to control the execution of tests and compare the actual results with the expected results.

These are just a few of the many terms used that are essential for understanding the concept of software testing.