Addis Ababa science and Technology University Collage
of electrical and mechanical Engineering Department of
software engineering
Course title: Software Verification Validation and Testing
Submitted by: Melsew Dagnaw
Id: GSR0379/15
SUBMITTED TO: INSTRUCTOR Dr. GIRMA N.
Test coverage is defined as a technique which determines whether our test cases are actually covering the
application code and how much code is exercised when we run those test cases. Test coverage is as a metric in
Software Testing that measures the amount of testing performed by a set of test. It will include gathering
information about which parts of a program are executed when running the test suite to determine which branches
of conditional statements have been taken. If there are 10 requirements and 100 tests created and if 90 tests are
executed, then test coverage is 90%. Code coverage is a metric that can help you understand how much of
your source is tested. It's a very useful metric that can help you assess the quality of your test suite, and we
will see here how you can get started with your projects. in computer science, code coverage is a percentage
measure of the degree to which the source code of a program is executed when a particular test suite is run. A
program with high test coverage has more of its source code executed during testing, which suggests it has a
lower chance of containing undetected software bugs compared to a program with low test coverage.
The major difference between control flow and data flow in SSIS is that Control Flow can execute only one task
at a time in a linear fashion. On the other hand, Data Flow can perform multiple transformations at the same
time. Basis Path testing just ensures the coverage of all the paths in the program but control flow testing test the
conditions as well.
Path testing requires expert and skillful testers, with in-depth knowledge of programming and code. It is difficult
to test all paths with this type of testing technique when the product becomes more complex. To measure code
complexity dependable Testing – Measuring the complexity of the code tells the developer how many paths there
are in the code. Therefore, the developer knows how many paths there are to test. This will help them calculate
the minimum number of tests required to cover the entire code.
Cyclomatic complexity is a quantitative software metric to determine the number of independent paths as well
as the complexity of the program. It is also a source code complexity unit that is corresponded to diverse coding
errors. It is computed by generating a control-flow graph of the codes measuring the linearly independent paths.
There are then three equations that you can use to calculate the independent paths.
Independent Paths = Edges – Nodes + 2.
Independent Paths = Regions + 1.
Independent Paths = Decisions + 1
This test is highly effective in identifying the independent paths and the hidden coding errors in a source code. It
capacitates analytical test case design instead of discretionary test case design, making it all the more favored by the
software development and testing community. Its straightforward objectives to eliminate testing redundancy and
accuracy in finding hidden coding errors make it so simple yet ingenious.