bva – Programmerbay https://programmerbay.com A Tech Bay for Tech Savvy Fri, 20 Sep 2019 06:45:41 +0000 en-US hourly 1 https://wordpress.org/?v=6.5.5 https://programmerbay.com/wp-content/uploads/2019/09/cropped-without-transparent-32x32.jpg bva – Programmerbay https://programmerbay.com 32 32 Design the test cases and test the program of Previous Date problem by using Boundary Value Analysis https://programmerbay.com/design-the-test-cases-and-test-the-program-of-previous-date-problem-by-using-boundary-value-analysis/ https://programmerbay.com/design-the-test-cases-and-test-the-program-of-previous-date-problem-by-using-boundary-value-analysis/#respond Fri, 20 Sep 2019 06:22:04 +0000 https://programmerbay.com/?p=5253 In this, we will test our program to check whether it can give the previous date as an output or not. We are supposing interval [2000,2050]  for year, [1,31] days for date, [1,12] for month. If we observe closely, we require to figure out whether the year input is a leap year or not between the selected year interval.

We will be applying Boundary Value Analysis to generate test cases.  The expected output can be  [Invalid date, previous Date].

Program:

#include<conio.h>
#include<stdio.h>
void main()
{
	int month,date,year, valid=-1,leap_year=-1;
	printf("please enter a date = ");
	scanf("%d",&date);
		printf("please enter a month = ");
	scanf("%d",&month);
		printf("please enter a year = ");
	scanf("%d",&year);
	if((date>0 && date<=31)&&(month>=1 && month<=12)&&(year>=2000 && year<=2050))
	{
	// finding given input is a leap year or not
	if((year%4)==0)
	{
		leap_year=1;
    if((year%100)==0)
    {
	if((year%400)==0)
	{
		leap_year=1;	
	}
	else
	{
	leap_year=-1;	
	}
}
}
if(month==2 && leap_year==1 && date >29)
valid=-1;
else if(month==2 && leap_year==-1 && date >28)
valid=-1;
else 
valid=1;
}

if((month==6 || month==4||month==9||month==11) && date>30)
valid=-1;

// validating & finding output


if(valid==1)
{
	printf("Entered date = %d-%d-%d",date,month,year);

if(date==1)
{
if(month==1)
{
date=31;
month=12;
year--;
}
else if(leap_year=1 && month==3)
{
	date=29;
	month--;
}
else if(leap_year==-1 && month==3)
{
	date=28;
	month--;
}
else if(month==2||month==4||month==6||month==8||month==9||month==11){
	date=31;
	month--;
}else{
	date=30;
	month--;
}
}
else{
	
	date--;
}
printf("\nPrevious date = %d-%d-%d \n",date,month,year);
}
else
printf("\n Not a valid date");

getch();
}

So, there will be 4N+ 1 test cases that is 4*3 +1 =13 in this case as we are using boundary value analysis.

Test IDDateMonthYearExpected OutputProgram OutputTest Outcome
116202531-5-202531-5-2025Pass
22620251-6-20151-6-2015Pass
3306202529-6-201529-6-2015Pass
43162025Invalid DateInvalid DatePass
5151202514-1-202514-1-2025Pass
6152202514-2-202514-2-2025Pass
71511202514-11-202514-11-2025Pass
81512202514-12-202514-12-2025Pass
9156200014-6-200014-6-2000Pass
10156200114-2-200114-2-2001Pass
11156204914-6-204914-6-2049Pass
12156205014-6-205014-6-2050Pass
13156202514-6-202514-6-2025Pass

Testing the program:

Invalid Date:

previous date

Previous Date:

previous date 1

]]>
https://programmerbay.com/design-the-test-cases-and-test-the-program-of-previous-date-problem-by-using-boundary-value-analysis/feed/ 0