CS504 - Software Engineering I
Course Page
Q & A
Short Question & Answers
Q94: Define these terms: Branch Coverage, Statement Coverage.
Branch Coverage: In this scheme, all the possible branches of decision structures are tested. Therefore, sequences of statements following a decision are tested. Statement Coverage: In this scheme, statements of the code are tested for a successful test that checks all the statements lying on the path of a successful scenario.
Q95: What are the static analyzers, give a check list of the requirements?
Static analyzers are software tools for source text processing. They parse the program text and try to discover potentially erroneous conditions and bring these to the attention of the verification and validation team.

Checklist for Static Analysis:

Data Faults:
Variable used before initialization
Variable declared but never used
Variables assigned twice but never used between assignments
Possible array bound violations

Control Faults:
Unreachable code
Unconditional branches into loops

Input/Output Faults:
Variable output twice with no interventing assignment

Storage Management Faults:
Unassigned Pointers
Pointer arithmetic
Q96: What are the different phases of testing? Draw a diagram. (No write up required)
Course Instructor

Dr. Fakhar Lodhi
D.Sc. (CS) George
Washington University, USA
 Software Engineering: A Practitioner’s Approach
 by Roger S. Pressman

The Unified Modeling
Language User Guide
by Grady Booch