Skip to content
Related Articles

Related Articles

Improve Article
Test Case Generation | Set 1 (Random Numbers, Arrays and Matrices)
  • Difficulty Level : Medium
  • Last Updated : 22 Jun, 2021

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;
 
    // miminum 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;
 
# miminum 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;
 
    // miminum 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;
 
    // miminum range of random numbers
    static int lowerBound = 0;
 
    // maximum range of random numbers
    static int upperBound = 1000;
 
    // miminum 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;
 
# miminum range of random numbers
lowerBound = 0;
 
# maximum range of random numbers
upperBound = 1000;
 
# miminum 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;
 
    // miminum range of random numbers
    static int lowerBound = 0;
 
    // maximum range of random numbers
    static int upperBound = 1000;
 
    // miminum 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;
 
// miminum range of random numbers
let lowerBound = 0;
 
// maximum range of random numbers
let upperBound = 1000;
 
// miminum 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;
 
    // miminum range of random numbers
    static int lowerBound = 0;
 
    // maximum range of random numbers
    static int upperBound = 1000;
 
    // maximum size of colomn
    static int maxColomn = 10;
 
    // miminum size of colomn
    static int minColomn = 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 colomn = random.nextInt(maxColomn - minColomn) +
                                                    minColomn;
 
            int[][] matrix = new int[row][colomn];
 
            System.out.println(row + " " + colomn);
 
            for(int j = 0; j < row; j++)
            {
                for(int k = 0; k < colomn; k++)
                {
                    int a = random.nextInt(upperBound - lowerBound) +
                                                        lowerBound;
                    System.out.print(a + " ");
                }
                System.out.println();
            }
            System.out.println();
        }
    }
}
 
// This code is contributed by Madfrost

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;
 
    // miminum range of random numbers
    static int lowerBound = 0;
 
    // maximum range of random numbers
    static int upperBound = 1000;
 
    // maximum size of colomn
    static int maxColomn = 10;
 
    // miminum size of colomn
    static int minColomn = 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 colomn = random.Next(maxColomn - minColomn) +
                                                    minColomn;
 
            int[,] matrix = new int[row, colomn];
 
            Console.WriteLine(row + " " + colomn);
 
            for(int j = 0; j < row; j++)
            {
                for(int k = 0; k < colomn; k++)
                {
                    int a = random.Next(upperBound - lowerBound) +
                                                        lowerBound;
                    Console.Write(a + " ");
                }
                Console.WriteLine();
            }
            Console.WriteLine();
        }
    }
}
 
// This code is contributed by 29AjayKumar
Library Functions Used

 

  1. 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
  2. time() Function 
    -> Return the number of seconds from [00:00:00 UTC, January 1, 1970] 
    -> Defined in <time.h> header
  3. 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
  4. 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.
  5. 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.

This article is contributed by Rachit Belwariar. If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to review-team@geeksforgeeks.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
 

Attention reader! Don’t stop learning now. Get hold of all the important Comcompetitivepetitve Programming concepts with the Competitive Programming Live  course.




My Personal Notes arrow_drop_up
Recommended Articles
Page :