0% found this document useful (0 votes)
122 views

program 4: (Dataflow Testing For Commission Calculation)

The document describes a program to calculate sales commission based on sales of locks, stocks and barrels. It defines variables for item prices, totals and sales. It then calculates total sales, applies commission rates based on sales thresholds, and prints the commission. The test case defines usage and definition nodes for variables and checks 9 data flow paths to validate definitions are reached from usages.

Uploaded by

amit verma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
122 views

program 4: (Dataflow Testing For Commission Calculation)

The document describes a program to calculate sales commission based on sales of locks, stocks and barrels. It defines variables for item prices, totals and sales. It then calculates total sales, applies commission rates based on sales thresholds, and prints the commission. The test case defines usage and definition nodes for variables and checks 9 data flow paths to validate definitions are reached from usages.

Uploaded by

amit verma
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

//Program 4: (Dataflow Testing for commission calculation)

#include<stdio.h>
int main()
{
int locks, stocks, barrels, tlocks, tstocks, tbarrels;
float lprice,sprice,bprice,lsales,ssales,bsales,sales,comm;
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) {
printf("enter the number of stocks and barrels\n");
scanf("%d%d",&stocks,&barrels);
tlocks=tlocks+locks;
tstocks=tstocks+stocks;
tbarrels=btarrels+barrels;
printf("\nenter the number of locks and to exit the loop enter -1 for
locks\n"); scanf("%d",&locks);
}
printf("\ntotal locks = %d\”,tlocks);
printf(“total stocks =%d\n”,tstocks);
printf(“total barrels =%d\n",tbarrels);
lsales = lprice*tlocks;
ssales=sprice*tstocks;
bsales=bprice*tbarrels;
sales=lsales+ssales+bsales;
printf("\nthe total sales=%f\n",sales);
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);
return 0;
}

Test Case Name : Data Flow Testing for Commission Program


Experiment No : 4
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
locks 13,19 14,16
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
Selected Define/Use Paths for Commission problem
Test Description Variables Path Du Paths Definitio Com
case (Beginning, End n clear? ments
id nodes)
1 Check for lock price variable (7 , 24) <7-8-9-10-11-12-13- Yes
DEF(lprice,7) and USE(lprice,24) 14-15-16-17-
18-19-20-21-22-23-
24>
2 Check for Stock price variable (8 , 25) <8-9-10-11-12-13- Yes
DEF(sprice,8) and USE(sprice,25) 14-15-16-17-18-
19-20-21-22-23-24-
25>
3 Check for barrel price variable (9 , 26) <9-10-11-12-13-14- Yes
DEF(bprice,9) and USE(bprice,26) 15-16-17-18-
19-20-21-22-23-24-
25-26>
(10 , 16) <10-11-12-13-14-15- Yes
16>
(10 , 21) <10-11-12-13-14-15- No
16-17-18-19-20-14-
Check for total locks variable 21>
DEF((tlocks,10) and DEF(tlocks,16))
(10 , 24) <10-11-12-13-14-15- No
and
16-17-18-19-
4
3 usage
20-14-21-22-23-24>
node(USE(tlocks,16),USE(tlocks,21),
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- No
21-22-23-24>
(11 , 17) <11-12-13-14-15-16- Yes
17>
(11 , 22) <11-12-13-14-15-16- No
Check for total stocks variable
17-18-19-20-21-14-
DEF((tstocks,11) and DEF(tstocks,17))
21>
and
5 (11, 25) <11-12-13-14-15-16- No
3 usage
17-18-19-20-
node(USE(tstocks,17),USE(tstocks,22),
USE(tstocks,25)) 21-14-21-23-24-25>
(17 , 17) <17-17> Yes
(17 , 22) <17-18-19-20-14-21- No
22>
(17 , 25) <17-18-19-20- No
14-21-22-23-
24-25>
(13 , 14) <13-14> Yes Begin
the
loop
6 check for locks variable ( DEF(locks,13),
DEF(locks,19) and USE(locks,14),USE(locks,16) ( 13 , 16) <13-14-15-16> Yes
(19 , 14) <19-20-14> Yes
(19 , 16) <19-20-14-15- Yes Repeat
16> the
loop
7 Check for stocks variable (DEF(stocks,15) and (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, 28), (27 , 33) <27-28-29-30- Yes
USE(Sales , 29), USE(Sales,33) , USE(Sales , 31-32-33>
8
34) , USE(Sales,37) , USE(Sales , 39) (27 , 34) <27-28-29-34> Yes
(27 , 37) <27-28-29-34- Yes
35-36-37>
(27 , 39) <27-28-29-34- Yes
38-39>
Check for Commission variable DEF(comm, ( <31-32-33-40> Yes
31,32,33) , DEF(comm,34,35) and (31,32,33),40)
9
DEF(comm,39) and USE(comm,40) ((34 , 35) , 40) <34-35-40> Yes
((39 , 40 ) <39 - 40> Yes

You might also like