What can software testing establish—and what can it not prove?
It gathers evidence about whether software behaves as expected and helps reveal defects, but it cannot prove a program is defect-free.
Study 7 Software Testing and Quality with 12 free online flashcards. Review key terms, definitions, and concepts with this interactive flashcard deck.
What can software testing establish—and what can it not prove?
It gathers evidence about whether software behaves as expected and helps reveal defects, but it cannot prove a program is defect-free.
What does component (unit) testing examine?
It checks an individual function, class, or module in isolation.
What is component integration testing?
It checks interactions and interfaces between components, such as whether a cart passes item totals correctly to a payment component.
What does system testing evaluate?
It checks the complete product’s behavior against its requirements.
What does system integration testing check?
It checks connections between the product and external systems, such as payment providers or shipping services.
What is the purpose of acceptance testing?
It evaluates whether the product meets user or business needs and is ready for use; intended users or other authorized stakeholders may perform it.
How does equivalence partitioning select test inputs?
It divides inputs into groups expected to behave alike, then tests representative values from valid and invalid groups.
What does boundary-value analysis focus on?
It tests values at and near group boundaries, where off-by-one defects often occur.
What are decision tables useful for testing?
It tests combinations of conditions and their outcomes, such as how membership status and order value determine a discount.
What does state-transition testing examine?
It checks valid and invalid changes between states, such as whether an unpaid order can be cancelled and what happens after shipment.
What does structure-based testing use, and what can coverage not prove?
It uses knowledge of code paths to check statements or branches. Coverage shows what ran, but does not by itself prove correct behavior or meaningful tests.
What is test automation useful for, and what does it not replace?
It runs checks and compares actual results with expected results; it is especially useful for repeatable checks, but does not replace human judgment.