Lesson 1 Flashcards
Black Box Testing
examines an application without peering into its internal structures or workings. (Zero-knowledge)
Gray Box Testing
Gray Box testing is done when a tester partially knows the internal structure of an application as the algorithms used. (Some knowledge)
White Box Testing
White Box testing tests the internal structures or workings of an application. (Full knowledge)
Functional Testing
Testing of a software system or component based on its specifications: what the system/component does, i.e. how compliant it is with specified functional requirements. Functions are fed input and the output is examined. The internal program structure is rarely considered.
Non-Functional Testing
Testing of a software application or system for its non-functional requirements: the way a system operates, rather than its specific behaviors.
Functional Criteria:
Unit Testing Integration Testing Sanity Testing Smoke Testing Interface Testing Regression Testing Acceptance Testing
Non-Functional Criteria:
Load testing Localization testing Performance testing Security testing Stress testing Usability testing
Unit Testing
Unit testing is a level of software testing where individual units/ components of a software are tested (usually made by developers).
Integration Testing
Integration testing is a level of software testing where individual units are combined and tested as a group (usually made by developers, sometimes by QA engineers who specify in a certain technical area).
System Testing
System testing is the process that evaluates how the various components of an application interact together in full. System testing verifies that an application performs tasks as designed. (Examples: usability, load, recovery, more)
Acceptance testing
Acceptance testing is a level of software testing where a system is tested for acceptability. The purpose of this test is to evaluate the system’s compliance with the business’s requirements and assess whether it is acceptable for delivery.
Testing Types
Alpha & Beta
Alpha & Beta
Both are subtypes of acceptance testing.
Alpha Testing
Alpha testing is performed to identify all possible issues/bugs before the product is released to end-users/public. It is usually done by designated testers/internal employees and is done early on, near the end of the development phase, and before beta testing.
Beta Testing
Beta testing is done by releasing a beta version of the software to a limited number of end-users to obtain feedback on the product quality. Beta testing reduces product failure risks and provides increased product quality through customer validation.