Test 1
Linked
A type of data representation in which individual blocks of storage are managed using pointers.
Module
Provides a way of grouping together collections of related data and operations; presents clean, well-defined interfaces to users of their services; hides internal details of operation to prevent interface; and can be separately compiled.
Acceptance Testing
Tests that are run before a system is released into active service.
Postcondition
Logical conditions that are true after the program is executed.
Information hiding
Hiding things inside a module to prevent external users from accessing them. Can protect their internal mechanisms from external tampering.
Loop Invariant
An assertion with the property that it is always true no matter how many times a loop is executed.
Test drivers
For function S, is a function that enumerates test cases for S, calls S for each test case, and checks the outputs afterwards to see that they are correct.
Aliases
Two different naming expressions that name the same thing.
Bottom-up
Whenever possible, before testing a given function, X, test all functions that X calls or that prepare data that X uses.
Integration Testing
You check that combinations of the functions work together properly.
Priority Queue
Enables insertion of items in any order, but when an item is removed it is always the item with highest priority.
Top-down Programming
Method of starting with a top-level design and expanding its details progressively until an actual program is developed.
Infinite regress
Occurs when a recursive program calls itself endlessly and never encounters a base case.
Unit Testing
Testing a given function.
Regression Testing
Checking that everything that used to work before a change was made still continues to work after the change is installed.
Inaccessible storage
A dynamically allocated block of storage that can no longer be accessed to read its value or store a new value into it.
Recursion
A function calls itself inside itself.
Auxiliary function
A function which assists another function.
Procedural Abstraction
A named unit of action for which it is necessary to know only what it does not how it achieves its result.
Dangling Pointer
A naming expression to a memory location that has been returned to the pool of unallocated storage.
Base Case
A properly designed recursive function must have at least one of these to avoid infinite regress.
Test Plan
A document that specifies a systematic schedule of testing activities in a software project and gives the inputs and expected correct outputs for each part of the system.
Precondition
Logical conditions that are true before the program is executed.