Ensure your test cases cover the entire end to end process. Ensure that your test cases test validate functionality of all fields to ensure they can handle exceptions. In addition to functionality, consider usability as well as non-functional requirements coverage.
So you’re looking to write test cases for a Hotel booking system?
If you DO actually work for a hotel client then great.
If you’re a student who needs something for their project then this will give you a really good list of test scenarios.
I’ll also discuss things you may want to consider as part of your Testing Strategy.
Table of Contents
Before we Start
Many years ago (what now seems like a lifetime), I worked for a number of Travel clients.
The work included marketing their sites as well as building eCommerce systems.
Naturally that involved testing the systems end to end.
I don’t want anyone reading this to think I’m coming in ‘cold’ and have no background in the Travel or Hospitality industry.
I’ve stayed in plenty of hotels as well but I’m not sure that counts….maybe as an end user!
Context and Scope
Before we create any test cases, it’s always a good idea to set a clear understanding of the System Under Test, the context and scope of software testing that needs to be conducted.
System Under Test
The system we are testing is a customer hotel reservation system that allows a user to carry out direct bookings online.
The system that is being tested will be specific to the hotel chain.
For example, think of the biggest hotel chains such as Hilton, Marriott, Accor Group, Best Western etc.
The scope of testing will be functional testing and user acceptance scenario testing.
Out of Scope
The items below will be out of scope.
Travel Agent Bookings
This is where a travel agent can log in using their own credentials and make a booking. This requires an additional set of features and testing.
The system under test looks only at room reservation.
The test cases in this article only focus on functional testing and end user tests (UAT).
This should be considered as part of your non-functional requirements.
Any kind of role based access control (RBAC) testing is not in scope.
You will generally implement this as part of integration testing. Ideally, as part of a complete hotel management system that needs to connect to external and internal services.
An example is the Global Distribution System (GDS) system.
Complete Hotel Management Software
We wont be covering a complete hotel booking system in this article. Features such as those listed below would be covered for a complete system;
- User Registration / Sign Up
- Change password
- Checking in/out
- Business Travel Users
- Travel Agency bookings
- Hotel Staff Reservation at reception desk
- Guest data
- Flights Data
- Upsell of travel services to tourists.
The scope of the test cases consider a User who visits a hotel chain that has a number of hotels around the world.
Lets understand WHAT I’m writing Test Cases for below.
|1||The hotel booking system will be for a chain of hotels where a user wants to make an online booking.|
Test Case Scenario Examples
The Test Case Scenarios are high level which will cover a multitude of functional tests.
Below are some test scenarios you might want to consider adding to your Test Plan.
- User is able to access the Hotel Booking landing page
- Validate the hotel booking landing page is rendered correctly for desktop as per the design specifications.*
- Validate the hotel booking landing page is rendered correctly for tablet as per the design specifications.*
- Validate the hotel booking landing page is rendered correctly for a mobile device as per the design specifications.*
- Validate hotel search fields are visible on screen. 
- [+] User searches for a holiday to Dubai for a family of 2 adults and 2 children and makes a payment (End to End Test).
- User makes a successful payment for their hotel booking.
- User makes an unsuccessful payment of their hotel booking.
- Hotel Room Unavailability – User searches for dates that are unavailable and system recommends alternative dates or room types.
- User wants to Amend an existing booking by adding an additional feature (e.g. increase length of stay / adding breakfast).
- User wants to Verify the itinerary and print a Paper version.
- User cancels their booking and system refunds money – Test Refund Conditions
- User cancels their booking and system does NOT refund money – Test Refund Conditions
- User wants to make a group booking
- User wants to
- Validate Booking Page displays correct booking data (eg that which was booked). – Visual check
- Confirm Payment Page is displayed when user selects “Make Payment”
- End to End Test of Hotel Booking Engine
 This includes the location where you want to stay, date picker, number of guests and a ‘submit’ button.
You should consider validating the functional requirements below during the System Testing or System Integration Testing Phase. When planned correctly, your test data should be able to uncover any exceptions.
This is to ensure that UAT users can conduct their end to end business as usual (BAU) tests.
- Validate Location Field
- Enter valid “From” Date in the date picker field
- Enter invalid “From” Date in the date picker field – Eg from date is greater than to date.
- Enter valid “To” Date in the date picker field
- Enter invalid “To” Date in the date picker field
- Enter valid data “Room Type” field
- Enter invalid “Room Type”
- Enter valid “number of guests”
- Enter invalid “number of guests”
- Enter valid “number of adults”
- Enter invalid “number of adults”
- Enter valid “number of children”
- Enter invalid “number of children”
- Enter valid “number of infants”
- Enter invalid data in “number of infants” field
- Enter valid “credit card details”
- Enter invalid “credit card details”
- Validate business rules around number of people allowed per room
Non Functional Tests to consider
- Does the landing page pass Google PageSpeed Insights?
- Does landing page pass google web core vitals
- Load Testing – The user must be able to handle [x] number of concurrent users on the site
- The system must be able to handle [x] number of concurrent payment transactions
- Infrastructure Setup
- Load testing
If you’re writing a Test Strategy or involved in looking at Testing of the application from a holistic perspective, you might also want to think about:
- IT Security Testing – E.g Penetration Testing
- Infrastructure Verification Testing – where you look at the physical architecture on where your application is hosted.
- IT Security – Any testing that involves Single Sign-On testing with SAML or a service like OKTA.
- Backup and Storage – what is the process of backing up and restoring data
- Data Privacy – How will data move from different environments, how will it be managed and are there certain data classifications that need to be adhered to?
I hope the test cases make sense. I’ve only touched the tip of the iceberg by giving you test cases for online hotel bookings only.
To test a complete hotel reservation software would be a huge project and this article would not be able to cover it.
Feel free to use the test cases for your hotel booking project and to give you further ideas.
Remember to ensure that you keep your requirements traceability matrix updated
If you have any feedback, please reach out to me.