TASK 2 Test Case Design Techniques
Published: 2024-03-25 10:26:10

**<u>Question : 1 -></u>**

## Test Scenario 1
==================
**Test Case 1 :** Validating without appointment data
Enter Valid data in First name field
Enter Valid data in Last name field
Enter Valid data in Email field
Enter Valid data in Phone Number field
In appointment Field Don't choose any, just leave empty and try to book

**_Expected Result_** : It should display error "All fields are required"

**Test Case 2 :** Validating without Phone number
Enter Valid data in First name field
Enter Valid data in Last name field
Enter Valid data in Email field
Leave the Phone Number field Empty/Blank
In appointment Field choose a available slot

**_Expected Result_** : It should display error "All fields are required"

**Test Case 3 :** Validating without Email data
Enter Valid data in First name field
Enter Valid data in Last name field
Leave the Email field Empty/Blank
Enter Valid data in Phone Number field
In appointment Field choose a available slot

**_Expected Result_**: It should display error "All fields are required"

**Test Case 4 :** Validating without Last name data
Enter Valid data in First name field
Leave the Last name field Empty/Blank
Enter Valid data in Email field
Enter Valid data in Phone Number field
In appointment Field choose a available slot

**_Expected Result_** : It should display error "All fields are required"

**Test Case 5** : Validating without First name data
Leave the First name field Empty/Blank
Enter Valid data in Last name field
Enter Valid data in Email field
Enter Valid data in Phone Number field
In appointment Field choose a available slot

**_Expected Result _:** It should display error "All fields are required"

With the above approach we can ensure the if any field is left blank then we should not book appointment.

--------------------------------------------------------------

## Test Scenario 2
==================
**Test Case 1 :** Validating with Invalid email (eg., Without @ symbol)
Enter Valid data in First name field
Enter Valid data in Last name field
Enter Invalid Email in email field (eg., Enter without @ symbol)
Enter Valid data in Phone Number field
In appointment Field choose a available slot

**_Expected Result _:** It should display error "Please enter a valid email"

**Test Case 2** : Validating with Invalid email (eg., Without . symbol)
Enter Valid data in First name field
Enter Valid data in Last name field
Enter Invalid Email in email field (eg., Enter without . symbol)
Enter Valid data in Phone Number field
In appointment Field choose a available slot

**_Expected Result_**: It should display error "Please enter a valid email"

**Test Case 3** : Validating with more than one @ symbol.
Enter Valid data in First name field
Enter Valid data in Last name field
Enter Invalid Email in email field (eg., Enter @ symbol twice)
Enter Valid data in Phone Number field
In appointment Field choose a available slot

**_Expected Result_** : It should display error "Please enter a valid email"

**Test Case 4 :** Validating with more than one . symbol
Enter Valid data in First name field
Enter Valid data in Last name field
Enter Invalid Email in email field (eg., Enter . symbol twice)
Enter Valid data in Phone Number field
In appointment Field choose a available slot

**_Expected Result _**: It should display error "Please enter a valid email"

**Test Case 5** : Validating with continuous special characters
Enter Valid data in First name field
Enter Valid data in Last name field
Enter Invalid Email in email field (eg., Enter @ and . symbols together like @.)
Enter Valid data in Phone Number field
In appointment Field choose a available slot

**_Expected Result_**: It should display error "Please enter a valid email"

In the above approaches we are trying to enter invalid email like without @ or . symbols.
Any email ID will contain @ and . symbols. So If the data entered in field not having these symbols means it should throw error
Also we are testing by giving each symbols twice and also together, which are also not valid email , So the page should throw error as "Please enter a valid email".

-----------------------------------------------------------------

## Test Scenario 3
===================

**Test Case 1 :** Validating with 9 digits 
Enter Valid data in First name field
Enter Valid data in Last name field
Enter Valid data in Email field
Enter Invalid Phone Number in Phone number field (eg., Enter 9 digit no)
In appointment Field choose a available slot

**_Expected Result :_** It should display error "Please enter a valid Phone Number"

**Test Case 2 :** Validating with 11 digits
Enter Valid data in First name field
Enter Valid data in Last name field
Enter Valid data in Email field
Enter Invalid Phone Number in Phone number field (eg., Enter 11 digit no)
In appointment Field choose a available slot

**_Expected Result _**: It should display error "Please enter a valid Phone Number"


**Test Case 3 :** Validating with 9 numbers and 1 alphabet
Enter Valid data in First name field
Enter Valid data in Last name field
Enter Valid data in Email field
Enter Invalid Phone Number in Phone number field (eg., Enter 9 digit no and 1 alphabet)
In appointment Field choose a available slot

**_Expected Result_** : It should display error "Please enter a valid Phone Number"

**Test Case 4**: Validating with 10 numbers and 1 alphabet
Enter Valid data in First name field
Enter Valid data in Last name field
Enter Valid data in Email field
Enter Invalid Phone Number in Phone number field (eg., Enter 10 digit no and 1 alphabet)
In appointment Field choose a available slot

**_Expected Result_** : It should display error "Please enter a valid Phone Number"

In above case we are trying to validated the phone number field with invalid data
So we are using boundary value analysis technique
In case 1 and 2 we are giving phone number with 9 and 11 digits, Any phone number will have 10 digits, so the field should not accept the data other than 10 digits.
In case 3 and 4 I am trying to give 9/10 numbers and 1 alphabet to ensure it accepts only numerical value.

----------------------------------------------------------------

## Test Scenario 4
==================

**Test Case 1 :** Trying to book a already booked slot
Enter Valid data in First name field
Enter Valid data in Last name field
Enter Valid data in Email field
Enter Valid data in Phone Number field
In appointment Field choose a slot which is already booked

**_Expected Result :_** Form should not be submitted and display error as "Please choose another date/time"

**Test Case 2 :** Trying to book a out of range slot
Enter Valid data in First name field
Enter Valid data in Last name field
Enter Valid data in Email field
Enter Valid data in Phone Number field
In appointment Field choose a slot which is not available (Like outside range)

**_Expected Result _:** Form should not be submitted and display error as "Please choose another date/time"

**Test Case 3 :** Trying to book a slot from past date
Enter Valid data in First name field
Enter Valid data in Last name field
Enter Valid data in Email field
Enter Valid data in Phone Number field
In appointment Field choose a slot from past date/Time

**_Expected Result_**: Form should not be submitted and display error as "Please choose another date/time"

------------------------------------------------------------------

## Test Scenario 5
==================

**Test Case 1 :** Validating with all valid data and conform slot booking
Enter Valid data in First name field
Enter Valid data in Last name field
Enter Valid data in Email field
Enter Valid data in Phone Number field
In appointment Field choose a available slot

**_Expected Result_** : Appointment should be successfully scheduled.

==================================================================

**<u>Question : 2 -></u>**

## Test Scenario 1
==================

**Test Case 1 :** New Account Creation
-> Users open the Application and Navigated to Account Creation Page
-> User enter Valid data in all respective fields (eg., First Name, Last Name, Email, Password)
-> Users clicks the submit button
-> Ensure Account is created and Account creation confirmation mail received

**_Expected Result :_** Account should be created and Confirmation mail is received


## Test Scenario 2
===============

**Test Case 1**: Checking with password does not match the required complexity standard
-> Users enters valid data in First Name, Last Name, Email Fields
-> Users enter Invalid password which does not meet the complexity requirement (eg., Shorter length, Longer length, without lower case/uppercase/numbers/special characters)
-> Users click the submit button
-> Ensure Account is not created and respective error message displayed

**_Expected Result :_** Account not created and displays a error "Password does not meet the requirement"


## Test Scenario 3
===================

**Test Case 1** : Account Deletion
->Application is opened, Logged in and Navigated to settings page
->Now click the delete account tab
->Click confirm delete
->Ensure Account is deleted and should not be able to login anymore

**_Expected Result :_** Account is deleted and user not able to login the deleted account


## Test Scenario 4
==================

**Test Case 1**: Application Navigation and performance
-> Application is opened and Logged in.
-> Navigate to different fields and functions
-> Perform various actions like account creation, deletion.
-> Ensure the app performance is good

**_Expected Result_** : Application should navigate seamlessly without any crashes or performance issues

## Test Scenario 5
==================

**Test Case 1** : Validating Unauthorized access
-> Login as basic user
-> Try to access premium features
-> Make sure user not able to access

**_Expected Result :_** User should not be able access premium features and gets error as "Unauthorized access / Permission denied"

**Test Case 2**: Validating premium user access
-> Login as premium user
-> Try to access premium features
-> Make sure user able to access all features

**_Expected Result_**: User should be able to access all premium features

**Test Case 3** : Validating Admin user access
-> Login as Admin user
-> Try to access all advanced settings and features
-> Make sure user able to access all advanced settings and features

**_Expected Result_**: User should be able to access all advanced settings and features