https://github.com/vk14133m02/zcommerce
Zcommerce serves as a comprehensive testing project where I meticulously evaluate the UI, API, and database functionalities of the website. Employing techniques such as DriverSingleton and Wrapper Method, I ensure robust testing protocols. Moreover, I meticulously generate detailed reports enriched with screenshots, ensuring a thorough assessment.
https://github.com/vk14133m02/zcommerce
extentreports gradle java jdbc rest-api selenium testng webdriver
Last synced: about 1 month ago
JSON representation
Zcommerce serves as a comprehensive testing project where I meticulously evaluate the UI, API, and database functionalities of the website. Employing techniques such as DriverSingleton and Wrapper Method, I ensure robust testing protocols. Moreover, I meticulously generate detailed reports enriched with screenshots, ensuring a thorough assessment.
- Host: GitHub
- URL: https://github.com/vk14133m02/zcommerce
- Owner: VK14133M02
- Created: 2024-04-28T18:41:49.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-05-23T12:26:52.000Z (about 2 years ago)
- Last Synced: 2025-02-26T02:26:42.441Z (over 1 year ago)
- Topics: extentreports, gradle, java, jdbc, rest-api, selenium, testng, webdriver
- Language: Java
- Homepage: https://zcommerce.crio.do/
- Size: 201 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Zcommerce : E-Commerce Website Testing Project
Website Link
https://zcommerce.crio.do/
Test Plan Link :
https://docs.google.com/spreadsheets/d/1sFUPBBR3iNrhNWUVwH1jIxorwMR-UFnJIJVHNsq-kpk/edit?usp=sharing
Project Overview
This project focuses on comprehensive testing of an e-commerce website. The testing process is designed to ensure that the website functions correctly, efficiently, and provides a seamless user experience. The testing methodologies implemented in this project include Sanity Testing, Regression Testing, UI Testing, API Testing, and Performance Testing. The Software Testing Life Cycle (STLC) and defect life cycle model were followed rigorously throughout the project to ensure systematic and effective testing.
Testing Methodologies
Sanity Testing
Sanity testing was conducted to verify that the critical functionalities of the e-commerce application are working as expected. This was done after receiving a new build to ensure that the changes or fixes do not disrupt the existing functionality.
Regression Testing
Regression testing was performed to ensure that recent code changes have not adversely affected the existing functionalities of the application. Automated regression test suites were created to facilitate efficient re-testing whenever new updates were introduced.
UI Testing
UI testing was carried out to ensure that the user interface of the e-commerce website is intuitive, responsive, and user-friendly. This included checking the layout, design, and interactive elements across various devices and browsers to ensure consistency and responsiveness.
- Tested the registration and login functionality with positive and negative test cases.
Registration Page
- Tested the product search functionality with positive and negative test cases.
Home Page
Product Page
- Verified that clicking the "Add to Cart" button adds the product to the cart.
- Verified that clicking the cart button redirects to the cart page, and the product is visible.
- Verified that clicking the + or - button changes the cart quantity and updates the price accordingly.
- Verified that if the cart quantity is 0, the product should not be visible in the cart.
Cart Page
- Verified that clicking the purchase button redirects to the checkout page.
- Verified that the address field is present along with payment options on the checkout page.
Checkout Page
- Verified that clicking the order button redirects to the thank you page, displaying the order ID.
Thanks Page
API Testing
API testing was implemented to validate the functionality, reliability, performance, and security of the server-side logic of the application. This included testing RESTful APIs to ensure they return the correct responses for various requests, handle errors gracefully, and perform efficiently under different conditions.
Order Services : http://order-service-prod.zcommerce.crio.do/swagger-ui/index.html
- POST Request on Cart : Able to add a product to the cart using cart-id and item-id.
- GET Request on Cart : Retrieve the items in the cart and verify that the item-id is correct.
- PATCH Request on Cart : Update the cart quantity, ensuring it updates accordingly.
- DELETE Request on Cart : Remove an item from the cart.
Cart API
- Create Order : Directly create an order with the item-id, generating an order-id with a POST request on the order.
- GET Request on Order : Retrieve and verify the order details, including item-id and quantity.
- PATCH and DELETE Requests on Order : Update or delete the order as needed.
Payment API
- POST Request on Payment : Generate a payment-id and transaction number using the order-id.
- GET, PATCH, and DELETE Requests on Payment: Update or delete the payment.
Payment API
Product Services : http://product-service-prod.zcommerce.crio.do/swagger-ui/index.html
- POST Request on Product : Add a product to the database.
- GET Request on Product : Retrieve products using multiple filters, such as item-id and category.
- PUT Request on Product : Update product details like name, price, quantity, and review.
- DELETE Request on Product : Remove a specific item from the database using the item-id.
Product API
Review Management : Perform GET, POST, and PATCH requests on cart reviews to verify posting, updating, or deleting reviews.
Review API
Category API
Performance Testing
Performance testing was conducted to determine how the application performs under various load conditions. This included stress testing, load testing, and endurance testing to identify potential bottlenecks, ensure stability under heavy traffic, and confirm that the application can handle the expected user load without performance degradation.
Software Testing Life Cycle (STLC)
The project followed the STLC model, which includes the following phases:
Requirement Analysis
Understanding the functional and non-functional requirements of the e-commerce application.
Test Planning
Developing a test strategy, defining the scope of testing, and preparing a detailed test plan outlining the resources, schedule, and deliverables.
Test Case Development
Creating detailed test cases and test scripts based on the defined requirements and scenarios to ensure comprehensive coverage of all functionalities.
Test Environment Setup
Configuring the necessary hardware and software environments, setting up databases, and preparing test data for executing the test cases.
Test Execution
Executing the test cases, reporting defects, and re-testing the fixed issues. Automated tests were run to expedite the regression testing process.
Test Closure
Preparing the test summary report, documenting lessons learned, and obtaining project sign-off from stakeholders. Ensuring that all test artifacts are archived for future reference.
Tools and Technologies
UI Testing: Java, Selenium, TestNG
API Testing: Postman, REST Assured, Swagger
Performance Testing: JMeter, LoadRunner
Tool: Log4J, Extent Report
Continuous Integration: GitHub Actions
Extent Report
Conclusion
This project demonstrates a thorough approach to testing an e-commerce website, ensuring that it meets high standards of quality and performance. By following the STLC model and employing various testing methodologies, we have aimed to deliver a robust, reliable, and user-friendly application.
For more details on the implementation and to view the test scripts, please refer to the project repository.