logo

IT7537 Web Programming

Part 1A2 – Selenium User Acceptance Testing

 

I have extended the selenium user acceptance testing to the following two use cases

 

User Acceptance Testing (UAT) Document

Room Availability and Hotel Booking System

Project Information:

Project Name: Ongaonga Bed & Breakfast

Version: 1.0

Date: 08 Dec 2023

Prepared by: Shubh

Approval: Instructor

 

Introduction

This User Acceptance Testing (UAT) document outlines the testing strategy, test cases, and acceptance criteria for the Room Availability and Hotel Booking System. The purpose of UAT is to ensure that the system meets the business requirements and is ready for deployment.

Scope:

The UAT will cover the following functionalities:

  • Room Availability Checking
  • Hotel Booking
  • Reservation Confirmation
  • Cancellation of Booking

 

Test Environment:

Browser Compatibility: Chrome, Firefox

Devices: Desktop, Laptop, Mobile

Operating Systems: Windows, Android

 

 

Test Data:

Use realistic data for testing.

Include cases with valid and invalid inputs.

Test Scenarios:

Cover end-to-end scenarios from room availability checking to booking confirmation.

Test Cases:

Document detailed test cases for each functionality.

User Roles:

Define different user roles (e.g., guest, registered user, admin) and test each role’s functionality.

Test Cases:

  1. Create and execute a test on the Search room availability feature.

Test Case 1.1: Check Room Availability

Test Steps:

  • Navigate to the room availability page.
  • Select a date range.
  • Choose the number of guests.
  • Click on the “Check Availability” button.

Expected Result: System should display a list of available rooms for the specified date range and guest count.

  1. Create and execute a test on the Make a booking feature.

Test Case 2.1: Book a Room

Test Steps:

  • Select an available room.
  • Enter guest details.
  • Choose additional preferences (if applicable).
  • Click on the “Book Now” button.

Expected Result: Booking should be confirmed, and the user should receive a confirmation message.

  1. Reservation Confirmation

Test Case 3.1: Confirm Reservation

Test Steps:

  • Access the user dashboard.
  • Verify the booked room and reservation details.

Expected Result: User should see the confirmed reservation in the dashboard.

  1. Cancellation of Booking

Test Case 4.1: Cancel Booking

Test Steps:

  • Go to the reservation details page.
  • Click on the “Cancel Booking” button.

Expected Result: Booking should be canceled, and the room should become available again.

 

Acceptance Criteria

  • The UAT will be considered successful if:
  • All test cases pass as per the defined expected results.
  • User feedback is collected and addressed.
  • The system performs reliably across different browsers and devices.

 

Conclusion

Upon successful completion of User Acceptance Testing, the Room Availability and Hotel Booking System will be deemed ready for deployment.

 

1A2-a Test on the Search room availability feature.

 

Details of selenium testing (.side extension file as submission)

 

 

1A2-b Test on the Making a booking feature

 

 

Part 1B Booking Page QuantumPHP library

 

We have extended the booking page to have the quantumphp library. The code snippet and sceenshot is as follows.

 

 

Code Snippet of QuantumPHP Library

 

DROP TABLE IF EXISTS bookings;
CREATE TABLE IF NOT EXISTS bookings (
bookingID INT unsigned NOT NULL auto_increment,
customerID INT unsigned,
roomID INT unsigned,
checkInDate DATE,
checkOutDate DATE,
PRIMARY KEY (bookingID),
FOREIGN KEY (customerID) REFERENCES customer(customerID),
FOREIGN KEY (roomID) REFERENCES room(roomID)
) AUTO_INCREMENT=1;

 

 

 

 

 

 

 

 

 

 

 

 

Figure 7: Screenshot of Booking Page with QuantumPHP library

 

Part 2A – Checklist for Web Application Publication

 

The 10 point checklist to be checked before and after the publication of the application is as follows.

 

Table 2: Checklist for web application

Sr. No. Checklist Details
1 Code Review Perform a thorough code review to catch any syntax errors.
2 Testing Test your website on various browsers and devices to ensure cross-browser compatibility and responsiveness.
3 Database Backup Take a backup of your production database to prevent data loss during deployment.
4 Environment Configuration Verify that your PHP application is configured correctly for the production environment.
5 Security Measures Such as using parameterized queries to validating user inputs, and securing sensitive data
6 Error Handling Set up appropriate error handling mechanisms to log errors but not expose sensitive information to users.
7 Performance Optimization Optimize your PHP code and database queries for better performance.
8 User Friendly Make sure website functionality is easily understand to the user.
9 Privacy & Policy Add a privacy policy document
10 Backup and Recovery Plan Establish a recovery plan in case of unexpected issues.

 

 

 

 

 

 

Part 2B – Hosting Provider

 

We have researched various hosting service providers.

 

Table 2: Hosting Service Provider

Sr. No. Hosting Service Provider Plan Details
1 Plesk
2 Freehosting
3 Profreehost Free Hosting service

 

 

We have selected the hosting provider for https://profreehost.com/ uploading our website.

Hosting Upload details & Screenshot

 

Figure 8 C Panel File Manager

Figure 9 Panel File Manager

Figure 10 Import Database

Figure 11 FTP Account

 

 

 

 

URL and Credentials

URL of the Website and username and password

Home Page URL: http://hotelbooking.unaux.com/

Admin Login:

http://hotelbooking.unaux.com/admin_login.php

UserName: Admin

Password: Admin123

Customer Login:

http://hotelbooking.unaux.com/customer_login.php

UserName:customer@gmail.com

Password:password

Completed website publication Checklist

  1. Code Review:
  2. Code formatting

While going through the code, check the code formatting to improve readability and ensure that there are no blockers:
a) Use alignments (left margin), proper white space. Also ensure that code block starting point and ending point are easily identifiable.
b) Ensure that proper naming conventions (Pascal, CamelCase etc.) have been followed.

  1. Coding best practices
  2. No hard coding, use constants/configuration values.
  3. Group similar values under an enumeration (enum).
  4. Comments – Do not write comments for what you are doing, instead write comments on why you are doing. Specify about any hacks, workaround and temporary fixes. Additionally, mention pending tasks in your to-do comments, which can be tracked easily.
  5. Avoid multiple if/else blocks.
  6. Navigation usability

Check the all navigation links is working.

  1. Links testing

Make sure there is no any broken links.

 

Sr. No. Checklist Running Status
1 Code Review Check the code and make sure with good practices
2 Testing Test a website with automation testing.
3 Database Backup Taking a database backup for the security.
4 Environment Configuration Set PHP configuration and make sure running the all web pages is properly working
5 Security Measures Check the validation for input fields
6 Error Handling Show the messages if user not given data or any mistake!
7 Performance Optimization Optimize the PHP code
8 User Friendly We check as a user each and every fucnalitly is user friendly
9 Privacy Privacy policy page should be updated.
10 Backup and Recovery Plan Hosting services set a backup for code and database on daily basis.

 

Part 2C – Web Browser Testing

 

o Platforms

– MicrosoftWindowsdesktoporlaptop  Apple Mac

– Android mobile phone

– iOS mobile phone

o Browsers

 

 

 

 

– Google Chrome

-Firefox

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *