UNDER CONSTRUCTION

Test Case Study - CastoPro

Loyalty program for professionals offered by Castorama, a leading home improvement retailer in Poland.

Project background

CastoPro is a loyalty program for professionals offered by Castorama, a leading home improvement retailer in Poland.

My Role in This Project

As a part of my recruitment process for a prominent Polish analytics company, I was tasked with testing the CastoPro website. The objective was to find an error on the website within a timeframe of 48 hours. I was provided with three pieces of information, which were: the CastoPro website link, timeframe, and the task.

Disclaimer: CastoPro was selected as a case study due to its public accessibility and the fact that none of the identified issues were security threats.

Challenges

Throughout the project, I faced several challenges due to the lack of information and specific requirements. With no clear task description, I had to make assumptions on whether to test the entire website or just a specific page. Given that the main page was relatively simple, I decided to focus on testing the entire login and registration pages instead, as these pages are often very error-prone. Additionally, no specific testing environment or responsive version was requested.

To address these challenges, I established the following requirements:

  • The website's functionality should work seamlessly.
  • The website should be able to handle negative scenarios where users fail to provide all the required data in the fields, such as incomplete forms or incorrect input.
  • In such cases, the website should provide easy-to-understand feedback to assist the user.
  • The website should be thoroughly tested on both desktop and mobile browsers to ensure optimal performance on all devices.
  • Since the website targets the Polish market, it was important to prioritize testing on popular web browsers used in Poland, namely Google Chrome and Mozilla Firefox, which together represent over 82% of the Polish market share.

The Task

I noticed only one minor technical error on the main page, so I assumed this task was about the whole site. I also decided to use the most popular web browser (Chrome) and check CastoPro on smaller widths.

Initially, I divided the task into static pages and forms. Part one was self-explanatory, as pages such as "Regulations," "FAQ," "Benefits," and "Privacy Policy" had no interactive elements. Testing these pages involved general checks of the entire page, as well as verifying the correctness of the links and the behavior of the pages at different window widths. Additionally, the mobile version of the top drop-down menu was included in this category.

Forms were a different story. In this case, both the registration and login forms were found to be imperfect. Despite having access to only a limited number of real phone numbers, I was able to perform tests to the best of my ability. The most interesting part of the testing came when I began exploring negative paths, as both forms proved to be like minefields, with numerous issues to address. Overall, this part of the task was a lot of fun!

Finally, I decided to divide all the cases into more specific categories. I have listed them all in order of importance to the end user:

  • Main page
  • Registration
    • Description: There are no marked required fields on page /pl/register.

      Steps to reproduce:

      1. Open page /pl/register.

      Actual result: No information about required fields.

      Expected result: Required fields are marked (e.g., asterisks with a legend).

      Screenshot:

    • Description: Page /pl/register does not check all required fields simultaneously. The E-mail is checked first, then the phone number (Telefon) and finally the first name (Imię) with the last name (Nazwisko).

      Steps to reproduce:

      1. Open page /pl/register.
      2. Click the button DALEJ (without filling in the fields).
      3. Fill the E-mail field with the e-mail address (e.g., castorama@gmail.com).
      4. Click the button DALEJ.
      5. Fill the E-mail field with the e-mail address (e.g., castorama@gmail.com).
      6. Fill the Phone number field (Telefon) with the phone number (e.g., 123456780).
      7. Click the button DALEJ.

      Actual result: Each subsequent error message applies to only one field.

      Expected result: All messages regarding incorrectly completed fields appear simultaneously.

      Screenshots:

    • Description: On page /pl/register, the correctness of the written e-mail is validated only after entering the phone number. Before that, any e-mail in the format x@x.xx is correct:

      • wrong domain (.cmo instead of .com, .lp instead of .pl, also .comm)
      • domains that don't exist (e.g., @gmail.com.pl)

      Steps to reproduce:

      1. Open page /pl/register.
      2. Fill the E-mail field with the incorrect e-mail address (e.g., castorama@gmail.cmo).
      3. Click the button DALEJ.
      4. Fill the E-mail field with the incorrect e-mail address (e.g., castorama@gmail.cmo).
      5. Fill the phone number field (Telefon) with the phone number (e.g., 123456780).
      6. Click the button DALEJ.

      Actual result: Information about an incorrect e-mail appears only after entering the phone number.

      Expected result: Information about an incorrect e-mail appears even without entering a phone number.

      Screenshot:

  • Login
    • Description: Page /pl/auth/login does not check both fields simultaneously. The password Hasło is checked first, and then the e-mail (Adres e-mail).

      Steps to reproduce:

      1. Open page pl/auth/login.
      2. Click login button ZALOGUJ MNIE.
      3. Enter any password in the Hasło field.
      4. Click login button ZALOGUJ MNIE.

      Actual result: Error message about wrong email or password.

      Expected result: Error messages for both email and password fields.

      Screenshots:

    • Description: Login error messages on page /pl/auth/login have different graphical formats.

      Steps to reproduce:

      1. Open page pl/auth/login.
      2. Enter the e-mail address in the Adres E-mail field (e.g., castorama@gmail.com).
      3. Click the login button ZALOGUJ MNIE (without entering any password in the Hasło field).

      Actual result: Two error messages in different formats.

      Expected result: Two identical-looking messages.

      Screenshot:

    • Description: On the page /pl/auth/login, when using the password recovery option, if a valid e-mail is entered but one in the database, an error appears that this is not a valid e-mail.

      Steps to reproduce:

      1. Open page /pl/auth/login.
      2. Click the button NIE PAMIĘTAM HASŁA under the login button ZALOGUJ MNIE.
      3. Enter the e-mail address (not in the database) in the Adres E-mail field (e.g., castorama@gmail.com).
      4. Click the send button WYŚLIJ.

      Actual result: Not a valid e-mail message.

      Expected result: A message that a link has been sent if such an e-mail is in the database.

      Screenshot:

  • Responsive design
    • Description: Page /pl/home below 992px does not show the entire paragraph Od 25 lat wspieramy Profesjonalistów.

      Steps to reproduce:

      1. Open page /pl/home.
      2. Change the page width below 992px.

      Actual result: The entire paragraph disappears.

      Expected result: The paragraph adjusts to the new width.

      Screenshot above 992px width:

      Screenshot below 992px width:

    • Description: On pages with a width between 992px and 1098px, the background of the menu is too small for the registration link REJESTRACJA.

      Steps to reproduce:

      1. Open page /pl/home.
      2. Change the page width to between 992px and 1098px.

      Actual result: The menu is too small for the word REJESTRACJA.

      Expected result: The width of the menu includes all items.

      Screenshot:

    • Description: On pages with a width below 284px, the top menu button overlaps the website logo.

      Steps to reproduce:

      1. Open page /pl/home.
      2. Change the page width below 284px.

      Actual result: The menu button overlaps the website logo.

      Expected result: The website logo shrinks, or the menu button is below the website logo.

      Screenshot:

    • Description: On pages with a width below 992px, there is a menu button in the upper right corner of the page instead of a full menu. This "button" is not an area but consists of three dashes that are hard to hit with the cursor. When the menu is open, there is the "X" with the same problem, which closes the menu.

      Steps to reproduce:

      1. Open page /pl/home.
      2. Change the page width below 992px.

      Actual result: Open and close menu items are not easy to click.

      Expected result: Open and close menu items are buttons or larger areas that are easier to click.

      Screenshots:

  • Website usability
    • Description: The page /pl/castopro-regulations stops scaling below 456px width, and the table sticks out of the visible area.

      Steps to reproduce:

      1. Open page /pl/castopro-regulations.
      2. Change the page width below 456px.

      Actual result: The content of the page extends beyond the visible area.

      Expected result: The page adapts to the width of the screen.

      Screenshot:

    • Description: The page /pl/privacy-policy stops scaling below 382px width, and the table sticks out of the visible area.

      Steps to reproduce:

      1. Open page /pl/privacy-policy.
      2. Change the page width below 382px.

      Actual result: The content of the page extends beyond the visible area.

      Expected result: The page adapts to the width of the screen.

      Screenshot:

What I Learned

This task reminded me that in the real world, we don't always have access to perfect information or clear requirements. However, this lack of clarity should not be an excuse for not performing the necessary job, especially when faced with urgency. In such situations, relying on one's own judgment and knowledge about industry standards can serve as useful guidelines for identifying what truly needs to be done.

On a more practical note, this task reminded me to always plan extra time for testing negative paths, as they often contain the most difficult and tricky bugs to identify and report.