Manual Testing Overview - mhmunem/Grocery-Comparison-App GitHub Wiki

•Version: v1.0
•Creation Date: December 3, 2024
•Author: Yuchuan Jin
•Purpose: To ensure that the core features and user experience of the app meet expectations, identify potential issues, and guarantee stable performance across different devices and environments.


Document Objective

This document provides a comprehensive manual testing guide for the grocery price comparison app, including key features, user interface, cross-device compatibility, and system performance.


Test Scope

Modules/Features

Home Page

  • Enable users to navigate the app using a static navigation bar.
  • Organize the home page to find products and deals easily.

Search Page

  • Enable users to search a product by name.
  • Enable users to view products by category.

Sort/ Filter

  • Allow users to sort and filter the search results.
  • Sortable functions may include distance, unit price, price, weight/volume, relevance, popularity, discounts.

Shopping List

  • Allow users to add product to the shopping list.
  • Allow users to see the total price of the shopping list.

Product Page

  • Enable users to view a product, including product images, product information and shopping information.
  • Enable users to see more information about a product.

User Page

  • Enable users to select the stores.
  • Enable users to see the price history of products.

Priorities

  • High Priority: Home page, search page, sort/filter, product page.
  • Medium Priority: Shopping list.
  • Low Priority: User Page.

Test Environment

Hardware
• Mobile: iOS, Android.
• Desktops: Windows 10/11.
Operating Systems
• iOS 16+
• Android 12+
• Windows 10/11


Test Case Structure

Sample Test Case:

ID Title Preconditions Steps Expected Result Status Remarks
TC001 Home Page - Static Navigation Bar User is on any page within the app 1. Launch the app. 2. Click buttons for Home, Search, Grocery List, and Account. 3. Rotates the device. 1. A static navigation bar, including buttons for Home, Search, Grocery List, and Account, is present at the bottom of the screen. 2. The app navigate to the respective page. 3. The icon/button corresponding to the current page is visually highlighted. 4. The navigation bar is adapt to the new screen orientation and remain visible. Pass/Fail
TC002 Home Page - Home Page Layout User is on the Home page 1. Open the home page. 2. Scroll down the page. 3. Tap another button then tap the “Home” button. 4. Taps the hamburger menu icon. 5. Tap the barcode scanner icon next to the search bar. 5. Accepts the permission to access the camera. 1. The home page display a search bar at the top of the screen with the bar code scanner and a hamburger menu icon placed beside the search bar. 2. The home page display various product lists including deals, popular products. 3. The app can navigate to the home page. 4. The app display a menu with options such as settings, area selection, and supermarket choice. 5.the camera permission access popup for barcode scanning shows up and the camera is displayed for barcode scanning. 6. When there are no product deals/popular products, the app display message indicating that there is no products available at this moment. Pass/Fail
TC003 Search Page - search a product by name User is on the search page 1. Types at least three characters into the search bar. 2. Press an “x” button. 3. Scroll down. 4. Reach the bottom of the list. 5. When there is not any search query being entered, press search button. 6. Enter a search query with only 1-2 characters and then press the search button. 7. Entered a search query that does not have any direct matches. 8. Entered a search query that contains capital letters. 1. The search is performed and all of the relevant search results appear in a list. 2. The search bar and results are cleared. 3. A paginated list of items (15items per page) can be seen. 4. When a search has more than one page of results, the user is able to proceed to either the next page, the previous page, the last page or the first page. 5. When the search query does not return any results, the search page display “no search results for -query-”. 6. No products will display and a message will display “enter a product name”. 7. A message saying “please enter at least 3 characters” is displayed. 8. Items whose name fuzzy matches the query are displayed. 9.All capital letters are converted to lower case letters before the query is used to search. Pass/Fail
TC004 Search Page - view products by category User is on the Search page 1. Select one or more categories. 2.Select one category and perform a search, and then deselect the category. 3. Select more than one category and performed a search, and then deselect one of the categories. 4. Select one or more categories and view the search results. 5. Select one or more categories and complet a search, and then select a smaller subset of a category. 1. All products shown on the results page are products that belong to the category(s). 2.The search results change to include products from all categories that match the search term. 3. The search results only include products in the still selected category/categories. 4. A clear indication of which categories they have selected without entering a dropdown menu can be seen. 5. A list of “micro-categories” that are subsets of the category is shown. Pass/Fail
TC005 Sort/ Filter Pass/Fail
TC006 Shopping List - add product Pass/Fail
TC007 Shopping List - see the total price Pass/Fail
TC008 Product Page - view a product Pass/Fail
TC009 Product Page - see more information Pass/Fail
TC010 User Page - select the stores Pass/Fail
TC011 User Page - see the price history Pass/Fail

Test Plan

Timeline

  • Sprint 0:Static Navigation Bar
  • Sprint 1:Search Page, Sorting, Product Page

Responsibilities

Static Navigation Bar, Search Page, Sorting, Product Page:Yuchuan Jin

Bug Management Process

  1. Document bugs with detailed descriptions, reproduction steps, and screenshots.
  2. Log the bug in Git with priority labels (High, Medium, Low).
  3. Once fixed by developers, retest the issue and mark it as closed.

Test Reporting

At the end of testing, a report will include:

  • Total number of test cases (e.g., 50).
  • Passed test cases (e.g., 45).
  • Failed test cases with detailed descriptions (e.g., 5 bugs, 2 of high priority).
  • Bug fix rate (e.g., 80%).