software testing Flashcards
what is test data
inputs which have been devised to test the system
test cases
input and predicted output
what is black box testing
programs test cases are based on the system specification. Test planning can begin early
what is equivalence partitioning
classes for input dat and output. Generally choose test cases at the boundary of the sets in the classes coz these are more likly erroneous behaviour and choosing random values.
what is another name for structural testing
white box testing
what does structural testing entail?
derivation of test cases according to program structure. Objective is to exercise all program statements(not all program combinations).
difference between black and white box testing
Programming knowledge and implementation knowledge is needed in white box
what is path testing
ensure that the set of test cases is such that each path through the program is executed atleast once.
what is program flow graphs
describes the program control flow. each branch is shown as a seperate path and loops are shown by arrows looping back to the loop condition node. Used for computing cyclomatic complexity
what is the cyclomatic complexity
number of edges - number of nodes + 2 in the program flow graph
what does the cyclomatic complexity involve
number of tests to test all control statements equals the cyclomatic complexity. Equals the the number of conditions of a program +1.
Disadvantage of cyclomatic complexity
all combinations of paths are not executed.
apart from the cyclomatic complexity, what else can be used to check that paths have been executed?
a dynamic program analyser
is integration testing black or white box
black- tests complete or subsystems of ingrated components.
what is the problem of integration error
localising errors
what idea does incremental integration testing use
regression testing- future tests also test previous cases again.
How can we ensure that the addition of a new module does not break the previous test case?
use a test harness-program written to automatically generate test data and record their test results
Name two approaches to integration testing and which approach does it use?
Top-down (high level system and integrate from top down replacing individual components by stubs).
Bottom-up (integration individual components in level until complete system).
Most integration use a combo of both
which types of system is bottom up testing appropriate for?
object-orientated systems - have a neat decomposition into classes and methods- makes testing easy.
Real-time systems- can identify slow code
systems with strict performance requirements - can measure the performace early on
benefits of top down
better at discovering errors in the system architecture
allows a limited demonstration at an early state
problem with both bottom up and top down
test observation - extra code may be required to observe tests.
what is a procedural interface
sub system encapsulate a set of procedures to be called by other sub systems
what are some interface errors
interface misuse interface misunderstanding timing errors(out of data info is accessed)
what is stress testing
exercise the sstem beyog its max design load. checks for unacceptable loss of data