Here is the glossary of some of the terms we use extensively at QA Workshop:
- Black-box testing: A testing technique that involves testing the software without knowing its internal workings.
- White-box testing: A testing technique that involves testing the internal workings of the software.
- Gray box testing: A testing technique in which the tester has limited knowledge of the internal workings of the system being tested.
- Bug: An error, flaw or fault in the software that causes it to produce incorrect or unexpected results.
- Defect: A deviation from expected behavior in the software that needs to be corrected.
- Error: A human action or decision that produces an incorrect or unexpected result.
- Boundary value testing: A testing technique that involves testing the software with values that are on the boundaries of the input domain.
- Equivalence partitioning: A testing technique that involves dividing the input domain into classes of data that produce similar results.
- Test case: A set of conditions or inputs and expected results that are used to test the software.
- Test script: A program or set of instructions used to execute a test case.
- Test suite: A collection of test cases that are grouped together for testing purposes.
- 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.
- Test plan: A document that outlines the testing strategy, test objectives, and resources required for testing.
- Functional testing: Testing performed to verify that a system performs its required functions correctly.
- Integration testing: A type of testing that checks the interfaces between the different modules of the software.
- Regression testing: Testing done to ensure that changes to the software have not adversely affected its functionality.
- Acceptance testing: A type of testing performed to determine if the software meets the user’s requirements and if it is ready for release.
- User acceptance testing: A type of testing performed by end-users to determine if the software meets their requirements and expectations.
- 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.
- 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.
- 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.
- Performance testing: This type of testing measures the speed, response time, and scalability of the software system under different loads and conditions.
- 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.
- Usability testing: This type of testing assesses how easy the software system is to use, navigate, and understand for its intended users.
- Compatibility testing: This type of testing verifies that the software system works correctly on different platforms, browsers, and devices.
- Load testing: Testing performed to determine how well a system performs under heavy or peak loads.
- 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.