Introduction to Testing Flashcards
What is Unit Testing?
Tests the smallest pieces of code in isolation.
Provides functional insight but not enough to evaluate the entire system’s behaviour.
What is System Testing?
Tests larger parts of the system, such as complete API.
Evaluates the entire system’s overall functionality.
What is Integration Testing?
Tests how different components or systems work together.
Ensures compatibility and smooth interaction between integrated parts.
What is Acceptance Testing?
Focuses on whether end-users can use the software as intended.
Validates that the system meets user requirements.
What is Regression Testing?
Verifies that new changes or updates do not disrupt existing functionality.
Often relies on automated tests to ensure all functionality remains intact after modifications.
What is Security Testing?
Examines the application for vulnerabilities and security issues.
What is Load Testing?
Evaluates how the system performs under heavy load.
What is End-to-End Testing?
Focuses on everything -> real-world scenario.
What is Test-Driven Development (TDD)?
Focuses on writing tests before implementing code.
What is the purpose of Unit Testing?
Validates the functionality of smaller units or components of software and helps ensure individual pieces of code perform as expected.
It forces critical thinking amongst developers for their design and structure and supports better development practices by making code easier to test and debug.
What is Early Bug Detection?
Identifies bugs early in development, preventing issues from reaching production.
What is Applicable to All Code?
Useful for both new and existing codebases, ensuring new changes don’t break existing functionality.
What are the long term benefits for unit testing?
Saves time and money by reducing costly fixes later in production and improves code quality by encouraging developers to write better, cleaner and more maintainable code.