Q4. (a) Is functional testing sufficient to determine code coverage?
Answer:
No, functional testing is not sufficient to determine code coverage. In testing when we refer to code coverage we are talking about how much of the code is being covered/executed/tested during test execution. So the goal behind code coverage is to determine areas that are not being tested and creating tests that can cover these gaps. Structural and functional testing can be used to determine code coverage. Code coverage is a form of white box testing where one looks at the code directly. A mix of white and black box testing is necessary to get maximum coverage. Just functional testing is not enough to do code coverage. There are some codes that do not get executed from the front end or UI testing. There are codes in place for recovery, back up, load balancing, etc that have to be covered in non-functional testing.
Traditionally code coverage products were relegated to the developer desktop environment. More recently, products like NCover (measures managed processes) have expanded that understanding to directly include white box testing and indirectly support coverage analysis for black box testing. Further, many make the case that the best use of code coverage as an objective measurement of functional testing needs to include access to corollary cyclomatic complexity metrics.
(b) What is loop testing?
Answer:
The goal of loop testing is to test while-do, repeat-until, (or do-while) and any other loops in a program thoroughly - by trying to ensure that each is executed at minimal, typical, and maximal values - and to try to ``break'' the program, by trying to have a loop executed with a fewer than minimum, as well as a larger than maximal, number of iterations.
Three types of loops will be tested.
Simple Loops are loops whose loop bodies contain no other loops (so, these are the ``innermost'' loops if any loops are nested).
Nested Loops are