1) Answer the following questions for each method or method signature below. You may assume that these functions do not access or modify any memory not allocated within the function itself (i.e., global or class-level data).
I.
int foo(boolean a, boolean b, boolean c);
A). How many test cases are required to exhaustively test this function? B). Is it possible to perform an functionality-based partitioning given the information above? You do not need to provide a partitioning
II.
int biz(boolean a, boolean b, boolean c){ if(a==b){
return 1; }
if(b==c){ return 1;
}
return 0;
}
a). How many test cases are required to exhaustively test this function?
b). Is it possible to perform an interface-based partitioning given the information above? You do not need to provide a partitioning
III.
int bar(int a){
int k = 1; while(kk+=k
}
}
a) How many test cases are required to exhaustively test this function? You may assume a 32-bit `int` data type and an accurate approximation will receive full credit.
b) Give one possible functionality-based partitioning for the code above.
2). Consider the following function signature
String[] findFilesandFoldersInDirectory (
String directoryName, String filePartialName) throws FileNotFoundException;
This method takes as input a directory name and a partial string representing part of a file or folder. It finds out all the folders and files within the given directoryName whose names contain filePartialNa me by recursively searching all subdirectories of directoryName . A FileNotFoundException is thrown only if directoryName is not a valid directory.
Design a random testing scheme for the method function. Provide either a verbal explanation of your scheme (250 words or less) or pseudocode.