Julyuk / requirements-practice-2023

0 stars 0 forks source link

Links to the pages of the site in the header #8

Open Julyuk opened 1 year ago

Julyuk commented 1 year ago

As an unregistered user, I want to be able to navigate between the Home, Contact, About us and Cart pages, which are accessible from the header. I should be able to reach my desired page by clicking on its name in the header menu.

Date: 10-09-2023

Pre-requisites:

  1. The main page is opened.
  2. The header menu was implemented.

Description: The user should have the ability to easily switch between four different pages: Home, Contact, About us and Cart. This navigation should be accomplished by clicking on the corresponding page names in the header.

Acceptance criteria:

  1. The "Home" link is shown and located in the header.
  2. The "Contact" link is shown and located in the header.
  3. The "About us" link is shown and located in the header.
  4. The "Cart" link is shown and located in the header.
  5. Clicking the "Contact" text in the header should open the "New message" form in the same tab.
  6. Clicking the "About us" text in the header should open the "About us" video in the same tab.
  7. Clicking the "Cart" text in the header should open the "Products" page (https://www.demoblaze.com/cart.html) in the same tab.
  8. Clicking either the "Home" text or the site's logo in the header should open the homepage (https://www.demoblaze.com/index.html) in the same tab.
trollidze commented 1 year ago

Probably, there should be added to the 'Pre-requisites' the second point: The header menu was implemented

Julyuk commented 1 year ago

Done

Julyuk commented 1 year ago

The described function involves testing a web application's navigation and user interface. Several testing approaches and types can be applied to ensure the functionality and user experience meet the specified requirements:

  1. Manual Testing:

    • Usability Testing: Evaluate the user interface for ease of navigation and overall user experience. Ensure that the links in the header are prominently displayed, clickable, and lead to the correct pages.

    • Exploratory Testing: Testers can explore the application, attempting various navigation scenarios to uncover unexpected issues or usability problems.

  2. Functional Testing:

    • Smoke Testing: Verify that the main page opens, the header menu is visible, and all links are accessible.

    • Regression Testing: Ensure that existing functionality remains intact after any changes or updates to the navigation.

  3. UI Testing:

    • GUI Testing: Evaluate the graphical user interface to ensure the links are correctly placed and labeled in the header.

    • Cross-Browser Testing: Test the navigation functionality in various web browsers to ensure compatibility.

  4. Navigation Testing:

    • Link Testing: Check that all links (Home, Contact, About us, and Cart) are clickable and lead to their respective pages. This involves positive and negative testing.

    • Deep Link Testing: Verify that the links open the correct pages or perform the expected actions (e.g., opening the "New message" form, playing the "About us" video, or opening the "Products" page).

  5. Compatibility Testing:

    • Cross-Device Testing: Ensure that the navigation functionality works correctly on different devices, such as desktops, tablets, and mobile phones.

    • Cross-Platform Testing: Test the functionality on various operating systems to ensure it behaves consistently.

  6. Performance Testing:

    • Load Testing: Assess the response time of the application when multiple users simultaneously access and navigate through the pages.

    • Stress Testing: Evaluate how the application behaves under conditions of extreme user load.

  7. Security Testing:

    • Ensure that navigation between pages does not expose the application to security vulnerabilities like URL manipulation.
  8. Accessibility Testing:

    • Evaluate whether the navigation is accessible to users with disabilities by checking for compliance with accessibility standards (e.g., WCAG).
  9. End-to-End Testing:

    • Test the entire user journey, starting from the main page, navigating through the different pages, and returning to the main page by clicking the site's logo.
  10. User Acceptance Testing (UAT):

    • Involve real end-users or stakeholders to validate that the navigation meets their expectations and is user-friendly.
  11. Boundary Testing:

    • Test the system's limits, such as clicking the "Home" link multiple times or opening multiple tabs to ensure that it handles these cases correctly.
  12. Error Handling Testing:

    • Test scenarios where users might experience errors during navigation, such as clicking on a non-existent link, and ensure the application provides clear error messages.
Julyuk commented 1 year ago

To test the described functionality of navigating between Home, Contact, About us, and Cart pages accessible from the header, it is possible to use various testing techniques. Below, I've provided a set of tests designed using different approaches.

  1. Positive Scenario Test (Functional Testing):

    • Objective: Ensure that the basic navigation functionality works correctly.
    • Test Case: Click on each of the four header links (Home, Contact, About us, Cart) one by one and verify that the corresponding pages open correctly in the same tab.
    • Expected Result: The respective pages open as described.
  2. Negative Scenario Test (Functional Testing):

    • Objective: Check the behavior when an invalid link is clicked.
    • Test Case: Click on a non-existent link in the header (e.g., "FAQ" if it's not in the acceptance criteria) and observe the system's response.
    • Expected Result: The system should handle invalid links gracefully, possibly displaying an error message or taking no action.
  3. User Experience Test (Usability Testing):

    • Objective: Evaluate the user experience by clicking on the links.
    • Test Case: Have a sample user (unfamiliar with the website) perform a set of tasks, including navigating to Contact, About us, and Cart pages via the header.
    • Expected Result: The user should be able to complete the tasks intuitively, without confusion.
  4. Boundary Test (Boundary Value Analysis):

    • Objective: Verify that the system can handle the maximum number of pages.
    • Test Case: Check what happens when the "Cart" link is clicked when the system has reached its limit for open tabs (e.g., a browser's tab limit).
    • Expected Result: The system should handle tab limits gracefully, possibly prompting the user to close some tabs.
  5. Browser Compatibility Test (Compatibility Testing):

    • Objective: Check if the functionality works as expected in different browsers.
    • Test Case: Repeat the positive scenario test using various web browsers such as Chrome, Firefox, and Safari.
    • Expected Result: The functionality should work consistently across different browsers.
  6. Performance Test (Performance Testing):

    • Objective: Evaluate the system's performance while opening and switching between multiple pages.
    • Test Case: Open multiple pages simultaneously (e.g., by clicking on all links at once) and assess the system's response time and tab switching speed.
    • Expected Result: The system should be responsive and handle tab switching efficiently.
  7. Security Test (Security Testing):

    • Objective: Check for any security vulnerabilities related to the links.
    • Test Case: Attempt to inject malicious code (e.g., JavaScript) by manipulating the URL parameters for the pages. Ensure that the system rejects such attempts.
    • Expected Result: The system should prevent any unauthorized code execution.