-So let's look at how this will work with an example. - -2
-I'm going to use this simple program that takes two inputs. The - -3
-first input is a string, str, and the second one is - -4
-an integer, size. And the problem is called split. And as - -5
-the name says what it does is to take this string, - -6
-str, and split it into sub string, into chunks of size - -7
-characters each. So how do we identify some possible partitions for - -8
-this program? If we consider the input size, we can identify - -9
-three neutral partitions which are size less than 0. For example, - -10
-we want to test how the program behaves. But if we pass an - -11
-incorrect size, size equal to 0, which is also a partition. In - -12
-this case, a partition with a single element. And the third case - -13
-is size greater than 0, which I will consider to be - -14
-kind of the standard case. And actually let me do a, you - -15
-know, slight aggression so when I was talking about designer bias. So - -16
-this is a case in which designer bias might not make you - -17
-think of using size less than 0 because you read the - -18
-spec. And you sort of assume that the size will be positive. - -19
-Whereas the right thing to do when we test is to consider - -20
-the complete domain rather than just parts of it. So now let's - -21
-look at string, str, and let's see what kind of sub - -22
-domains we could identify for this - -23
-parameter. And notice another important aspect - -24
-here is that we treat each different part of the input independently, - -25
-which also helps breaking down the problem. One interesting sub domain is - -26
-the domain that includes all the strings whose length is less than - -27
-size. So all the strings that will not be displayed. Another subdomain - -28
-is all the strings with length which is between the value of - -29
-size and twice the value of size. A third subdomain is the one - -30
-including all the strings whose length is greater than twice the value - -31
-of size. And we can continue and identify more and more subdomain. - -32
-The key thing here is that we have to do that based - -33
-on the domain. So we need to adapt what we just did here - -34
-based on, on the specific domain involved and on the type - -35
-of data in this domain. So at this point we said that - -36
-there were two steps. One was to identify the subdomains and - -37
-the second one was to pick values in this subdomain. The values - -38
-that we'll actually use for the testing. In this case, we - -39
-do not want to just pick any value. Rather we want to - -40
-pick values that are particularly - -41
-interesting, particularly representative. So what does - -42
-that mean? Well, we're going to do that based on an intuitive idea. -- cgit 1.4.1