1/27
Flashcards covering key vocabulary and concepts in software testing methodologies.
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
Software Testing
Techniques to improve software quality by finding errors and providing confidence in the dependability of the software product.
Good Test
A test is successful if the program fails.
Dependable Software Product
A software product is dependable if it is consistent with its specification.
Fault Detection
It’s cheaper to find and fix faults at the unit level.
Early Testing
It’s good to do as much testing as early as you can -- you can’t test quality in, you have to build it in
Exhaustive Testing
The concept that fully testing each program to ensure that the program works correctly is not practically achievable.
Application Under Test (AUT)
Software that is being evaluated.
Test Input
Data provided to AUT.
Expected Output
Answer we expect to see from a test.
Test Case
Test inputs + expected output.
Test Suite
Collection of test cases.
Test Requirements
Those aspects of the program that must be covered according to the considered criterion.
Validation
Are we building the right product? To what degree the software fulfills its (informal) requirements?
Verification
Are we building the product right? To which degree is the implementation consistent with its (formal or semi-formal) specification?
Failure
Observable incorrect behavior of a program; related to the behavior of the program, rather than its code.
Fault (bug)
Related to the code; necessary (not sufficient!) condition for the occurrence of a failure.
Error
Cause of a fault; usually a human error (conceptual, typo, etc.).
Coincidental Correctness
A program can be coincidentally correct if it executes a fault but does not fail.
Test Selection Criterion (C)
Rule for selecting the subset of inputs or requirements to use in a test suite.
Black-box Testing
Based on a specification.
White-box Testing
Based on the code.
Oracle
Provides the expected (correct) results of a test and is used to assess whether a test is successful or not.
Test adequacy criteria
the adequacy score of a test suite is the percentage of “coverable” items (as defined by the criteria) that are covered by the test suite.
Functional Quality
How well the behavior conforms to design/specifications?
Structural Quality
How well is the functionality implemented (i.e., architecture/design, code)?
Unit Testing
The act of testing the smallest possible unit of code, usually a single class in OOP.
Ambiguity in Requirements
A major source of headache and cost overruns.
JUnit
A unit testing framework for Java.