diff options
Diffstat (limited to 'usth/ICT2.7/P4L3 White-Box Testing Subtitles/11 - Control Flow Graphs - lang_en_vs5.srt')
-rw-r--r-- | usth/ICT2.7/P4L3 White-Box Testing Subtitles/11 - Control Flow Graphs - lang_en_vs5.srt | 167 |
1 files changed, 0 insertions, 167 deletions
diff --git a/usth/ICT2.7/P4L3 White-Box Testing Subtitles/11 - Control Flow Graphs - lang_en_vs5.srt b/usth/ICT2.7/P4L3 White-Box Testing Subtitles/11 - Control Flow Graphs - lang_en_vs5.srt deleted file mode 100644 index 83d5860..0000000 --- a/usth/ICT2.7/P4L3 White-Box Testing Subtitles/11 - Control Flow Graphs - lang_en_vs5.srt +++ /dev/null @@ -1,167 +0,0 @@ -1 -00:00:00,320 --> 00:00:03,450 -Let's look at the code for PrintSum in a slightly different way - -2 -00:00:03,450 --> 00:00:06,140 -by making something explicit. If we go through the code, we can - -3 -00:00:06,140 --> 00:00:08,578 -see that the, the code does something in that case, if the - -4 -00:00:08,578 --> 00:00:11,720 -result greater then zero, does something else if the result is not - -5 -00:00:11,720 --> 00:00:14,890 -greater than zero but is less than zero, and otherwise in the - -6 -00:00:14,890 --> 00:00:17,800 -case in which neither of these two conditions is true. Nothing really - -7 -00:00:17,800 --> 00:00:19,090 -happens. So we're going to make that - -8 -00:00:19,090 --> 00:00:21,290 -explicit, we're going to say here, otherwise - -9 -00:00:21,290 --> 00:00:25,430 -do nothing, which is exactly our problem, the code does nothing, in this - -10 -00:00:25,430 --> 00:00:28,380 -case where it should do something. So now, let's look again in - -11 -00:00:28,380 --> 00:00:31,470 -our test cases, let's consider the first one, and I'm going to go a - -12 -00:00:31,470 --> 00:00:34,410 -little faster in this case, because we already saw what happens If - -13 -00:00:34,410 --> 00:00:37,890 -we execute the first test case, we get to this point, we execute - -14 -00:00:37,890 --> 00:00:40,710 -this statement, and then we just jump to the end, as we - -15 -00:00:40,710 --> 00:00:44,020 -saw. Now we, if we execute the second test case, we do the - -16 -00:00:44,020 --> 00:00:46,740 -same, we get to the else statement, the condition for the if is - -17 -00:00:46,740 --> 00:00:50,770 -true, and therefore we execute this statement. And we never reached this point - -18 -00:00:50,770 --> 00:00:53,320 -for either of the test cases. So how can we express - -19 -00:00:53,320 --> 00:00:56,470 -this? In order to do that, I'm going to introduce a very useful - -20 -00:00:56,470 --> 00:01:00,450 -concept. The concept of control flow graphs. The control flow graphs - -21 -00:01:00,450 --> 00:01:03,310 -is just a representation for the code that is very convenient when - -22 -00:01:03,310 --> 00:01:06,030 -we run our reason about the code and its structure. And - -23 -00:01:06,030 --> 00:01:09,910 -it's a fairly simple one that represents statement with notes and the - -24 -00:01:09,910 --> 00:01:12,900 -flow of control within the code with edges. So here's an - -25 -00:01:12,900 --> 00:01:16,180 -example of control flow graph for this code. There is the entry - -26 -00:01:16,180 --> 00:01:19,790 -point of the code right here, then our statement in which we - -27 -00:01:19,790 --> 00:01:23,320 -assign the result of A plus B to variable result. Our if - -28 -00:01:23,320 --> 00:01:25,720 -statement and as you can see the if statement it's got two - -29 -00:01:25,720 --> 00:01:28,930 -branches coming out of it, because based on the outcome of this - -30 -00:01:28,930 --> 00:01:32,376 -predicate we will go one way or the other. In fact normally - -31 -00:01:32,376 --> 00:01:36,000 -what we do, we will label this edges accordingly. So for example, - -32 -00:01:36,000 --> 00:01:38,580 -here we will say that this is the label to be executed - -33 -00:01:38,580 --> 00:01:41,470 -when the predicate is true. And this is the label that is executed - -34 -00:01:41,470 --> 00:01:44,120 -when the predicate is false. Now, at this point, similar - -35 -00:01:44,120 --> 00:01:47,080 -thing, statement five which corresponds with this one, we have another - -36 -00:01:47,080 --> 00:01:49,650 -if statement and if that statement is true, then we get - -37 -00:01:49,650 --> 00:01:51,830 -to this point and if it's false, we get to this - -38 -00:01:51,830 --> 00:01:54,370 -point. So as you can see, this graph represents my - -39 -00:01:54,370 --> 00:01:57,040 -code, in a much more intuitive way, because I can see - -40 -00:01:57,040 --> 00:02:00,650 -right away where the control flows, while I execute the code. - -41 -00:02:00,650 --> 00:02:01,730 -So we're going to use this - -42 -00:02:01,730 --> 00:02:04,430 -representation to introduce further coverage criteria. |