Software Testing Capstone Report
Software Testing Capstone Report
SIMATS ENGINEERING
Saveetha Institute of Medical and Technical Sciences
Chennai-602105
September 2025
SIMATS ENGINEERING
Saveetha Institute of Medical and Technical Sciences
Chennai-602105
DECLARATION
We, Manohar Pasupuleti, K Pavan Kumar and K Naga Vardhan of the CSE, Saveetha
Institute of Medical and Technical Sciences, Saveetha University, Chennai, hereby declare that the
Capstone Project Work entitled ‘Ecommerce Automation Test using Selenium WebDriver with
Java’ is the result of our own Bonafide efforts. To the best of our knowledge, the work presented
herein is original, accurate, and has been carried out in accordance with principles of engineering
ethics.
Place:
Date:
1
SIMATS ENGINEERING
Saveetha Institute of Medical and Technical Sciences
Chennai-602105
BONAFIDE CERTIFICATE
This is to certify that the Capstone Project entitled “Ecommerce Automation Test using
Selenium WebDriver with Java” has been carried out by Manohar Pasupuleti, K Pavan
Kumar and K Naga Vardhan under the supervision of Dr. R. DHARANI and is submitted
in partial fulfilment of the requirements for the current semester of the B.Tech CSE program at
Saveetha Institute of Medical and Technical Sciences, Chennai.
SIGNATURE SIGNATURE
Dr. Sriramya Dr. R. DHARANI
CSE Edge Computing
Saveetha School of Engineering Saveetha School of Engineering
SIMATS SIMATS
2
ACKNOWLEDGEMENT
We would like to express our heartfelt gratitude to all those who supported and guided
us throughout the successful completion of our Capstone Project. We are deeply thankful to our
respected Founder and Chancellor, Dr. N.M. Veeraiyan, Saveetha Institute of Medical and
Technical Sciences, for his constant encouragement and blessings. We also express our sincere
thanks to our Pro-Chancellor, Dr. Deepak Nallaswamy Veeraiyan, and our Vice-Chancellor,
Dr. S. Suresh Kumar, for their visionary leadership and moral support during the course of this
project.
We are truly grateful to our Director, Dr. Ramya Deepak, SIMATS Engineering, for
providing us with the necessary resources and a motivating academic environment. Our special
thanks to our Principal, Dr. B. Ramesh for granting us access to the institute’s facilities and
encouraging us throughout the process. We sincerely thank our Head of the Department, Dr.
Sriramya for his continuous support, valuable guidance, and constant motivation.
We are especially indebted to our guide, Dr. R. DHARANI for his creative suggestions,
consistent feedback, and unwavering support during each stage of the project. We also express
our gratitude to the Project Coordinators, Review Panel Members (Internal and External), and
the entire faculty team for their constructive feedback and valuable inputs that helped improve
the quality of our work. Finally, we thank all faculty members, lab technicians, our parents, and
friends for their continuous encouragement and support.
3
Abstract
In the fast-paced digital marketplace, the reliability and functionality of e-commerce platforms
are paramount to business success and customer satisfaction. Manual testing of these complex
systems is often slow, error-prone, and incapable of keeping pace with agile development cycles.
This project presents a robust automation framework designed to test e-commerce web
applications using Selenium WebDriver with the Java programming language. The solution
focuses on automating critical user workflows, ensuring high-quality software delivery and
reducing time-to-market.
The project is structured into three core modules. Module 1 covers the setup of the testing
environment and the design of a scalable and maintainable automation framework using the Page
Object Model (POM) design pattern. Module 2 focuses on the implementation of automated test
scripts for key e-commerce functionalities, such as user registration, product search, adding
items to the cart, and the checkout process. Finally, Module 3 addresses test execution
management, the generation of detailed reports using tools like TestNG and ExtentReports, and
integration into a Continuous Integration (CI) pipeline with Jenkins.
This framework is developed not to replace manual testers but to empower them by automating
repetitive regression tests, allowing them to focus on more complex exploratory and usability
testing. The architecture emphasizes modularity, reusability, and scalability, making it adaptable
to various e-commerce platforms. This project demonstrates how a well-designed automation
solution can significantly enhance testing efficiency, improve test accuracy, and support a
DevOps culture by enabling faster and more reliable software releases.
4
Table of Contents
Chapter Topic Page No
. No
1 Introduction 6
6 Conclusion 19
7 References 20
List of Figures
Fig. No Topic Page No
1 Code Representation 21
2 Output Representation 21
5
CHAPTER 1
Introduction
1.1 Background Information
The global e-commerce industry has witnessed exponential growth, transforming how consumers
shop and businesses operate. To stay competitive, e-commerce platforms must continuously
evolve by adding new features, running promotions, and updating their user interface. This rapid
pace of development necessitates a rigorous and efficient testing process to ensure a seamless and
bug-free user experience.
Traditionally, software testing relied heavily on manual methods. However, for large-scale e-
commerce applications, manual testing is inefficient. It is a time-consuming, repetitive process
prone to human error and cannot provide the rapid feedback required in modern Agile and DevOps
environments. Test automation emerged as a solution to these challenges. By using tools like
Selenium WebDriver, development teams can automate browser-based regression tests, ensuring
that new code changes do not break existing functionalities. Selenium, paired with a powerful
language like Java, has become an industry standard for building robust and scalable web
automation solutions.
● To design and implement a scalable test automation framework based on the Page Object
Model (POM) to ensure code reusability and maintainability.
6
● To manage test execution and generate comprehensive, easy-to-understand test reports
using the TestNG framework and ExtentReports.
● To integrate the automated test suite into a Continuous Integration (CI) pipeline using
Jenkins to enable automated execution upon code commits..
1.3 Significance
This project's significance lies in its practical solution to a critical industry problem. By creating
an automated testing framework, it directly contributes to:
• Increased Efficiency: Automation drastically reduces the time required for regression
testing compared to manual efforts, accelerating the overall software development
lifecycle.
• Improved Accuracy: Automated tests execute the same steps precisely every time,
eliminating human error and leading to more reliable results.
• Faster Time-to-Market: With a CI pipeline, developers get instant feedback on their code
changes. This allows for faster bug detection and resolution, enabling quicker and more
frequent product releases.
1.4 Scope
The scope of this project includes the design, development, and implementation of a functional
test automation framework for a web-based e-commerce application. The framework will focus
on automating the core user journeys on the front end.
• In-Scope: Test environment setup, framework design (POM), automation of user
registration, login, search, add-to-cart, and checkout workflows, report generation, and
basic Jenkins CI integration.
7
• Out-of-Scope: This project does not cover non-functional testing such as performance,
load, or security testing. API-level testing, database testing, and mobile application testing
are also outside the scope of this implementation.
• Framework Design: A robust framework is designed using the Page Object Model
(POM), where each web page is represented as a separate class. This approach makes the
code cleaner, more reusable, and easier to maintain.
• Test Script Development: Using Java and the Selenium WebDriver API, test scripts are
developed to simulate user actions for the defined e-commerce workflows. The TestNG
framework is used for test assertions and structuring the test cases with annotations.
• Execution and Reporting: The testng.xml file is configured to create and run test suites.
After execution, detailed HTML reports are generated using ExtentReports, providing a
clear overview of test outcomes.
• Continuous Integration: Finally, the project is integrated with Jenkins. A Jenkins job is
configured to pull the source code from a version control system like Git, build the
project using Maven, and automatically execute the test suite, providing continuous
feedback to the development team.
8
CHAPTER 2
Problem Identification and Analysis
2.1 Description of the Problem
In the highly competitive e-commerce sector, frequent updates and feature rollouts are necessary
to meet customer demands. This continuous development cycle puts immense pressure on Quality
Assurance (QA) teams. Manual testing of the entire application for every release (regression
testing) is a major bottleneck. It is a repetitive, monotonous task that consumes significant time
and resources. Furthermore, manual testing is susceptible to human error, which can lead to critical
bugs being missed, resulting in a poor user experience, loss of revenue, and damage to the brand's
reputation. The inability to provide quick feedback to developers slows down the entire delivery
pipeline, conflicting with the principles of Agile and DevOps.
• A study by the Systems Sciences Institute at IBM found that bugs found late in the
development cycle (in production) can cost up to 30 times more to fix than if they were
found during the design phase. Manual testing increases the likelihood of bugs being
discovered late.
• The fast-paced nature of e-commerce, with frequent sales events like Black Friday or
seasonal promotions, requires rapid changes and testing. Manual regression testing for
these frequent updates is not feasible and can delay critical business initiatives.
2.3 Stakeholders
• QA Engineers: The direct users of the automation framework. It helps them automate
repetitive tasks, allowing them to focus on more intellectually challenging aspects of
quality assurance.
9
• Developers: Benefit from rapid feedback. The CI pipeline runs tests automatically on their
code commits, allowing them to identify and fix bugs early in the development process
("shift-left testing").
• Product Managers & Business Owners: Gain greater confidence in the product's quality
and stability. Automation accelerates the release cycle, enabling a faster time-to-market for
new features.
● A survey by TestProject revealed that teams using test automation reported a 40% increase
in test coverage and a 35% reduction in testing costs on average.
● The principles of DevOps, widely adopted in the tech industry, heavily rely on automation
in all phases, including testing (Continuous Testing), to achieve a seamless and efficient
CI/CD pipeline. This project directly supports that industry trend.
10
CHAPTER 3
Solution Design and Implementation
3.1 Development and Design Process
Module 1: Test Environment Setup and Framework Design
The project began with establishing a robust development environment. This involved installing
the Java JDK, configuring the IntelliJ IDEA IDE, and setting up Apache Maven to manage project
dependencies, including Selenium WebDriver and TestNG. The core of the solution lies in the
framework design. The Page Object Model (POM) was chosen as the design pattern. In this model,
each web page in the application is represented by a corresponding Java class. These "page classes"
contain the web elements (e.g., buttons, text fields) of that page and the methods to interact with
them. This approach decouples the test logic from the UI, making the test scripts more readable
and maintainable.
11
A Jenkins pipeline was configured to automatically:
• Check out the latest code from a GitHub repository.
12
3.4 Engineering Standards Applied
● Design Pattern: The Page Object Model (POM) was implemented to ensure a clean
separation between test code and page-specific code, promoting reusability and
maintainability.
● Coding Standards: Followed standard Java coding conventions for naming, formatting,
and comments to ensure code readability and consistency.
● Version Control: Used Git for version control, with a structured branching strategy to
manage code changes and collaboration effectively.
13
CHAPTER 4
Results and Recommendations
4.1. Evaluation of Results
The implemented test automation framework successfully achieved its primary objectives.
• Functionality: The framework was able to automate all the targeted end-to-end e-
commerce workflows without errors. Tests for user registration, login, product search, cart
management, and checkout executed reliably across different test runs.
• Reporting: The integration with ExtentReports produced clear, detailed, and visually
appealing HTML reports. These reports provided a pass/fail summary, execution timelines,
and attached screenshots for failed tests, which proved invaluable for debugging.
• Efficiency: A comparative analysis showed that the automated test suite could complete
the entire regression pack in under 10 minutes, whereas the same set of tests took a manual
tester over 2 hours. This represents a significant reduction in execution time.
• Solution: More robust locators like relative XPath and CSS selectors were used instead of
relying on IDs that changed frequently.
• Synchronization Issues: The test scripts would sometimes fail because the web page had
not fully loaded before the script tried to interact with an element.
14
• Solution: Selenium's Explicit Waits (WebDriverWait) were implemented to wait for
specific conditions (e.g., element to be clickable) before proceeding, making the scripts
more stable and reliable than using hard-coded waits (Thread.sleep()).
• Test Data Management: Hardcoding test data within the scripts made them difficult to
maintain.
• Solution: A simple data-driven approach was implemented using a utility class to read test
data from an external properties file, separating the test logic from the test data.
• Initial Jenkins Configuration: Setting up the Jenkins pipeline, including installing the
right plugins and configuring Maven builds, was initially complex.
• Cross-Browser Testing: Integrate the framework with a cloud-based testing grid like
BrowserStack or Sauce Labs to easily run the tests on a wide variety of browsers and
operating systems.
15
• API Test Integration: Extend the framework to include API-level tests using a library like
REST Assured. This would allow for testing the business logic independently of the UI,
resulting in faster and more stable tests.
4.4. Recommendations
• Adopt for Regression Testing: It is highly recommended that this automation framework
be adopted as the primary tool for executing regression test suites for all future releases of
the e-commerce application.
• Expand Test Coverage: The QA team should be trained to use the framework to write
new automated tests for any new features being developed, thereby continuously increasing
the automation coverage.
• Integrate into Pre-commit Hooks: For a more advanced DevOps practice, the test suite
execution could be integrated into a pre-commit hook, preventing developers from merging
code that breaks existing functionality.
• Regular Maintenance: An automation framework is not a "set it and forget it" solution.
A dedicated resource should be assigned to maintain the framework, update locators for UI
changes, and keep the dependencies up to date.
16
CHAPTER 5
Reflection on Learning and Personal Development
5.1. Key Learning Outcomes
This project was an immense learning experience, bridging the gap between theoretical software
engineering concepts and practical, industry-standard application. We gained hands-on expertise
in the entire test automation lifecycle, from setting up the environment to integrating tests into a
CI pipeline. Key technical skills acquired include proficiency in Java programming, Selenium
WebDriver API, TestNG framework, Maven build automation, and Jenkins configuration. We also
learned the importance of designing a scalable framework using patterns like the Page Object
Model, which is crucial for long-term project success. Beyond the technical aspects, we developed
a deep understanding of the role of quality assurance in modern software development and the
impact of automation on achieving Agile and DevOps goals.
17
(UI layer, test layer, utilities). The use of version control (Git) was fundamental for collaboration
and tracking changes systematically. We followed Java coding conventions to ensure our code was
readable and maintainable. By documenting our framework and test cases, we practiced the
principles of good software documentation. These standards were not just theoretical rules; they
proved essential for managing complexity and ensuring the project was robust and scalable.
18
CHAPTER 6
CONCLUSION
This project successfully demonstrated the design, implementation, and deployment of a robust
test automation framework for e-commerce applications using Selenium WebDriver with Java.
The framework effectively addresses the inefficiencies and limitations of manual testing by
providing a fast, reliable, and scalable solution for functional and regression testing. By leveraging
industry-standard tools like TestNG, Maven, and Jenkins, and adhering to best practices such as
the Page Object Model, the project achieved all its stated objectives.
The implemented solution significantly reduces the time and effort required for regression testing,
enabling faster feedback loops and accelerating the software release cycle. The integration into a
Continuous Integration pipeline exemplifies a modern DevOps approach, ensuring that quality is
built into the development process from the very beginning. The generated reports provide clear
and actionable insights for all stakeholders, improving transparency and facilitating quicker bug
resolution.
While the current framework provides a solid foundation, there are ample opportunities for future
enhancements, such as implementing parallel and cross-browser testing, expanding to API and
mobile testing, and adopting more advanced data-driven techniques.
In conclusion, this project serves as a comprehensive and practical guide to building an effective
test automation solution. It not only validates the functionality of an e-commerce platform but also
contributes to a more efficient, agile, and high-quality software development lifecycle, which is
critical for success in today's competitive digital landscape.
19
REFERENCES
• Unmesh, G. (2014). Selenium WebDriver Practical Guide. Packt Publishing.
• Smart, J. F. (2018). BDD in Action: Behavior-Driven Development for the Whole Software
Lifecycle. Manning Publications.
• Koskela, L. (2007). Test Driven: TDD and Acceptance TDD for Java Developers. Manning
Publications.
• Humble, J., & Farley, D. (2010). Continuous Delivery: Reliable Software Releases through
Build, Test, and Deployment Automation. Addison-Wesley Professional.
• Melo, W. (2021). The Page Object Model (POM) Design Pattern. Retrieved from
MartinFowler.com.
20
Code Representation
Output Representation
21