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
|
1
00:00:00,230 --> 00:00:03,250
Now we move to the next step, which involves partitioning the
2
00:00:03,250 --> 00:00:07,680
categories that we just identified into choices. And these choices are the
3
00:00:07,680 --> 00:00:11,930
interesting cases for each category. So the interesting subdomains for each one
4
00:00:11,930 --> 00:00:14,810
of these categories. So once more, lets look at that using our
5
00:00:14,810 --> 00:00:18,110
example, the split program. So lets start by considering length. What are
6
00:00:18,110 --> 00:00:20,710
the interesting cases when we think about the length of a string?
7
00:00:20,710 --> 00:00:23,220
Some of those we already saw, one interesting case is the case
8
00:00:23,220 --> 00:00:26,190
of the length of size zero, so a string with no characters.
9
00:00:26,190 --> 00:00:29,030
Another interesting case is the one in which the length of the
10
00:00:29,030 --> 00:00:31,780
string is size minus one, so the string is just one character
11
00:00:31,780 --> 00:00:34,610
short of the size at which it will be cut by the
12
00:00:34,610 --> 00:00:38,160
split program. And we can continue along these lines, so we will select
13
00:00:38,160 --> 00:00:42,950
size, size plus one, size twice the value of size minus one,
14
00:00:42,950 --> 00:00:45,560
and so on and so forth. But even without listing all of
15
00:00:45,560 --> 00:00:47,500
those, I'm sure you get the idea of what it means to
16
00:00:47,500 --> 00:00:49,780
identify this interesting cases. Let's see
17
00:00:49,780 --> 00:00:51,702
the movements that are considering the content.
18
00:00:51,702 --> 00:00:53,990
So without the interesting cases when we think about the content
19
00:00:53,990 --> 00:00:56,520
of the string. So possible interesting case is the string that
20
00:00:56,520 --> 00:01:00,660
contains only spaces. Why? Well maybe because a split is written
21
00:01:00,660 --> 00:01:04,290
spaces in a special way. Similarly a string that contains special
22
00:01:04,290 --> 00:01:06,780
characters, like non printable characters,
23
00:01:06,780 --> 00:01:09,020
like tabulation characters, new line might
24
00:01:09,020 --> 00:01:12,240
also be an interesting case, something that we want to test. Also
25
00:01:12,240 --> 00:01:14,280
in this case we could continue and go on and on.
26
00:01:14,280 --> 00:01:17,250
So basically here you just want to put all the interesting cases
27
00:01:17,250 --> 00:01:20,010
that you can think of when you consider the content
28
00:01:20,010 --> 00:01:22,440
of a string. Now let's move to the value as the
29
00:01:22,440 --> 00:01:25,740
next category. So the value of the input size. And
30
00:01:25,740 --> 00:01:29,280
here we might want to consider a size zero, special case, a
31
00:01:29,280 --> 00:01:33,640
normal situation, like size greater than zero, another special case,
32
00:01:33,640 --> 00:01:36,420
size less than zero or maxint. And these are, if you
33
00:01:36,420 --> 00:01:39,420
remember, I accepted the cases that we consider when we look
34
00:01:39,420 --> 00:01:42,350
at this example, before. And also here we can continue and
35
00:01:42,350 --> 00:01:43,970
go on and on. So, at the end of the
36
00:01:43,970 --> 00:01:46,860
step, what we have is a set of interesting cases
37
00:01:46,860 --> 00:01:49,220
for each one of the categories, and now we can
38
00:01:49,220 --> 00:01:51,150
start to think about how we want to combine them.
|