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:
- 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.
- 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.
- 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.
- 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
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
- Code Review:
- 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.
- Coding best practices
- No hard coding, use constants/configuration values.
- Group similar values under an enumeration (enum).
- 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.
- Avoid multiple if/else blocks.
- Navigation usability
Check the all navigation links is working.
- 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