[go: up one dir, main page]

0% found this document useful (0 votes)
257 views56 pages

18ISL66 - Software Testing Laboratory - Lab Manual

Download as pdf or txt
Download as pdf or txt
Download as pdf or txt
You are on page 1/ 56

VISVESVARAYA TECHNOLOGICAL UNIVERSITY

BELAGAVI

Software Testing Laboratory


(18ISL66)
(As per Visvesvaraya Technological University Syllabus)

Compiled By:

Prof. Pushpalatha K S Prof. Supriya C


Assistant Professor, Dept. of ISE Assistant Professor, Dept. of ISE

DEPARTMENT OF INFORMATION SCIENCE AND ENGINEERING


ACHARYA INSTITUTE OF TECHNOLOGY
Affiliated to VTU, Belagavi, Approved by AICTE, New Delhi and Govt. of Karnataka),
Acharya Dr. Sarvepalli Radhakrishnan Road, Bangalore-560107.
Ph : 91-080-28396011, 23723466, 28376431
URL: www.acharya.ac.in

2022-23
Disclaimer
The information contained in this document is the proprietary and exclusive property of Acharya
Institutes except as otherwise indicated. No part of this document, in whole or in part, may be reproduced,
stored, transmitted, or used for course material development purposes without the prior written
permission of Acharya Institutes.

The information contained in this document is subject to change without notice. The information in this
document is provided for informational purposes only.

Trademark

Edition: 2022 - 23

Document Owner
The primary contact for questions regarding this document is:

Author(s): 1. Prof. Pushpalatha K.S


2. Prof. Supriya C

Department: Information Science & Engineering


Contact Email(s): pushpalatha2391@acharya.ac.in
supriyac2511@acharya.ac.in
Department of ISE, AIT.

Part B
1. Design and develop a program in a language of your choice to solve the triangle problem defined as
follows: Accept three integers which are supposed to be the three sides of a triangle and determine if
the three values represent an equilateral triangle, isosceles triangle, scalene triangle, or they do not
form a triangle at all. Assume that the upper limit for the size of any side is 10. Derive test cases for
your program based on boundary-value analysis, execute the test cases and discuss the results.

2. Design, develop, code and run the program in any suitable language to solve the commission
problem. Analyze it from the perspective of boundary value testing, derive different test cases,
execute these test cases and discuss the test results.

3. Design, develop, code and run the program in any suitable language to implement the NextDate
function. Analyze it from the perspective of boundary value testing, derive different test cases,
execute these test cases and discuss the test results

4. Design and develop a program in a language of your choice to solve the triangle problem defined as
follows: Accept three integers which are supposed to be the three sides of a triangle and determine if
the three values represent an equilateral triangle, isosceles triangle, scalene triangle, or they do not
form a triangle at all. Assume that the upper limit for the size of any side is 10. Derive test cases for
your program based on equivalence class partitioning, execute the test cases and discuss the results

5. Design, develop, code and run the program in any suitable language to solve the commission
problem. Analyze it from the perspective of equivalence class testing, derive different test cases,
execute these test cases and discuss the test results

6. Design, develop, code and run the program in any suitable language to implement the NextDate
function. Analyze it from the perspective of equivalence class value testing, derive different test
cases, execute these test cases and discuss the test results.

7. Design and develop a program in a language of your choice to solve the triangle problem defined as
follows: Accept three integers which are supposed to be the three sides of a triangle and determine if
the three values represent an equilateral triangle, isosceles triangle, scalene triangle, or they do not
form a triangle at all. Derive test cases for your program based on decision-table approach, execute
the test cases and discuss the results.

8. Design, develop, code and run the program in any suitable language to solve the commission
problem. Analyze it from the perspective of decision table-based testing, derive different test cases,
execute these test cases and discuss the test results

9. Design, develop, code and run the program in any suitable language to solve the commission
problem. Analyze it from the perspective of dataflow testing, derive different test cases, execute
these test cases and discuss the test results.

10. Design, develop, code and run the program in any suitable language to implement the binary search
algorithm. Determine the basis paths and using them derive different test cases, execute these test
cases and discuss the test results.

Software Testing Laboratory (18ISL66) Page 1


Department of ISE, AIT.
11. Design, develop, code and run the program in any suitable language to implement the quick sort
algorithm. Determine the basis paths and using them derive different test cases, execute these test
cases and discuss the test results.

12. Design, develop, code and run the program in any suitable language to implement an absolute letter
grading procedure, making suitable assumptions. Determine the basis paths and using them derive
different test cases, execute these test cases and discuss the test results.

Software Testing Laboratory (18ISL66) Page 2


Department of ISE, AIT.
Program 7: Decision Table Approach for Solving Triangle Problem
/* Design and develop a program in a language of your choice to solve the triangle problem defined as
follows : Accept three integers which are supposed to be the three sides of triangle and determine if
the three values represent an equilateral triangle, isosceles triangle, scalene triangle, or they do not
form a triangle at all. Derive test cases for your program based on decision-table approach, execute
the test cases and discuss the results */

#include<stdio.h>
int main()
{
int a,b,c;
char istriangle;
printf("enter 3 integers which are sides of triangle\n");
scanf("%d%d%d",&a,&b,&c);
printf("a=%d\t,b=%d\t,c=%d",a,b,c);

// to check is it a triangle or not

if( a<b+c && b<a+c && c<a+b )


istriangle='y';
else
istriangle ='n';

// to check which type of triangle

if (istriangle=='y')
if ((a==b) && (b==c))
printf("equilateral triangle\n");
else if ((a!=b) && (a!=c) && (b!=c))
printf("scalene triangle\n");
else
printf("isosceles triangle\n");
else
printf("Not a triangle\n");
return 0;
}

Software Testing Laboratory (18ISL66) Page 3


Test Case Name :Decision table for triangle problem
Experiment Number : 7
Test Data : Enter the 3 Integer Value( a , b And c )
Pre-condition : a < b + c , b < a + c and c < a + b
Brief Description : Check whether given value for a equilateral, isosceles , Scalene triangle or can't form a triangle

Input data decision Table


RULES R1 R2 R3 R4 R5 R6 R7 R8 R9 R10 R11
C1: a < b + c F T T T T T T T T T T
C2 : b < a + c - F T T T T T T T T T
C3 : c < a + b - - F T T T T T T T T
Conditions
C4 : a = b - - - T T T T F F F F
C5 : a = c - - - T T F F T T F F
C6 : b = c - - - T F T F T F T F
a1 : Not a triangle X X X
a2 : Scalene triangle X
Actions a3 : Isosceles triangle X X X
a4 : Equilateral triangle X
a5 : Impossible X X X

Software testing laboratory (18ISL66)


Input Data
Case Id Description Expected Output Actual Output Status Comments
a b C
Enter the value of a, b and c Message should be
R1 (a < b+c
1 Such that a is not less than 20 5 5 displayed can't form a Cant form a triangle PASS
condition fails)
sum of two sides triangle
Enter the value of a, b and c
Such that b is not less than Message should be
2 sum of two sides and a is 3 15 11 displayed can't form a R2
less than sum of other two triangle
sides
Enter the value of a, b and c
Such that c is not less than Message should be
3 sum of two sides and a and 4 5 20 displayed can't form a R3
b is less than sum of other triangle
two sides
Enter the value a, b and c Should display the
4 satisfying precondition and 5 5 5 message Equilateral R4(a=b=c)
a=b, b=c and c=a triangle
Enter the value a ,b and c
Should display the
5 satisfying precondition and 10 10 9 R7(a=b)
message Isosceles triangle
a=b and b ≠ c
Enter the value a, b and c
Should display the
6 satisfying precondition and 5 6 7 R11(a!=b!=c)
message Scalene triangle
a ≠b , b ≠ c and c ≠ a

Software testing laboratory (18ISL66)


Department of ISE

Program 1 and 4 (Boundary Value and Equivalence Class Analysis Program)


/* Design and develop a program in a language of your choice to solve the triangle problem
defined as follows : Accept three integers which are supposed to be the three sides of
triangle and determine if the three values represent an equilateral triangle, isosceles
triangle, scalene triangle, or they do not form a triangle at all. Derive test cases for your
program based on boundary value analysis, execute the test cases and discuss the results */

#include<stdio.h>
int main()
{
int a,b,c,c1,c2,c3;
char istriangle;
do
{
printf("\nenter 3 integers which are sides of triangle\n");
scanf("%d%d%d",&a,&b,&c);
printf("\na=%d\tb=%d\tc=%d",a,b,c);
c1 = a>=1 && a<=10;
c2= b>=1 && b<=10;
c3= c>=1 && c<=10;
if (!c1)
printf("\nthe value of a=%d is not the range of permitted value",a);
if (!c2)
printf("\nthe value of b=%d is not the range of permitted value",b);
if (!c3)
printf("\nthe value of c=%d is not the range of permitted value",c);
} while(!(c1 && c2 && c3));

// To check is it a triangle or not

if( a<b+c && b<a+c && c<a+b )


istriangle='y';
else
istriangle ='n';

// To check which type of triangle

if (istriangle=='y')
if ((a==b) && (b==c))
printf("equilateral triangle\n");
else if ((a!=b) && (a!=c) && (b!=c))
printf("scalene triangle\n");
else
printf("isosceles triangle\n");
else
printf("Not a triangle\n");
return 0;
}

Software testing laboratory


Department of ISE
Test Case Name :Boundary Value Analysis for triangle problem
Experiment Number : 1
Test Data : Enter the 3 Integer Value( a , b And c )
Pre-condition : 1 ≤ a ≤ 10 , 1 ≤ b ≤ 10 and 1 ≤ c ≤ 10 and a < b + c , b < a + c and c < a + b
Brief Description : Check whether given value for a Equilateral, Isosceles , Scalene triangle or can't form a triangle

Triangle Problem -Boundary value Test cases for input data

Input Data
Actual
Case Id Description Expected Output Status Comments
Output
a B c
Should display the message Equilateral
1 Enter the min value for a , b and c 1 1 1 Equilateral PASS a=b=c
triangle
Enter the min value for 2 items and Message should be displayed can't form a
2 1 1 2
min +1 for any one item1 triangle
Enter the min value for 2 items and Message should be displayed can't form a
3 1 2 1
min +1 for any one item1 triangle
Enter the min value for 2 items and Message should be displayed can't form a
4 2 1 1
min +1 for any one item1 triangle
Enter the normal value for 2 items Should display the message Isosceles
5 5 5 1
and 1 item is min value triangle
Enter the normal value for 2 items Should display the message Isosceles
6 5 1 5
and 1 item is min value triangle
Enter the normal value for 2 items Should display the message Isosceles
7 1 5 5
and 1 item is min value triangle
Should display the message Equilateral
8 Enter the normal Value for a, b and c 5 5 5
triangle

Software testing laboratory


Department of ISE
Enter the normal value for 2 items
9 5 5 10 Should display the message Not a triangle
and 1 item is max value
Enter the normal value for 2 items Should display the message Not a triangle
10 5 10 5
and 1 item is max value
Enter the normal value for 2 items Should display the message Not a triangle
11 10 5 5
and 1 item is max value
Enter the max value for 2 items and Should display the message Isosceles
12 10 10 9
max - 1 for any one item triangle

Enter the max value for 2 items and Should display the message Isosceles
13 10 9 10
max - 1 for any one item triangle

Enter the max value for 2 items and Should display the message Isosceles
14 9 10 10
max - 1 for any one item triangle
Should display the message Equilateral
15 Enter the max value for a, b and c 10 10 10
triangle

Software testing laboratory


Department of ISE

Test Case Name :Equivalence class Analysis for triangle problem


Experiment Number : 4
Test Data : Enter the 3 Integer Value( a , b And c )
Classes: { (1,3),(3,5),(5,7)(7,10) }
Pre-condition : 1 ≤ a ≤ 10 , 1 ≤ b ≤ 10 and 1 ≤ c ≤ 10 and a < b + c , b < a + c and c < a + b
Brief Description : Check whether given value for a Equilateral, Isosceles , Scalene triangle or can't form a triangle
Triangle Problem - Equivalence Class Test cases for input data
Weak Equivalence class Testing
Case Input Data
Description Expected Output Actual Output Status Comments
Id a b C
Should display the message Equilateral
1 From class (1,3) 1 1 1
triangle
Should display the message Isosceles
2 From class(3,5) 3 5 3
triangle
Should display the message Scalene
3 From class(3,5) 3 4 5
triangle
Message should be displayed can't form
4 From class(3,5) 4 3 5
a triangle

Weak Robust Equivalence Class Testing


Enter one invalid input and two valid Should display value of a is not in the
5 -1 5 5
value for a , b and c range of permitted values
Enter one invalid input and two valid Should display value of a is not in the
6 5 -1 5
value for a , b and c range of permitted values
Enter one invalid input and two valid Should display value of a is not in the
7 5 5 -1
value for a , b and c range of permitted values
Enter one invalid input and two valid Should display value of a is not in the
8 11 5 5
value for a , b and c range of permitted values

Software testing laboratory


Department of ISE
Enter one invalid input and two valid Should display value of a is not in the
9 5 11 5
value for a , b and c range of permitted values
Enter one invalid input and two valid Should display value of a is not in the
10 5 5 11
value for a , b and c range of permitted values
Strong Robust Equivalence class Testing
Enter one invalid input and two Should display value of a is not in the
11 -1 5 5
valid value for a , b and c range of permitted values
Enter one invalid input and two Should display value of a is not in the
12 5 -1 5
valid value for a , b and c range of permitted values
Enter one invalid input and two Should display value of a is not in the
13 5 5 -1
valid value for a , b and c range of permitted values
Should display value of a is not in the
Enter two invalid input and two range of permitted values
14 -1 -1 5
valid value for a , b and c Should display value of b is not in the
range of permitted values
Should display value of b is not in the
Enter two invalid input and two range of permitted values
14 5 -1 -1
valid value for a , b and c Should display value of c is not in the
range of permitted values
Should display value of a is not in the
Enter two invalid input and two range of permitted values
14 -1 5 -1
valid value for a , b and c Should display value of c is not in the
range of permitted values
Should display value of a is not in the
range of permitted values
Should display value of b is not in the
15 Enter all invalid inputs -1 -1 -1
range of permitted values
Should display value of c is not in the
range of permitted values

Software testing laboratory


Department of ISE
1 //Program 9: (Dataflow Testing for commission calculation)
2 #include<stdio.h>
3 int main()
4 {
5 int locks, stocks, barrels, tlocks, tstocks, tbarrels;
6 float lprice,sprice,bprice,lsales,ssales,bsales,sales,comm;
7 lprice=45.0;
8 sprice=30.0;
9 bprice=25.0;
10 tlocks=0;
11 tstocks=0;
12 tbarrels=0;
13 printf("\nenter the number of locks and to exit the loop enter -1 for locks\n");
scanf("%d", &locks);
14 while(locks!=-1) {
15 printf("enter the number of stocks and barrels\n");
scanf("%d%d",&stocks,&barrels);
16 tlocks=tlocks+locks;
17 tstocks=tstocks+stocks;
18 tbarrels=btarrels+barrels;
19 printf("\nenter the number of locks and to exit the loop enter -1 for
locks\n"); scanf("%d",&locks);
20 }
21 printf("\ntotal locks = %d\”,tlocks);
22 printf(“total stocks =%d\n”,tstocks);
23 printf(“total barrels =%d\n",tbarrels);

24 lsales = lprice*tlocks;
25 ssales=sprice*tstocks;
26 bsales=bprice*tbarrels;
27 sales=lsales+ssales+bsales;
28 printf("\nthe total sales=%f\n",sales);
29 if(sales > 1800.0)
30 {
31 comm=0.10*1000.0;
32 comm=comm+0.15*800;
33 comm=comm+0.20*(sales-1800.0);
}
34 else if(sales > 1000)
35 {
36 comm =0.10*1000;
37 comm=comm+0.15*(sales-1000);
}
38 else
39 comm=0.10*sales;
40 printf("the commission is=%f\n",comm);
41 return 0;
42 }

Software testing laboratory


Department of ISE

Test Case Name : Data Flow Testing for Commission Program


Experiment No : 9
Precondition : Enter -1 for locks to exit from input loop
Brief Description : Enter the locks, stocks and barrels > 0

Define /Use nodes for variables in the commission problem


Variable
Defined at node Used at Node
name
Lprice 7 24
Sprice 8 25
Bprice 9 26
Tlocks 10,16 16,21,24
Tstocks 11,17 17,22,25
Tbarrels 12,18 18,23,26
Lock 13,19 14,16
s
Stocks 15 17
Barrels 15 18
Lsales 24 27
Ssales 25 27
Bsales 26 27
Sales 27 28,29,33,34,37,39
Comm 31,32,33,36,37,39 32,33,37,40
+

Software testing laboratory


Department of ISE

Selected De fine/Use Paths for Com mission problem


Test
Variables Path Definition
case Description Du Paths Comment
(Beginning, End nodes) clear?
id s
Check for lock price variable DEF(lprice,7) and <7-8-9-10-11-12-13-14-15-16-17-
1 (7 , 24) Yes
USE(lprice,24) 18-19-20-21-22-23-24>
Check for Stock price variable DEF(sprice,8) and <8-9-10-11-12-13-14-15-16-17-18-
2 (8 , 25) Yes
USE(sprice,25) 19-20-21-22-23-24-25>
Check for barrel price variable DEF(bprice,9) <9-10-11-12-13-14-15-16-17-18-
3 (9 , 26) Yes
and USE(bprice,26) 19-20-21-22-23-24-25-26>
(10 , 16) <10-11-12-13-14-15-16> Yes
<10-11-12-13-14-15-16-17-18-19-
(10 , 21) No
20-14-21>
Check for total locks variable DEF((tlocks,10)and
DEF(tlocks,16)) and <10-11-12-13-14-15-16-17-18-19-
4 (10 , 24) No
3 usage node(USE(tlocks,16),USE(tlocks,21), 20-14-21-22-23-24>
USE(tlocks,24)) (16 , 16) <16-16> Yes
(16 , 21) <16-17-18-19-14-21> No

(16 , 24) <16-17-18-19-20-14-21-22-23-24> No


(11 , 17) <11-12-13-14-15-16-17> Yes

Check for total stocks variable DEF((tstocks,11) <11-12-13-14-15-16-17-18-19-20-


(11 , 22) No
and DEF(tstocks,17)) and 21-14-21>
5
3 usage node(USE(tstocks,17),USE(tstocks,22), <11-12-13-14-15-16-17-18-19-20-
(11, 25) No
USE(tstocks,25)) 21-14-21-23-24-25>
(17 , 17) <17-17> Yes
(17 , 22) <17-18-19-20-14-21-22> No
Software testing laboratory
Department of ISE

Software testing laboratory


Department of ISE

(17 , 25) <17-18-19-20-14-21-22-23-24-25> No


Begin the
(13 , 14) <13-14> Yes
loop
check for locks variable ( DEF(locks,13), ( 13 , 16) <13-14-15-16> Yes
6
DEF(locks,19) and USE(locks,14),USE(locks,16) (19 , 14) <19-20-14> Yes
Repeat the
(19 , 16) <19-20-14-15-16> Yes
loop
Check for stocks variable (DEF(stocks,15) and
7 (15 , 17) <15-16-17> Yes
USE(stocks,17)
(27 ,28) <27-28> Yes
(27 , 29) <27-28-29> Yes
Check for sales DEF(sales, 27) and USE(Sales,
(27 , 33) <27-28-29-30-31-32-33> Yes
8 28), USE(Sales , 29), USE(Sales,33) , USE(Sales ,
34) , USE(Sales,37) , USE(Sales , 39) (27 , 34) <27-28-29-34> Yes
(27 , 37) <27-28-29-34-35-36-37> Yes
(27 , 39) <27-28-29-34-38-39> Yes
( (31,32,33),40) <31-32-33-40> Yes
Check for Commission variable DEF(comm,
9 31,32,33) , DEF(comm,34,35) and ((34 , 35) , 40) <34-35-40> Yes
DEF(comm,39) and USE(comm,40) ((39 , 40 ) <39 - 40> Yes

Software testing laboratory


Department of ISE
Program 2,5 and8 (Boundary, Equivalence and Decision Test Case for
Commission Problem)
/* Design, develop, code and run the program in any suitable language to solve the
commission problem. Analyze it from the perspective of boundary value, derive test cases,
execute these test cases and discuss the test results */

/* Assumption price for lock=45.0, stock=30.0 and barrels=25.0 production limit could sell
in a month 70 locks,80 stocks and 90 barrels commission on sales = 10 % <= 1000 and 15 %
on 1000 to 1800 and 20 % on above 1800*/

#include<stdio.h>
int main()
{
int locks, stocks, barrels, tlocks, tstocks, tbarrels;
float lprice, sprice, bprice, sales, comm;
int c1,c2,c3,temp;
lprice=45.0;
sprice=30.0;
bprice=25.0;
tlocks=0;
tstocks=0;
tbarrels=0;
printf("\nenter the number of locks and to exit the loop enter -1 for locks\n");
scanf("%d",&locks);
while(locks!=-1)
{
c1=(locks<=0||locks>70);
printf("enter the number of stocks and barrels\n");
scanf("%d%d",&stocks,&barrels);
c2=(stocks<=0||stocks>80);
c3=(barrels<=0||barrels>90);
if(c1)
printf("value of locks not in the range 1..70 ");
else
{
temp=tlocks+locks;
if(temp>70)
printf("new total locks =%d not in the range 1..70 so old ",temp);
else
tlocks=temp;
}
printf("total locks = %d\n",tlocks);

if(c2)
printf("value of stocks not in the range 1..80 ");
else
{

temp=tstocks+stocks;
if(temp>80)
printf("new total stocks =%d not in the range 1..80 so old ",temp);
else

Software testing laboratory


Department of ISE
tstocks=temp;
}
printf("total stocks=%d\n",tstocks);

if(c3)
printf("value of barrels not in the range 1..90 ");
else
{
temp=tbarrels+barrels;
if(temp>90)
printf("new total barrels =%d not in the range 1..90 so old ",temp);
else
tbarrels=temp;
}
printf("total barrel=%d",tbarrels);
printf("\nenter the number of locks and to exit the loop enter -1 for locks\n");
scanf("%d",&locks);
}
printf("\ntotal locks = %d\ntotal stocks =%d\ntotal barrels =%d\n",tlocks,tstocks,tbarrels);
sales = lprice*tlocks+sprice*tstocks+bprice*tbarrels;
printf("\nthe total sales=%f\n",sales);

if(tlocks>0&&tstocks>0&&tbarrels>0)
{
if(sales > 1800.0)
{
comm=0.10*1000.0;
comm=comm+0.15*800;
comm=comm+0.20*(sales-1800.0);
}
else if(sales > 1000)
{
comm =0.10*1000;
comm=comm+0.15*(sales-1000);
}
else
comm=0.10*sales;

printf("the commission is=%f\n",comm);


}
else
printf(" Commission cannot be calculated \n");
return 0;
}

Software testing laboratory


Department of ISE

Test Case Name : Boundary Value for Commission Problem


Experiment Number : 2
Test data : price Rs for lock - 45.0 , stock - 30.0 and barrel - 25.0
sales = total lock * lock price + total stock * stock price + total barrel * barrel price
commission : 10% up to sales Rs 1000 , 15 % of the next Rs 800 and 20 % on any sales in excess of 1800
Pre-condition : lock = -1 to exit and 1< =lock < = 70 , 1<=stock <=80 and 1<=barrel<=90
Brief Description : The salesperson had to sell at least one complete rifle per month.

CHECKING BOUNDARY VALUE FOR LOCKS, STOCKS AND BARRELS AND COMMISSION
Commission Problem Output Boundary Value Analysis Cases
Input Data Expected Output Actual output
Case Status
Description Total Total Total Comm- Comm
Id Sales Sales Comment
Locks Stocks Barrels ission -ission
1 Enter the min value for locks, stocks and barrels 1 1 1 100 10 output minimum
2 1 1 2 125 12.5 output minimum +
Enter the min value for 2 items and min +1 for
3 1 2 1 130 13 output minimum +
any one item
4 2 1 1 145 14.5 output minimum +
Enter the value sales approximately mid value
5 between 100 to 1000 5 5 5 500 50 Midpoint
6 10 10 9 975 97.5 Border point -
Enter the values to calculate the commission for
7 10 9 10 970 97 Border point -
sales nearly less than 1000
8 9 10 10 955 95.5 Border point -
9 Enter the values sales exactly equal to 1000 10 10 10 1000 100 Border point
10 10 10 11 1025 103.75 Border point +
Enter the values to calculate the commission for
11 10 11 10 1030 104.5 Border point +
sales nearly greater than 1000
12 11 10 10 1045 106.75 Border point +
Enter the value sales approximately mid value
13 between 1000 to 1800 14 14 14 1400 160 Midpoint

Software testing laboratory


Department of ISE

14 Enter the values to calculate the commission for 18 18 17 1775 216.25 Border point -
15 sales nearly less than 1800 18 17 18 1770 215.5 Border point -
16 17 18 18 1755 213.25 Border point -
17 Enter the values sales exactly equal to 1800 18 18 18 1800 220 Border point
18 18 18 19 1825 225 Border point +
Enter the values to calculate the commission for
19 18 19 18 1830 226 Border point +
sales nearly greater than 1800
20 19 18 18 1845 229 Border point +
Enter the values normal value for lock, stock and
21 barrel 48 48 48 4800 820 Midpoint
22 70 80 89 7775 1415 Output maximum -
Enter the max value for 2 items and max - 1 for
23 any one item 70 79 90 7770 1414 Output maximum -
24 69 80 90 7755 1411 Output maximum -

25 Enter the max value for locks, stocks and barrels 70 80 90 7800 1420 Output maximum

Software testing laboratory


Department of ISE

Output Special Value Test Cases


Input Data Expected Output Actual output
Case
Description Total Total Total Commissi Commi
Id Sales Sales Status Comment
Locks Stocks Barrels on ssion
Enter the random values such that to calculate
1 11 10 8 995 99.5 Border point -
commission for sales nearly less than 1000
Enter the random values such that to calculate
2 10 11 9 1005 100.75 Border point +
commission for sales nearly greater than 1000
Enter the random values such that to calculate
3 18 17 19 1795 219.25 Border point -
commission for sales nearly less than 1800
Enter the random values such that to calculate
4 18 19 17 1805 221 Border point +
commission for sales nearly greater than 1800

Software testing laboratory


Department of ISE

Test Case Name :Equivalence Class for Commission Problem


Experiment Number : 5
Test data : price Rs for lock - 45.0 , stock - 30.0 and barrel - 25.0
sales = total lock * lock price + total stock * stock price + total barrel * barrel price
commission : 10% up to sales Rs 1000 , 15 % of the next Rs 800 and 20 % on any sales in excess of 1800
Pre-condition : lock = -1 to exit and 1< =lock < = 70 , 1<=stock <=80 and 1<=barrel<=90
Brief Description : The salesperson had to sell at least one complete rifle per month.
Checking boundary value for locks, stocks and barrels and commission

Valid Classes
L1 ={LOCKS :1 <=LOCKS<=70}
L2 ={Locks=-1}(occurs if locks=-1 is used to control input iteration)
L3 ={stocks : 1<=stocks<=80}
L4= {barrels :1<=barrels<=90}
Invalid Classes
L3 ={locks: locks=0 OR locks<-1}
L4 ={locks: locks> 70}
S2 ={stocks : stocks<1}
S3 ={stocks : stocks >80}
B2 ={barrels : barrels <1}
B3 =barrels : barrels >90}
Commission Problem Output Equivalence Class Testing
( Weak & Strong Normal Equivalence Class )
Input Data Expected Output Actual output
Case Stat
Description Total Total Total Commiss Comment
Id Sales Commission Sales us
Locks Stocks Barrels ion
Enter the value within the range for
1 35 40 45 3900 640
lock, stocks and barrels
Weak Robustness Equivalence Class
Case Description Input Data Expected Output Actual output Status Comment

Software testing laboratory


Department of ISE
Id Locks Stocks Barrels
Terminates the input loop and proceed
WR1 Enter the value locks = -1 -1 40 45 to calculate sales and commission ( if
Sales > 0)
Enter the value less than -1 or equal to
WR2 0 40 45 Value of Locks not in the range 1..70
zero for locks and other valid inputs
Enter the value greater than 70 for
WR3 71 40 45 Value of Locks not in the range 1..70
locks and other valid inputs

WR4 Enter the value less than or equal than 35 0 45 Value of stocks not in the range 1..80
0 for stocks and other valid inputs
Enter the value greater than 80 for
WR5 35 81 45 Value of stocks not in the range 1..80
stocks and other valid inputs
Enter the value less than or equal 0 for
WR6 35 40 0 Value of Barrels not in the range 1..90
barrels and other valid inputs
Enter the value greater than 90 for
WR7 35 40 91 Value of Barrels not in the range 1..90
barrels and other valid inputs

Strong Robustness Equivalence Class


Case Input Data
Description Expected Output Actual output Status Comment
Id Locks Stocks Barrels
Enter the value less than -1 for locks
SR1 -2 40 45 Value of Locks not in the range 1..70
and other valid inputs
Enter the value less than or equal than
SR2 35 -1 45 Value of stocks not in the range 1..80
0 for stocks and other valid inputs
Enter the value less than or equal 0 for
SR3 35 40 -2 Value of Barrels not in the range 1..90
barrels and other valid inputs
Enter the locks and stocks less than or Value of Locks not in the range 1..70
SR4 -2 -1 45
equal to 0 and other valid inputs Value of stocks not in the range 1..80
Enter the locks and barrel less than or Value of Locks not in the range 1..70
SR5 -2 40 -1
equal to 0 and other valid inputs Value of Barrels not in the range 1..90
Enter the stocks and barrel less than or Value of stocks not in the range 1..80
SR6 35 -1 -1
equal to 0 and other valid inputs Value of Barrels not in the range 1..90

Software testing laboratory


Department of ISE
Value of Locks not in the range 1..70
SR7
Enter the stocks and barrel less than or
-2 -2 -2 Value of stocks not in the range 1..80
equal to 0 and other valid inputs
Value of Barrels not in the range 1..90

Some addition equivalence Boundary checking


Input Data Expected Output Actual output
Case
Description Total Total Total Commiss
Id Sales Commission Sales Status Comment
Locks Stocks Barrels ion
Enter the value for lock, stocks and
OR1 barrels where 0 < Sales < 1000
5 5 5 500 50

Enter the value for lock, stocks and


OR2 15 15 15 1500 175
barrels where 1000 < Sales < 1800

Enter the value for lock, stocks and


OR3 25 25 25 2500 360
barrels where Sales < 1800

Software testing laboratory


Department of ISE

Test Case Name :Decision Table for Commission Problem


Experiment Number : 8
Test data : price Rs for lock - 45.0 , stock - 30.0 and barrel - 25.0
sales = total lock * lock price + total stock * stock price + total barrel * barrel price
commission : 10% up to sales Rs 1000 , 15 % of the next Rs 800 and 20 % on any sales in excess of 1800
Pre-condition : lock = -1 to exit and 1< =lock < = 70 , 1<=stock <=80 and 1<=barrel<=90
Brief Description : The salesperson had to sell at least one complete rifle per month.
Input data decision Table
RULES R1 R2 R R4 R5 R R7 R8 R10
3 6
Conditions C1: Locks = -1 T F F F F F F F F
C2 : 1 ≤ Locks ≤ 70 - T T F T F F F T
C3 : 1 ≤ Stocks ≤ 80 - T F T F T F F T
C4 : 1 ≤ Barrels ≤ 90 - F T T F F T F T
Actions a1 : Terminate the input loop X
a2 : Invalid locks input X X X X
a3 : Invalid stocks input X X X X
a4 : Invalid barrels input X X X X
a5 : Calculate total locks, stocks and barrels X X X X X X X
a5 : Calculate Sales X
a6: proceed to commission decision table X

Commission calculation Decision Table (Precondition : lock = -1)


RULES R1 R2 R3 R4
C1 : tlocks>0 && tstocks>0 && tbarrels>0 T T T F
C1 : Sales > 0 AND Sales ≤ 1000 T F F
Condition
C2 : Sales > 1001 AND sales ≤ 1800 T F
C3 : sales ≥1801 T
A1 : Cannot calculate the commission X
A2 : comm= 10%*sales X
Actions
A3 : comm = 10%*1000 + (sales-1000)*15% X
A4 : comm = 10%*1000 + 15% * 800 + (sales-1800)*20% X

Precondition : Initial Value Total Locks= 0 , Total Stocks=0 and Total Barrels=0
Precondition Limit :Total locks, stocks and barrels should not exceed the limit 70,80 and 90 respectively

Software testing laboratory


Department of ISE
NIR-Not in Range
SAEO-Same as Expected Output
Commission Problem -Decision Table Test cases for input data
Input Data Output
Cas Actual
Description Status Comments
e Id Terminate Calculate Total Total Total Output
Locks Stocks Barrels
i/p loop commission locks stocks Barrels

1 Enter the value of Locks= -1 -1 yes 0 SAEO PASS

Enter the valid input for lock


2 and stack and invalid for 20 30 -5 No 20 30 NIR SAEO PASS
barrels
Enter the valid input for lock
3 and barrels and invalid for 15 -2 45
stocks
Enter the valid input for lock
4 and barrels and invalid for -4 15 16
stocks
Enter the valid input for lock
5 and invalid value for stocks 15 80 100
and barrels
Enter the valid input for
6 stocks and invalid value for 88 20 99
locks and barrels
Enter the valid input for
7 barrels and invalid value for 100 200 25
locks and stocks

Software testing laboratory


Department of ISE

Commission Problem -Decision Table Test cases for commission calculation


L-locks
S-Stocks
B-Barrels
Precondition : Locks = -1
Input Data Expected Output
Case Expected Actual
Description Expected Actual Status Comments
Id L S B Commission Actual Output
Sales Sales Commission
Check the value of
1 0 0 0 0 0 0 SAEO PASS
sales=0 0
if sales value with in
2 these range( Sales > 0 10 9 10
AND Sales ≤ 1000 )
if sales value with in
3 these range( Sales > 1000 15 15 15
AND Sales ≤ 1800 )
if sales value with in
4 20 30 40
these range( Sales > 1800

Software testing laboratory


Department of ISE
Program 10 (Binary Search - Path Testing)
/* Design, develop a code and run the program in any suitable language to implement
the binary search algorithm. Determine the basis paths and using them derive different
test cases execute these test cases and discuss the test results */

#include<stdio.h>
int binsrc(int x[],int low,int high,int key)
{
int mid;
while(low<=high)
{
mid=(low+high)/2;
if(key==x[mid])
return mid;
if(key<x[mid])
high=mid-1;
else
low=mid+1;
}
return -1;
}

int main()
{
int x[20],key,i,n,succ;
printf("Enter the n value");
scanf("%d",&n);
if(n>0)
{
printf("enter the elements in ascending order\n");
for(i=0;i<n;i++)
scanf("%d",&x[i]);

printf("enter the key element to be searched\n");


scanf("%d",&key);
succ=binsrc(x,0,n-1,key);
if(succ>=0)
printf("Element found in position = %d\n",succ+1);
else
printf("Element not found \n");
}
else
printf("Number of element should be greater than zero\n");
return 0;
}

Software testing laboratory


Department of ISE

Binary Search function with line number


int binsrc(int x[],int low,int high,int key)
{
int mid; 1
while(low<=high) 2
{
mid=(low+high)/2;
if(key==x[mid]) 3
return mid; 8
if(key<x[mid]) 4
high=mid-1; 5
Else
low=mid+1; 6
} 7
return -1; 8
} 9

Program Graph – for Binary Search

Software testing laboratory


Department of ISE

Test Cases – Binary Search

Software testing laboratory


Department of ISE

Program 11(Quick Sort-Path Testing)

/*Design, develop, code and run the program in any suitable language to implement the
Quick-Sort Algorithm. Determine the basis paths and using them derive different test
cases, execute these test cases and discuss the test results.*/

#include<stdio.h>
void quick_sort(int a[100],int low,int high)
{
int i,j,temp,key;
if(low<high)
{
key=a[low];
i=low;
j=high;

//Partition the array into two parts


while(i<=j)
{
while(key>=a[i])
i++;
while(key<a[j])
j--;
if(i<j)
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
//partition completed

temp=a[low];
a[low]=a[j];
a[j]=temp;

//Consider j as mid and cal recursive function.

quick_sort(a,low,j-1);
quick_sort(a,j+1,high);

}
}
//Main Function
void main()
{
int i,n,a[100];
printf("Enter the value for n\n");
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
Software testing laboratory
Department of ISE

quick_sort(a,0,n-1);
printf("The sorted array is\n");
for(i=0;i<n;i++)
printf("%d\n",a[i]);
}

Quick sort function with line number


void quick_sort(int a[100],int low,int high)
{
int i,j,temp,key; 1 A
if(low<high) 2B
{
key=a[low]; 3C
i=low; 4C
j=high; 5C

//Partition the array into two parts


while(i<=j) 6D
{
while(key>=a[i]) 7E
i++; 8F
while(key<a[j]) 9G
j--; 10 H
if(i<j) 11 I
{
temp=a[i]; 12 J
a[i]=a[j]; 13 J
a[j]=temp; 14 J
}
}
//partition completed

temp=a[low]; 15 K
a[low]=a[j]; 16 K
a[j]=temp; 17 K

//Consider j as mid and cal recursive function.

quick_sort(a,low,j-1); 18 L
quick_sort(a,j+1,high); 19 M

} 20
}

Software testing laboratory


Department of ISE

Program Graph – Quick Sort

A Initialization

Low<high
B

F T
i < =j
C
T
F
N D Right Scan
J F
T
E F Left Scan
K T F
F
i<j
G H I
M T
Recursive Calls
Independent Paths– Quick Sort
P1: A-B-N
P2: A-B-C-J-K-B
P3: A-B-C-J-K-M-B
P4: A-B-C-D-F-H-C
Independent Paths:
P5: A-B-C-D-F-H-I-C
P6: A-B-C-D-E-D-F-H
#Edges=18, #Nodes=13, #P=1
P7: A-B-C-D-F-G-F-H V(G)= E-N+2P = 18-13+2 = 7

Software testing laboratory


Department of ISE

Pre-Conditions/Issues:
Array has only one Element, Two Elements, Three Elements (6 Possibilities)
Array has Elements in ASC/DSC/Arbitrary( Any of the Permutations)
EX: 3 elements: 123, 132, 213, 231, 312, 321, 222,111,333

Test Cases – Quick Sort

Software testing laboratory


Department of ISE

Program 12 (Absolute Letter Grading Path Testing)

/* Design, develop, code and run the program in any suitable language to implement an
absolute letter grading procedure, making suitable assumptions. Determine the basis
paths and using them derive different test cases, execute these test cases and discuss the
test results */

#include<stdio.h>
int main()
{
float per;
char grade;
scanf("%f",&per);
if(per>=90)
grade= 'A';
else if(per>=80 && per<90)
grade ='B';
else if(per>=70 && per<80)
grade ='C';
else if(per>=60 && per<70)
grade='D';
else grade='E';
switch(grade)
{
case 'A': printf("\nEXCELLENT"); break;
case 'B':printf("\nVery Good"); break;
case 'C' : printf("\nGood"); break;
case 'D': printf("\nAbove Average"); break;
case 'E': printf("\n Satisfactory"); break;
}
printf("\t The percentage = %f and grade is %c ",per,grade);
return 0;
}

Software testing laboratory


Department of ISE
Absolute Grading Program with Line Numbers and Program Graph
int main() 1 Start
{
float per;
char grade; 2
1. scanf("%f",&per);
2. if(per>=90) 3
3. grade= 'A'; 4
4. else if(per>=80 && per<90)
5. grade ='B'; 5
6. else if(per>=70 && per<80)
6
7. grade ='C';
8. else if(per>=60 && per<70) 7
8
9. grade='D';
10. else grade='E'; 9
11. switch(grade) 10
12. {
13. case 'A': printf("\nEXCELLENT"); break;
14. case 'B':printf("\nVery Good"); break; 11
15. case 'C' : printf("\nGood"); break;
16. case 'D': printf("\nAbove Average"); break;
17. case 'E': printf("\n Satisfactory"); break; 13 14 15 16 17
18. }
19. printf("\t The percentage = %f and grade is %c ",per,grade);
20. return 0;
19
}
20 End
Independent Paths:
#Edges=25, #Nodes=18, #P=1
V(G)= E-N+2P = 25-18+2 = 09

P1: 1-2-4-6-8-10-11-17-19-20 E Grade


P2: 1-2-4-6-8-9-11-16-19-20 D Grade
P3: 1-2-4-6-7-11-15-19-20 C Grade
P4: 1-2-4-5-11-14-19-20 B Grade
P5: 1-2-3-11-13-19-20 A Grade
P6: 1-2-4-6-8-10-11-13-19-20
P7: 1-2-4-6-8-10-11-14-19-20
P8: 1-2-4-6-8-10-11-15-19-20
P9: 1-2-4-6-8-10-11-16-19-20

Software testing laboratory


Department of ISE

Pre-Conditions/Issues:
Percentage Per is a positive Float Number

Test Cases – Absolute Grading

Software testing laboratory


Department of ISE
Program 3 and 5 ( Next date program)

/* Design, develop, code and run the program in any suitable language to implement
the NextDate function. Analyze it from the perspective of boundary value testing and
equivalence class analysis. Derive different test cases, execute these test cases and
discuss the test results. */

#include<stdio.h>
int check(int day,int month)
{
if((month==4||month==6||month==9 ||month==11) && day==31)
return 1;
else
return 0;
}
int isleap(int year)
{
if((year%4==0 && year%100!=0) || year%400==0)
return 1;
else
return 0;

}
int main()
{
int day,month,year,tomm_day,tomm_month,tomm_year;
char flag;
do
{
flag='y';
printf("\nenter the today's date in the form of dd mm yyyy\n");
scanf("%d%d%d",&day,&month,&year);
tomm_month=month;
tomm_year= year;
if(day<1 || day>31)
{
printf("value of day, not in the range 1...31\n");
flag='n';
}
if(month<1 || month>12)
{
printf("value of month, not in the range 1. ... 12\n");
flag='n';
}
else if(check(day,month))
{
printf("value of day, not in the range day<=30");
flag='n';
}

if(year<=1812 || year>2013)
{

Software testing laboratory


Department of ISE
printf("value of year, not in the range 1812. ..... 2013\n");
flag='n';
}
if(month==2)
{
if(isleap(year) && day>29)
{
printf("invalid date input for leap year");
flag='n';
}
else if(!(isleap(year))&& day>28)
{
printf("invalid date input for not a leap year");
flag='n';
}
}
}while(flag=='n');

switch (month)
{
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:if(day<31)
tomm_day=day+1;
else
{
tomm_day=1;
tomm_month=month+1;
}
break;
case 4:
case 6:
case 9:
case 11: if(day<30)
tomm_day=day+1;
else
{
tomm_day=1;
tomm_month=month+1;
}
break;

case 12: if(day<31)


tomm_day=day+1;
else
{
tomm_day=1;
tomm_month=1;

Software testing laboratory


Department of ISE
if(year==2013)
{
printf("the next day is out of boundary value of year\n");
tomm_year=year+1;
}
else
tomm_year=year+1;
}
break;
case 2:
if(day<28)
tomm_day=day+1;
else if(isleap(year)&& day==28)
tomm_day=day+1;
else if(day==28 || day==29)
{
tomm_day=1;
tomm_month=3;
}
break;
}
printf("next day is : %d %d %d",tomm_day,tomm_month,tomm_year);
return 0;}

Software testing laboratory


Department of ISE
Test Case Name : Boundary Value Analysis test cases for Next date program
Experiment Number : 3
Test data : Enter the three integer value
Pre-condition : Month 1 to 12 , DAY 1 TO 31 AND YEAR 1812 TO 2013 / we consider one corner for the input space
Brief Description : Min Min +1 Normal Max -1 Max
Month 1 2 6 11 12
Day 1 2 15 30 31
Year 1812 1813 1912 2012 2013

Next date Output Boundary Value Analysis Cases


Input Data Expected Output Actual output
Case Id Description Status Comment
Month day Year Month Day year Month day year

1 Enter the min value month, day and year 1 1 1812 1 2 1812
Enter the min+1 value for year and min
2 for month and day 1 1 1813 1 2 1813
Enter the normal value for year and min
3 for month and day 1 1 1912 1 2 1912
Enter the max -1 value for year and min
4 for month and day 1 1 2012 1 2 2012
Enter the max value for year and min for
5 month and day 1 1 2013 1 2 2013
Enter the min+1 value of day and min for
6 month and year 1 2 1812 1 3 1812

Software testing laboratory


Department of ISE
Enter the min+1 value for day and year
7 and min for month 1 2 1813 1 3 1813
Enter the min+1 value for day , normal
8 value for year and min value for month 1 2 1912 1 3 1912
Enter the min+1 value for day , max -1
9 value for year and min value for month 1 2 2012 1 3 2012
Enter the min+1 value for day , max
10 value for year and min value for month 1 2 2013 1 3 2013
Enter the normal value of day and min
11 for year and month 1 15 1812 1 16 1812
Enter the normal value for day and
12 min+1 for year and min for month 1 15 1813 1 16 1813
Enter the normal value for day normal
13 value for year and min value for month 1 15 1912 1 16 1912
Enter the normal value for day , max -1
14 value for year and min value for month 1 15 2012 1 16 2012
Enter the normal value for day , max
15 value for year and min value for month 1 15 2013 1 16 2013
Enter the max - 1 value of day and min
16 for day and year 1 30 1812 1 31 1812
Enter the max -1 value for day and min
17 for month and min+1 for year 1 30 1813 1 31 1813
Enter the max - 1 value for day , normal
18 value for year and min value for month 1 30 1912 1 31 1912

Software testing laboratory


Department of ISE
Enter the max - 1 value for day , max -1
19 value for year and min value for month 1 30 2012 1 31 2012
Enter the max -1 value for day , max
20 value for year and min value for month 1 30 2013 1 31 2013
Enter the max value of day and min for
21 year and month 1 31 1812 2 1 1812
Enter the max value for day and min for
22 month and min + 1 for year 1 31 1813 2 1 1813
Enter the max value for day , normal
value for year and min value for month 1 31 1912 2 1 1912
Enter the max value for day , max -1
24 value for year and min value for month 1 31 2012 2 1 2012
Enter the max value for day , max
25 value for year and min value for month 1 31 2013 2 1 2013

Software testing laboratory


Department of ISE

Input Data Expected Output Actual output Status


Case Id Description Comm
month day Year month Day year month day year
ent
Should display the
message value of the
1 Enter the D1, M1 and Y1 valid cases 12 31 1811
year in range
1812..2013

2 Enter the D1, M1 and Y2 valid cases 12 31 2012 1 1 2013


Should display the
3 Enter the D1, M1 and Y3 valid cases 12 31 2013 message Next is out of
boundary 2013

Software testing laboratory


Department of ISE
Test Case Name : Equivalence class test cases for Next date
Experiment Number : 5
Test data : Enter the three integer value
Pre-condition : Month 1 to 12 , DAY 1 TO 31 AND YEAR 1812 TO 2013
Valid Cases
M1 = { month ; 1 ≤ month ≤ 12 }
D1 = { day : 1 ≤ day ≤ 31 }
Y1 = { year : 1812 ≤ year ≤ 2013 }

Invalid cases
M2 = {month : month < 1}
M3 = {month : month > 12}
D2 = {day : day < 1}
D3 = {day : day > 31}
Y2 = {year : year < 1812}
Y3 = {year : year > 2013}

Next date Output Equivalence Class Testing


( Weak and Strong Normal Equivalence Class )
Input Data Expected Output Actual output
Case Id Description Status Comment
month day year month day year month day year

Enter the M1, D1 and Y1 valid


6 15 1912 6 16 1912
WN1,SN1 cases

Software testing laboratory


Department of ISE

( Weak Robustness Equivalence Class )


Comme
Input Data Expected Output Actual output Status
nt
Case Id Description
mon
month day year month Day year day year
th
WR1 6 15 1912 6 16 1912
Enter the M1, D1 and Y1 cases
Should display the message value
of the month not in the range
WR2 Enter the M2 , D1 and Y1 cases -1 15 1912 1..12
Should display the message value
of the month not in the range
WR3 Enter the M3 ,D1 and Y1 cases 13 15 1912 1..12
Should display the message value
WR4 Enter the M1, D2 and Y1 cases 6 -1 1912 of the day not in the range 1..31
Should display the message value
WR5 Enter the M1, D3 and Y1 cases 6 32 1912 of the day not in the range 1..31
Should display the message value
of the year not in the range
WR6 Enter the M1, D1 and Y2 cases 6 15 1811 1812..2013
Should display the message value
of the year not in the range
WR7 Enter the M1, D1 and Y3 cases 6 15 2014 1812..2013

Software testing laboratory


Department of ISE
(Strong Robustness Equivalence Class )

Case Input Data


Description Expected Output Actual Output Status Comment
Id month day year
Should display the message value of the
SR1 Enter the M2 , D1 and Y1 cases -1 15 1912
month not in the range 1..12
Should display the message value of the
SR2 Enter the M1, D2 and Y1 cases 6 -1 1912
day not in the range 1..31
Should display the message value of the
SR3 Enter the M1, D1 and Y2 cases 6 15 1811
year not in the range 1812..2013
(i)Should display the message value of the
month in range 1..12
SR4 Enter the M2 , D2 and Y1 cases -1 -1 1912
(ii) Should display the message value of
the day in range 1..31
(i) Should display the message value of
the day in range 1..31
SR5 Enter the M1, D2 and Y2 cases 6 -1 1811
(ii) Should display the message value of
the year in range 1812..2013
(i) Should display the message value of
the month in range 1..12
SR6 Enter the M2, D1 and Y2 cases -1 15 1811
(ii) Should display the message value of
the year in range 1812..2013
(i)Should display the message value of the
month in range 1..12
(ii) Should display the message value of
SR7 Enter the M2, D2 and Y2 cases -1 -1 1811 the day in range 1..31
Software testing laboratory
Department of ISE
(iii) Should display the message value of
the year in range 1812..2013

Software testing laboratory


Department of ISE

Case Id Description Input Data Expected Output Actual Output Status Comment
day month year day Month year day month year
1 Enter the D1, M1 and Y1 valid 31 12 1811 Should display the
cases message value of the
year in range
1812..2013
2 Enter the D1, M1 and Y2 valid 31 12 2012 1 1 2013
cases
3 Enter the D1, M1 and Y3 valid 31 12 2013 Should display the
cases message Next is out of
boundary 2013

Software testing laboratory


Department of ISE

LIST OF Viva Questions

1. What are the importance of Software Testing?


2. What are the main tools you are used for Software Testing?
3. What are the different types of Software Testing?
4. What are the difference between Black Box and White Box testing?
5. What are the difference between Manual Testing and Automated Testing ?
6. What is Unit Testing ?
7. What is Integration Testing ?
8. What is acceptance testing ?
9. What is Static testing?
10. What is System testing?
11. What is Load Testing?
12. What is Smoke Testing?
13. What is Soak Testing?
14. What is Scalability Testing?
15. What is Sanity Testing?
16. What is Ramp Testing?
17. What is Monkey Testing?
18. What is Gray Box Testing?
19. What is Functional Testing?
20. What is Glass Box Testing?
21. What is Dynamic Testing?
22. What is Compatibility Testing?
23. What is Concurrency Testing?
24. What is Component Testing?
25. What is Ad Hoc Testing?
26. What is Agile Testing?
27. What are the different phases in Software Testing?
28. How you define defects and Bugs?
29. What are the roles of a QA specialist?
30. What is Test Case and Test Plan ?
31. Tell me about Top Down and Bottom Up approaches in testing?
32. Tell me about Software Testing Life cycle

What is ‘software Testing’?


Software testing is the act of operating a system or application under control and then
assessing their results. It is intentionally simulating a problem situation in order to work out a
possible remedy in case a situation like that actually happens.

What kind of testing should we consider?


The basic testing to consider include Blackbox testing, Integration testing, Whitebox testing,
User acceptance testing, Load testing, Acceptance testing, Performance testing, and Smoke
testing.

What is Software ‘quality’?


Quality software is software that is reasonably free from bug, is up to the requirements and/or
expectations, delivered on time and according to the budget, and is easy to maintain.

Software testing laboratory


Department of ISE
What is ‘Software Quality Assurance’?
Software Quality Assurance also known as Software QA, encompasses the entire process of
developing software: observing and improving the process, seeing that the standards and
procedures agreed upon are followed, and making sure that problems are discovered and also
fixed.

Does every software project need testers?


This solely depends on the context or size of the project, the methodology of development,
risks involved, and the experience and skills of the developers.

What is verification? And what is validation?


Verifications are reviews and meetings which are intended to help evaluate documents, code,
specifications, and requirements. It is usually done with checklists, walkthroughs, issues lists,
and inspection meetings.

Validation, on the other hand, entails the real testing and it is done after completing the
verification.

What is a ‘test plan’? What is a ‘test case’?


A software project test plan is a document that explains the objective, approach, focus, and
scope of a software testing. A test case, on the other hand, is a document that explains an
action, input, or event, and a response that is expected, to help decide if an application’s
feature is functioning properly.

Why does software have bugs?


Software has bugs for the following reasons

Errors in programming
Lack of communication or no communications at all
Requirements changes
Time pressures

What should you do after finding a bug?


You need to report the bug and then assign it to developers that can take care of it. When you
have fixed the problem, retest the fixes, decide the requirements for regression testing in order
to be sure that no more problems are eventually caused by the fixes.

How can you introduce new Software QA processes to an existing Organization?


This is usually determined by the organization’s size as well as the risks involved. If it is a
small project or group, it may be better to use a more ad-hoc process, depending on the
customer and project type. It can also be done via incremental self-managed team approaches.

What steps are needed in developing and running software test?

Software testing laboratory


Department of ISE
Get the requirements, functional design, and plan for the internal design, and other
documents that are relevant.
Get budget and the schedule conditions
Decide project framework
Recognize risks
Decide testing approaches, process, test setting, test data
Carry out test
Carry out reviews and evaluations
Sustain and keep documents up to date

What is Boundary value testing?

Test boundary conditions on, below and above the edges of input and output equivalence
classes. For instance, let say a bank application where you can withdraw maximum Rs.20,000
and a minimum of Rs.100, so in boundary value testing we test only the exact boundaries,
rather than hitting in the middle. That means we test above the maximum limit and below the
minimum limit.

What is failure?

Failure is a departure from specified behavior.

What is V-Model?

A software development model that illustrates how testing activities integrate with software
development phases

What is test coverage?

Test coverage measures in some specific way the amount of testing performed by a set of
tests (derived in some other way, e.g., using specification-based techniques).

What is component testing?

Component testing, also known as unit, module, and program testing, searches for defects in
and verifies the functioning of software (e.g., modules, programs, objects, classes, etc.) that
are separately testable.

What is Alpha testing?

Pre-release testing by end user representatives at the developer's site.

What is beta testing?

Testing performed by potential customers at their own locations.

What is White Box Testing?

Software testing laboratory


Department of ISE
White Box Testing is also called as Glass Box, Clear Box, and Structural Testing. It is based
on applications internal code structure. In white-box testing, an internal perspective of the
system, as well as programming skills, are used to design test cases.

What is Black Box Testing?


Black Box Testing is a software testing method in which testers evaluate the functionality of
the software under test without looking at the internal code structure.

What is Test Suite?


Test Suite is a collection of test cases. The test cases which are intended to test an application.

What is Test Scenario?


Test Scenario gives the idea of what we have to test. Test Scenario is like a high-level test
case.

What is Test Case?


Test cases are the set of positive and negative executable steps of a test scenario which has a
set of pre-conditions, test data, expected result, post-conditions and actual results

What is Unit Testing?


Unit Testing is also called as Module Testing or Component Testing. It is done to check
whether the individual unit or module of the source code is working properly. It is done by
the developers in the developer’s environment.

What is Integration Testing?


Integration Testing is the process of testing the interface between the two software
units. Integration testing is done by three ways. Big Bang Approach, Top-Down Approach,
Bottom-Up Approach

What is System Testing?


Testing the fully integrated application to evaluate the system’s compliance with its specified
requirements is called System Testing AKA End to End testing. Verifying the completed
system to ensure that the application works as intended or not.

What is Functional Testing?


In simple words, what the system actually does is functional testing. To verify that each
function of the software application behaves as specified in the requirement document.

What is Non-Functional Testing?


In simple words, how well the system performs is non-functionality testing. Non-functional
testing refers to various aspects of the software such as performance, load, stress, scalability,
security, compatibility etc., Main focus is to improve the user experience on how fast the
system responds to a request.

What is Acceptance Testing?

Software testing laboratory


Department of ISE
It is also known as pre-production testing. This is done by the end users along with the testers
to validate the functionality of the application. After successful acceptance testing.

What is Gamma Testing?


Gamma testing is done when the software is ready for release with specified requirements. It
is done at the client place. It is done directly by skipping all the in-house testing activities.

What is Smoke Testing?


Smoke Testing is done to make sure if the build we received from the development team is
testable or not. It is also called as “Day 0” check. It is done at the “build level”.

What is Sanity Testing?


Sanity Testing is done during the release phase to check for the main functionalities of the
application without going deeper. It is also called as a subset of Regression testing.

What is Regression Testing?


Repeated testing of an already tested program, after modification, to discover any defects
introduced or uncovered as a result of the changes in the software being tested or in another
related or unrelated software components.

What is Load Testing?


It is to verify that the system/application can handle the expected number of transactions and
to verify the system/application behavior under both normal and peak load conditions.

What is Stress Testing?


It is to verify the behavior of the system once the load increases more than its design
expectations.

What is Walk Through?


A walkthrough is an informal meeting conducts to learn, gain understanding, and find defects.

What is a Defect?
The variation between the actual results and expected results is known as a defect. If a
developer finds an issue and corrects it by himself in the development phase then it’s called a
defect.

What is a Bug?
If testers find any mismatch in the application/system in testing phase then they call it as Bug

What is an Error?
We can’t compile or run a program due to a coding mistake in a program. If a developer
unable to successfully compile or run a program then they call it as an error.

What is a Failure?

Software testing laboratory


Department of ISE
Once the product is deployed and customers find any issues then they call the product as a
failure product. After release, if an end user finds an issue then that particular issue is called
as a failure.

Software testing laboratory

You might also like