about summary refs log tree commit diff
path: root/usth/ICT2.7/P4L3 White-Box Testing Subtitles/2 - Overview - lang_en_vs4.srt
blob: c032d40ff8368b6acd7f177384d3c3a329288d85 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
1
00:00:00,420 --> 00:00:03,860
In the last lesson, we talked about black-box testing or functional testing,

2
00:00:03,860 --> 00:00:06,110
which is the kind of testing that you perform when you just

3
00:00:06,110 --> 00:00:09,860
look at the description of the software. Today we're going to cover white-box

4
00:00:09,860 --> 00:00:12,490
testing, which is the kind of testing that we perform when we

5
00:00:12,490 --> 00:00:15,800
open up the box. We look inside the program, and we actually

6
00:00:15,800 --> 00:00:19,490
test it based on its code. And there is one basic assumption

7
00:00:19,490 --> 00:00:22,320
behind the idea of white-box testing, which is a very intuitive one,

8
00:00:22,320 --> 00:00:26,080
and the assumption is that executing the faulty statement is a necessary

9
00:00:26,080 --> 00:00:29,380
condition for revealing a fault. In other words, if there is

10
00:00:29,380 --> 00:00:31,690
a bug in the program there is no way were going to be

11
00:00:31,690 --> 00:00:34,490
able to find this bug or this fault, if we don't execute

12
00:00:34,490 --> 00:00:37,110
the statement that contains it. Which makes a lot of sense. As

13
00:00:37,110 --> 00:00:40,240
we did for black-box testing, we're going to start by summarizing what

14
00:00:40,240 --> 00:00:43,650
are the main advantages of white-box testing. The main advantage is that

15
00:00:43,650 --> 00:00:48,050
it's based on the code, and as such, the quality of white-box

16
00:00:48,050 --> 00:00:51,760
testing can be measured objectively. And what I mean here by objectively

17
00:00:51,760 --> 00:00:54,390
is that if you think about black-box testing In many

18
00:00:54,390 --> 00:00:57,630
cases, there were subjective decisions, there were had to be made

19
00:00:57,630 --> 00:01:00,830
in order to define tests in a black-box fashion. In the

20
00:01:00,830 --> 00:01:03,990
case of white-box testing, because everything is based on the quota,

21
00:01:03,990 --> 00:01:07,965
we don't have to make such subjective decisions. And similarly, because

22
00:01:07,965 --> 00:01:10,680
white-box testing is based on the code, it can be measured

23
00:01:10,680 --> 00:01:14,250
automatically. So we can build tools and actually there are tools,

24
00:01:14,250 --> 00:01:16,860
and there's plenty of tools, that can be measured, the level

25
00:01:16,860 --> 00:01:19,670
of white-box testing can be achieved in a fully automated way.

26
00:01:19,670 --> 00:01:21,620
And we're going to see some of them in the course of the

27
00:01:21,620 --> 00:01:24,600
class. Another advantage of white-box testing is that it can be

28
00:01:24,600 --> 00:01:27,700
used to compare test suites. So if you have two alternative sets

29
00:01:27,700 --> 00:01:30,270
of tests that you can use to assess the quality of

30
00:01:30,270 --> 00:01:34,360
your software, white-box testing techniques can tell you which one of these

31
00:01:34,360 --> 00:01:37,580
two test suites is likely to be more effective in testing

32
00:01:37,580 --> 00:01:42,350
your code. And finally, white-box testing allows for covering the coded behavior

33
00:01:42,350 --> 00:01:44,470
of the software. What that means is that if there is

34
00:01:44,470 --> 00:01:47,680
some mistake in the code and is not obvious by looking at

35
00:01:47,680 --> 00:01:50,300
the specification of the code, white box testing might be able

36
00:01:50,300 --> 00:01:53,330
to catch it, because it tries to exercise the code. There's many

37
00:01:53,330 --> 00:01:56,430
different kinds of white box testing, there are control flow based

38
00:01:56,430 --> 00:02:00,550
techniques, data flow based techniques, and fault based techniques. And for each

39
00:02:00,550 --> 00:02:04,030
one of these family of techniques there are many variations. So

40
00:02:04,030 --> 00:02:07,450
this field is very, very broad. In this lesson we will talk

41
00:02:07,450 --> 00:02:09,110
about white-box testing by focusing

42
00:02:09,110 --> 00:02:11,910
mainly on control-flow based testing techniques.