Software Testing Flashcards
The process of evaluating and verifying that a software product or application does what it’s supposed to do.
Software Testing
SOFTWARE TESTING IMPORTANCE
- To identify defects
- To reduce flaws in the component or system
- Increase the overall quality of the system
Intended to show that a program does what it is intended to do and to discover program defects before it is put into use
Testing
THE TESTING LIFE CYCLE
Defining
Building
Deploying
Proves your requirements are ready to be used
Requirements Review
Prove users can achieve their goals with the application
Usability Tests
Prove each component works as intended
Unit tests
Prove a subsystem of tested components works together
Integration tests
Prove an entire business process that depends on multiple tested subsystems works
End-to-end (E2E) tests (also called system tests)
Prove users can complete business tasks; signal the application is ready to be deployed
User acceptance tests (UAT)
Proves the application starts after deployment
Smoke test (also called sanity check)
Proves that older tests still succeed after changes have been made
Regression Test
Stage where you identify the crucial
requirements
Requirements Review
After the initial development, this is a test that reveal difficulties.
Usability Tests
During the development phase, each individual component is tested
Unit Tests
These tests ensure that these components work together seamlessly
Integration Tests
This comprehensive test ensures the entire flow works as intended, mimicking a real user’s experience.
End-to-End (E2E) Tests
Involves real users from a pilot group testing, they test platform to confirm it meets their needs
User Acceptance Tests (UAT)
After deploying the platform to a staging environment, this test is conducted
Smoke Test
This tests are performed to make sure existing features like product search and checkout flow still work as expected, ensuring changes haven’t introduced new issues
Regression Test