1/20
Flashcards for Software Testing Strategies based on lecture notes.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Software Testing
The process of exercising a program with the specific intent of finding errors prior to delivery to the end user.
Verification
Ensures that software correctly implements a specific function.
Validation
Ensures that the software that has been built is traceable to customer requirements.
Unit Testing
Testing focusing on interface, local data structures, boundary conditions, independent paths, and error handling paths.
Integration Testing
Testing that can be performed using the "big bang" approach or an incremental construction strategy.
Top Down Integration
The top module tested with stubs; stubs are replaced depth-first, subset of tests is re-run as modules integrate.
Bottom-Up Integration
Drivers are replaced depth-first; worker modules grouped into builds and integrated.
Regression Testing
Re-execution of some subset of tests already conducted to ensure that changes have not propagated unintended side effects.
Interface Integrity
Internal and external module interfaces are tested as each module or cluster is added to the software.
Functional Validity
Testing to uncover functional defects in the software.
Information Content Testing
Testing for errors in local or global data structures.
Performance
Verifies specified performance bounds are tested.
MobileApp Testing
Includes user experience, device compatibility, performance, connectivity, security, testing-in-the-wild, and certification testing.
Validation Testing
Focuses on software requirements.
System Testing
Focuses on system integration.
Alpha/Beta Testing
Focuses on customer usage.
Recovery Testing
Forces the software to fail and verifies proper recovery.
Security Testing
Verifies that protection mechanisms built into a system will protect it from improper penetration.
Stress Testing
Executes a system in a manner that demands resources in abnormal quantity, frequency, or volume.
Performance Testing
Tests the run-time performance of software within the context of an integrated system.
Debugging
A diagnostic process to identify and correct errors in software.