Resumen:
As it is well known, exhaustive testing of software systems (i.e.,
testing the system with its possible inputs and environmental conditions) is,
in practice, impossible, since it is unfeasible to reproduce all the running
situations. So, the tester must make decisions about which parts of the system
must be tested and the degree of depth of the test cases.
When a test engineer is testing a software artifact, he/she needs to
know which portions of the system are running their test cases. For this,
coverage criteria are used because they allow to know the "amount of
product" that is being tested (number of lines of code, methods, decisions,
conditions, etc.). If the tester knows the coverage that a set of test cases
reaches on the SUT (the System Under Test), he/she will be able to determine
which portions of the system are not being covered by the test cases:
• If the coverage is lower than a prefixed threshold, the tester must add
more test cases to cover the SUT more in depth, to force the execution
of the unexplored system areas.