Software Engineering, unit: Testing and Quality Assurance. Core concepts, terminology, and worked-example cues a college student meets for this unit, building on prior units without repeating them. Front: a term, concept, or short problem cue. Back: the definition, explanation, or answer.
38 cards · basic cards · AI-written, checked twice. Edit anything.
- What is software testing?
Show answer
The process of evaluating software to detect defects and verify it meets requirements
- What is unit testing?
Show answer
Testing individual components or functions in isolation
- What is integration testing?
Show answer
Testing how multiple components work together
- What is system testing?
Show answer
Testing a complete, integrated system to verify it meets specified requirements
- What is acceptance testing?
Show answer
Testing conducted to determine if a system satisfies business or user requirements
- What is regression testing?
Show answer
Re-running tests to ensure new changes haven't broken existing functionality
- What is black-box testing?
Show answer
Testing based on functionality and inputs/outputs, without knowledge of internal code
- What is white-box testing?
Show answer
Testing based on knowledge of a system's internal code structure and logic
- What is a test case?
Show answer
A specific set of inputs, conditions, and expected results used to test a function
- What is test coverage?
Show answer
A measure of how much of a codebase is exercised by a test suite
- What is test-driven development (TDD)?
Show answer
A practice where tests are written before the corresponding code is implemented
- What is a mock object used for in testing?
Show answer
Simulating the behavior of a real dependency to isolate the unit under test
- What is continuous integration (CI)?
Show answer
Automatically building and testing code changes frequently as they are integrated
- What is a bug (defect)?
Show answer
A flaw in software that causes it to behave incorrectly or unexpectedly
- What is quality assurance (QA)?
Show answer
The overall process of ensuring software meets defined quality standards