-Now let me conclude the lesson by summarizing a few important - -2
-aspects of white-box testing. The first important aspect is that white-box - -3
-testing works on a formal model. The code itself are models - -4
-derived from the code. So when we do white-box testing, we - -5
-don't need to make subjective decision, for example, on the level - -6
-of obstruction of our models. Normally, we simply represent what's there. - -7
-And so what we will obtain are objective, results and objective - -8
-measures. As I also said at the beginning, coverage criteria allows - -9
-us to compare different test suites, different sets of tests, - -10
-because I can measure the coverage achieved by one test suite - -11
-and by the other, and then decide which one to use - -12
-based on this measure. And again, remember, these measures aren't perfect, - -13
-but they at least give you an objective number, an objective - -14
-measure of the likely effectiveness of your tests. So even though - -15
-achieving 100% coverage does not mean that you identify all the - -16
-problems in the code for sure. If your level of coverage - -17
-is 10%, for example, for stemen coverage. That means that - -18
-you haven't exercised 90% of your code, and therefore the trouble - -19
-is in a piece of software that is inadequately tested - -20
-and likely to be of inadequate quality. We also saw that - -21
-there are two broad classes of coverage criteria, practical criteria - -22
-that we can actually use, and theoretical criteria that are interesting - -23
-from a conceptual standpoint, but that they are totally impractical. - -24
-They are too expensive to be used on real world software. - -25
-And finally, as we also said at the beginning, - -26
-one of the great things about white box testing and - -27
-coverage criteria, is that they are fully automatable. There are - -28
-tools that can take your code, instrument it automatically. And - -29
-when you run your test cases, they will tell - -30
-you, what is the level of coverage that you achieve - -31
-with your test at no cost for you. So there's - -32
-really no reason not to measure coverage of your code. -- cgit 1.4.1