e.g roundOff (3.4567,2) output will be 3.46.

To write Test Cases

1) Try to figure out the code or pseudo code

2) There can be several kind of testing but for simple question

a. Positive Test Case (where code should result output)

b. Negative Test Case (try to generate wrong output from code )

c. Destructive Test Case ( Try to generate Error )

Thanks to Dhaval for suggesting this code, testcases and Article

Sample Code :

#include <stdio.h> #include <math.h> float round1 ( float num , int n){ float temp, dec; num = num < 0 ? num - (1 / pow(10,n)) : num + 1 / pow(10,n); num = num * pow (10 , n ); return (int) num / pow ( 10 , n ); } int main(){ int n = 2; printf("n %f ",round1( 4.4567 , n ) ); return 0; }

This may not be the perfect code but for testcases lets take this code.

Now

Test cases :

Think

**1. Input/Output Tests**

a) if we give very large number to be stored in float number then ?

b) what if “n” is 0

c) what if n is too large to accommodate in int ? eg n =111000000000; **(Boundry Value tests)**

e) what if n is negative ?

f) Consider instead of numbers 4.4567 and n, String is passed. eg (4.456×7 , 2a)

**2. Black box testing : ** check proper (desired) output is printed // black box testing.

**
3. Stress Test** : What if this function get called by 10000 times together.

4.

4.

**Destructive Test :**what if pow(10,n) or any mathematical step gives memory error ?

a) n is too large to generate pow (10,n) : eg n = 10

b) Both “n” and “num” are proper but num = num * pow (10 , n ); can generate exeception

for round1(234244.45672,5);

c) same for “Division”

solution : Keep

__Try Catch block to handle exception and errors__

**Please Give ur feedback below and share information.**