Earn Money
Trading Forex Online
Paramount Airways
Free Data Recovery
Cargo
Job Portal
HSBC Investment
Management
Cheap Web Hosting
Make Trip
Cheap Air Travel
Leisure Hotel
Free Air Travel
Mutual Fund Informations
Cheapest Cellular Plan
Free Sexy Indians
Call Center Software
Hot Indian
|
Programming Help |
Homework Help |
Counseling
Astrology Advice |
Tarot Advice |
Parenting
Dating Advice |
Love Advice |
Divorce Advice
Legal Advice |
Debt Advice |
Career Advice
Software Engineering Tutorials
program. It defines the number of independent paths in the basis set and thus provides an upper bound for the number of tests that must be performed.
The Basis Set
An independent path is any path through a program that introduces at least one new set of processing statements (must move along at least one new edge in the path). The basis set is not unique
. Any number of different basis sets can be derived for a given procedural design.
Cyclomatic complexity, V(G), for a flow graph G is equal to
1.
The number of regions in the flow graph.
2.
V(G) = E - N + 2 where E is the number of edges and N is the number of nodes.
3.
V(G) = P + 1 where P is the number of predicate nodes.
Deriving Test Cases
1.
From the design or source code, derive a flow graph.
2.
Determine the cyclomatic complexity of this flow graph.
o
Even without a flow graph, V(G) can be determined by counting the number of conditional statements in the code.
3.
Determine a basis set of linearly independent paths.
o
Predicate nodes are useful for determining the necessary paths.
4.
Prepare test cases that will force execution of each path in the basis set.
o
Each test case is executed and compared to the expected results.
Automating Basis Set Derivation
The derivation of the flow graph and the set of basis paths is amenable to automation. A software tool to do this can be developed using a data structure called a graph matrix. A graph matrix is a square matrix whose size is equivalent to the number of nodes in the flow graph. Each row and column correspond to a particular node and the matrix corresponds to the connections (edges) between nodes. By adding a link weight to each matrix entry, more information about the control flow can be captured. In its simplest form, the link weight is 1 if an edge exists and 0 if it does not. But other types of link weights can be represented:
·
the probability that an edge will be executed,
·
the processing time expended during link traversal,
·
the memory required during link traversal, or
·
the resources required during link traversal.
Graph theory algorithms can be applied to these graph matrices to help in the analysis necessary to produce the basis set.
|
|
|
Earn Money
Trading Forex Online
Paramount Airways
Free Data Recovery
Cargo
Job Portal
HSBC Investment
Management
Cheap Web Hosting
Make Trip
Cheap Air Travel
Leisure Hotel
Free Air Travel
Mutual Fund Informations
Cheapest Cellular Plan
Free Sexy Indians
Call Center Software
Hot Indian
|