Test Case Generation | Set 1 (Random Numbers, Arrays and Matrices)
The test cases are an extremely important part of any “Software/Project Testing Process”. Hence this Set will be very important for all aspiring software developers. The following are the programs to generate test cases.
- Generating Random Numbers
C++
// A C++ Program to generate test cases for // random number #include<bits/stdc++.h> using namespace std; // Define the number of runs for the test data // generated #define RUN 5 // Define the range of the test data generated #define MAX 10000000 int main() { // Uncomment the below line to store // the test data in a file // freopen("Test_Cases.in", "w", stdout); // For random values every time srand ( time (NULL)); for ( int i=1; i<=RUN; i++) printf ( "%d\n" , rand () % MAX); // Uncomment the below line to store // the test data in a file //fclose(stdout); return (0); } |
Java
// A Java Program to generate test cases // for random number import java.io.*; import java.util.Random; class GeneratingRandomNumbers { // the number of runs // for the test data generated static int requiredNumbers = 5 ; // minimum range of random numbers static int lowerBound = 0 ; // maximum range of random numbers static int upperBound = 1000 ; // Driver Code public static void main (String[] args) throws IOException { Random random = new Random(); for ( int i = 0 ; i < requiredNumbers; i++) { int a = random.nextInt(upperBound - lowerBound) + lowerBound; System.out.println(a); } } } // This code is contributed by Madfrost |
Python3
# A Python3 Program to generate test cases # for random number import random # the number of runs # for the test data generated requiredNumbers = 5 ; # minimum range of random numbers lowerBound = 0 ; # maximum range of random numbers upperBound = 1000 ; # Driver Code if __name__ = = '__main__' : for i in range (requiredNumbers): a = random.randrange( 0 , upperBound - lowerBound) + lowerBound; print (a); # This code is contributed by 29AjayKumar |
C#
// A C# Program to generate test cases // for random number using System; class GeneratingRandomNumbers { // the number of runs // for the test data generated static int requiredNumbers = 5; // minimum range of random numbers static int lowerBound = 0; // maximum range of random numbers static int upperBound = 1000; // Driver Code public static void Main(String[] args) { Random random = new Random(); for ( int i = 0; i < requiredNumbers; i++) { int a = random.Next(upperBound - lowerBound) + lowerBound; Console.WriteLine(a); } } } // This code is contributed by Rajput-Ji |
Javascript
<script> let requiredNumbers = 5; let lowerBound = 0; let upperBound = 1000; for (let i = 0; i < requiredNumbers; i++) { let a = Math.floor(Math.random() * (upperBound - lowerBound)) + lowerBound; document.write(a+ "<br>" ); } // This code is contributed by rag2127 </script> |
- Generating Random Arrays
C++
// A C++ Program to generate test cases for // array filled with random numbers #include<bits/stdc++.h> using namespace std; // Define the number of runs for the test data // generated #define RUN 5 // Define the range of the test data generated #define MAX 10000000 // Define the maximum number of array elements #define MAXNUM 100 int main() { // Uncomment the below line to store // the test data in a file //freopen ("Test_Cases_Random_Array.in", "w", stdout); //For random values every time srand ( time (NULL)); for ( int i=1; i<=RUN; i++) { // Number of array elements int NUM = 1 + rand () % MAXNUM; // First print the number of array elements printf ( "%d\n" , NUM); // Then print the array elements separated // by space for ( int j=1; j<=NUM; j++) printf ( "%d " , rand () % MAX); printf ( "\n" ); } // Uncomment the below line to store // the test data in a file //fclose(stdout); return (0); } |
Java
// A Java Program to generate test cases // for array filled with random numbers import java.io.*; import java.util.Random; class GeneratingRandomArrays { // the number of runs // for the test data generated static int RUN = 5 ; // minimum range of random numbers static int lowerBound = 0 ; // maximum range of random numbers static int upperBound = 1000 ; // minimum size of reqd array static int minSize = 10 ; // maximum size of reqd array static int maxSize = 20 ; // Driver Code public static void main (String[] args) throws IOException { Random random = new Random(); for ( int i = 0 ; i < RUN; i++) { int size = random.nextInt(maxSize - minSize) + minSize; int [] array = new int [size]; System.out.println(size); for ( int j = 0 ; j < size; j++) { int a = random.nextInt(upperBound - lowerBound) + lowerBound; System.out.print(a + " " ); } System.out.println(); } } } // This code is contributed by Madfrost |
Python3
# A Python3 Program to generate test cases # for array filled with random numbers import random # the number of runs # for the test data generated RUN = 5 ; # minimum range of random numbers lowerBound = 0 ; # maximum range of random numbers upperBound = 1000 ; # minimum size of reqd array minSize = 10 ; # maximum size of reqd array maxSize = 20 ; # Driver Code if __name__ = = '__main__' : for i in range (RUN): size = random.randrange( 0 , maxSize - minSize) + minSize; array = [ 0 ] * size; print (size); for j in range (size): a = random.randrange( 0 , upperBound - lowerBound) + lowerBound; print (a, end = " " ); print (); # This code is contributed by 29AjayKumar |
C#
// A C# Program to generate test cases // for array filled with random numbers using System; class GeneratingRandomArrays { // the number of runs // for the test data generated static int RUN = 5; // minimum range of random numbers static int lowerBound = 0; // maximum range of random numbers static int upperBound = 1000; // minimum size of reqd array static int minSize = 10; // maximum size of reqd array static int maxSize = 20; // Driver Code public static void Main(String[] args) { Random random = new Random(); for ( int i = 0; i < RUN; i++) { int size = random.Next(maxSize - minSize) + minSize; int [] array = new int [size]; Console.WriteLine(size); for ( int j = 0; j < size; j++) { int a = random.Next(upperBound - lowerBound) + lowerBound; Console.Write(a + " " ); } Console.WriteLine(); } } } // This code is contributed by 29AjayKumar |
Javascript
<script> // A JavaScript Program to generate test cases // for array filled with random numbers // the number of runs // for the test data generated let RUN = 5; // minimum range of random numbers let lowerBound = 0; // maximum range of random numbers let upperBound = 1000; // minimum size of reqd array let minSize = 10; // maximum size of reqd array let maxSize = 20; for (let i = 0; i < RUN; i++) { let size = Math.floor(Math.random() * (maxSize - minSize)) + minSize; let array = new Array(size); document.write(size+ "<br>" ); for (let j = 0; j < size; j++) { let a = Math.floor(Math.random() * (upperBound - lowerBound)) + lowerBound; document.write(a + " " ); } document.write( "<br>" ); } // This code is contributed by avanitrachhadiya2155 </script> |
- Generating Random Matrix
C++
// A C++ Program to generate test cases for // matrix filled with random numbers #include<bits/stdc++.h> using namespace std; // Define the number of runs for the test data // generated #define RUN 3 // Define the range of the test data generated #define MAX 100000 // Define the maximum rows in matrix #define MAXROW 10 // Define the maximum columns in matrix #define MAXCOL 10 int main() { // Uncomment the below line to store // the test data in a file // freopen ("Test_Cases_Random_Matrix.in", "w", stdout); // For random values every time srand ( time (NULL)); for ( int i=1; i<=RUN; i++) { // Number of rows and columns int row = 1 + rand () % MAXROW; int col = 1 + rand () % MAXCOL; // First print the number of rows and columns printf ( "%d %d\n" , row, col); // Then print the matrix for ( int j=1; j<=row; j++) { for ( int k=1; k<=col; k++) printf ( "%d " , rand () % MAX); printf ( "\n" ); } printf ( "\n" ); } // Uncomment the below line to store // the test data in a file // fclose(stdout); return (0); } |
Java
// A Java Program to generate test cases for // matrix filled with random numbers import java.io.*; import java.util.Random; class GeneratingRandomMatrix { // the number of runs // for the test data generated static int RUN = 5 ; // minimum range of random numbers static int lowerBound = 0 ; // maximum range of random numbers static int upperBound = 1000 ; // maximum size of column static int maxColumn = 10 ; // minimum size of column static int minColumn = 1 ; // minimum size of row static int minRow = 1 ; // maximum size of row static int maxRow = 10 ; // Driver Code public static void main (String[] args) throws IOException { Random random = new Random(); for ( int i = 0 ; i < RUN; i++) { int row = random.nextInt(maxRow - minRow) + minRow; int column = random.nextInt(maxColumn - minColumn) + minColumn; int [][] matrix = new int [row][column]; System.out.println(row + " " + column); for ( int j = 0 ; j < row; j++) { for ( int k = 0 ; k < column; k++) { int a = random.nextInt(upperBound - lowerBound) + lowerBound; System.out.print(a + " " ); } System.out.println(); } System.out.println(); } } } // This code is contributed by Madfrost |
Python3
# A Python3 Program to generate test cases # for matrix filled with random numbers import random # the number of runs # for the test data generated RUN = 5 ; # minimum range of random numbers lowerBound = 0 ; # maximum range of random numbers upperBound = 1000 ; # maximum size of column maxColumn = 10 ; # minimum size of column minColumn = 1 ; # minimum size of row minRow = 1 ; # maximum size of row maxRow = 10 ; # Driver Code if __name__ = = '__main__' : for i in range (RUN): row = random.randrange( 0 , maxRow - minRow) + minRow column = random.randrange( 0 , maxColumn - minColumn) + minColumn matrix = [[ 0 for i in range (column)] for j in range (row)] print (row, column) for j in range (row): for k in range (column): a = random.randrange( 0 , upperBound - lowerBound) + lowerBound print (a ,end = " " ) print () print () # This code is contributed by Shubham Singh |
C#
// A C# Program to generate test cases for // matrix filled with random numbers using System; public class GeneratingRandomMatrix { // the number of runs // for the test data generated static int RUN = 5; // minimum range of random numbers static int lowerBound = 0; // maximum range of random numbers static int upperBound = 1000; // maximum size of column static int maxColumn = 10; // minimum size of column static int minColumn = 1; // minimum size of row static int minRow = 1; // maximum size of row static int maxRow = 10; // Driver Code public static void Main(String[] args) { Random random = new Random(); for ( int i = 0; i < RUN; i++) { int row = random.Next(maxRow - minRow) + minRow; int column = random.Next(maxColumn - minColumn) + minColumn; int [,] matrix = new int [row, column]; Console.WriteLine(row + " " + column); for ( int j = 0; j < row; j++) { for ( int k = 0; k < column; k++) { int a = random.Next(upperBound - lowerBound) + lowerBound; Console.Write(a + " " ); } Console.WriteLine(); } Console.WriteLine(); } } } // This code is contributed by 29AjayKumar |
Javascript
// A JavaScript Program to generate test cases for // matrix filled with random numbers const RUN = 5; const lowerBound = 0; const upperBound = 1000; const maxColumn = 10; const minColumn = 1; const minRow = 1; const maxRow = 10; for (let i = 0; i < RUN; i++) { const row = Math.floor(Math.random() * (maxRow - minRow + 1)) + minRow; const column = Math.floor(Math.random() * (maxColumn - minColumn + 1)) + minColumn; console.log(`${row} ${column}`); for (let j = 0; j < row; j++) { let rowString = "" ; for (let k = 0; k < column; k++) { const a = Math.floor(Math.random() * (upperBound - lowerBound + 1)) + lowerBound; rowString += `${a} `; } console.log(rowString); } console.log( "" ); } |
Library Functions Used
- rand() Function–
-> Generate random numbers from the range 0 to RAND_MAX (32767)
-> Defined in <stdlib.h>/<cstdlib> header
-> If we want to assign a random number in the range – m to n [n >= m] to a variable var, then use-
var = m + ( rand() % ( n – m + 1 ) );
-> This function is a run-time function. So the values – n, m must be declared before compiling just like we have to declare the size of array before compiling.
-> Call this function every time you want to generate a random number - time() Function
-> Return the number of seconds from [00:00:00 UTC, January 1, 1970]
-> Defined in <time.h> header - srand(seed)
-> Generates random number according to the seed passed to it.
-> If this function is not used and we use rand() function then every time we run the program the same random numbers gets generated.
-> To overcome the above limitation, we pass time(NULL) as a seed. Hence srand(time(NULL)) is used to generate random values every time the program is made to run.
-> Always use this at the beginning of the program, i.e- just after int main() {
-> No need to call this function every time you generate a random number
-> Defined in <stdlib.h>/<cstdlib> header - freopen(“output.txt”, “w”, stdout)
-> Writes (that’s why we passed “w” as the second argument) all the data to output.txt file (The file must be in the same file as the program is in).
-> Used to redirect stdout to a file.
-> If the output.txt file is not created before then it gets created in the same file as the program is in. - fclose(stdout)
-> Closes the standard output stream file to avoid leaks.
-> Always use this at the end of the program, i.e- just before return(0) in the int main() function.