profile-pic

Pooja Sah

Senior Quality Engineer with strong experience in Software Testing (Manual & Automation testing), and demonstrated expertise in Automating Web Application Testing using Selenium WebDriver with TestNG framework using Java
  • Role

    Senior Quality Engineer

  • Years of Experience

    9.6 years

Skillsets

  • REST
  • JMeter
  • Maven
  • Microsoft SQL Server
  • MySQL
  • POM
  • Postman
  • pytest
  • Relay
  • Jira
  • RestAssured
  • Scrum
  • SoapUI
  • SQL Developer
  • TestNG
  • Xray
  • Zephyr
  • Python
  • Java
  • IntelliJ
  • Google Cloud
  • GitHub Copilot
  • Github
  • Git
  • Eclipse
  • Cucumber
  • C++
  • Bruno
  • BDD
  • Azure
  • Jenkins - 2 Years
  • Selenium - 6 Years
  • Agile

Professional Summary

9.6Years
  • Dec, 2024 - Present1 yr 11 months

    Senior Quality Engineer

    Ascendion
  • Sep, 2021 - Dec, 20243 yr 3 months

    Senior Quality Engineer

    UST
  • Mar, 2017 - Sep, 20214 yr 6 months

    Quality Engineer / Senior Quality Engineer

    Persistent Systems

Applications & Tools Known

  • icon-tool

    Selenium IDE

  • icon-tool

    Selenium WebDriver

  • icon-tool

    JMeter

  • icon-tool

    Jira

  • icon-tool

    Bugzilla

  • icon-tool

    Maven

  • icon-tool

    Jenkins

  • icon-tool

    Postman

  • icon-tool

    SoapUI

  • icon-tool

    Eclipse

  • icon-tool

    IntelliJ

  • icon-tool

    Visual studio

  • icon-tool

    Azure

  • icon-tool

    Microsoft SQL Server

  • icon-tool

    GitHub

Work History

9.6Years

Senior Quality Engineer

Ascendion
Dec, 2024 - Present1 yr 11 months
    Project: Mastercard Digital Enablement Service (MDES) Tested the tokenization platform that secures digital payment transactions by replacing sensitive card numbers with network tokens. Executed end-to-end functional and regression testing across staging and production-like environments to ensure release readiness. Partnered with business analysts to refine requirement specifications, design high-level QA strategies, and author detailed test suites. Developed end-to-end automation scripts utilizing Java and Spring Framework to streamline manual validation workflows. Utilized GitHub Copilot to accelerate and generate test automation code, significantly improving scripting efficiency and code quality. Leveraged the Relay framework to design and deploy specialized AI agents, automating manual processes for test document generation and review. Performed database backend data validation using SQL queries in both manual and automated testing pipelines.

Senior Quality Engineer

UST
Sep, 2021 - Dec, 20243 yr 3 months
    Project: Equifax (Commerce) (Mar 2024 Dec 2024) Authored test cases, managed regression test suites, and tracked defect lifecycles using Jira. Built UI test automation suites using Selenium with Java structured inside a BDD framework. Executed manual API tests with Bruno and developed automated RESTful API testing suites using Rest Assured. Configured automated execution jobs within Jenkins CI/CD pipelines and managed code repositories using Git. Project: Thermo Fisher Scientific (PDP) (May 2023 Feb 2024) Managed quality testing for life sciences product detail pages (PDP) to accelerate feature release cycles. Authored automated UI test scripts and scaled regression testing pipelines using Selenium WebDriver with Java. Validated backend microservices and REST API endpoints manually using Postman. Coordinated sprint-level regression cycles and presented live feature demonstrations during client-facing reviews. Project: IBM Watson / Merative (Nov 2021 May 2023) Maintained application stability for an end-to-end healthcare analytics and data warehousing platform through monthly milestone releases. Programmed structured web UI automation suites using Python and pytest-bdd framework. Managed repository branching strategy, pull request reviews, and code maintenance inside GitHub. Communicated quality metrics and system performance status updates directly in client demos.

Quality Engineer / Senior Quality Engineer

Persistent Systems
Mar, 2017 - Sep, 20214 yr 6 months
    Project: Clinical Text / Notes / Trial (Oct 2019 Sep 2021) Defined functional scope and processing metrics for incoming clinical data feeds and trial document search engines. Developed manual test scenarios covering functional integration, API throttle limits, and end-user workflows. Engineered UI automation scripts using Selenium WebDriver with TestNG (Java). Designed non-functional API test routines with JMeter and conducted manual web service validation via Postman and SoapUI. Represented QA team in daily status meetings with international client stakeholders. Project: Curation Platform (Sep 2017 Oct 2019) Authored foundational QA documentation including test plans, test scenarios, and execution reports for an EHR data unification platform. Designed a Page Object Model (POM) automation framework using Selenium WebDriver and TestNG. Configured Jenkins CI/CD build hooks to automate nightly smoke and regression execution runs. Identified GUI and functional defect patterns using black-box testing techniques and tracked resolution in Jira. Created weekly and monthly quality progress dashboards for engineering leadership.

Achievements

  • Strong Experience in Automating Web Application Testing using Selenium WebDriver
  • Extensive Experience in SDLC and Agile Testing Process
  • 6+ experience in healthcare domain

Major Projects

2Projects

IBM Watson (Now known as Merative)

Nov, 2021 - Present5 yr
    Health Insights is an end-to-end analytics and data solution designed to help organizations manage population health and healthcare program performance.

Curation Platform

    The Curation Platform is an application to enable the curation of standardized, structured, and high-quality data from patient electronic health records (EHR).

Education

  • Bachelor of Engineering in Computer Science & Engineering

    Parul University (2016)

Certifications

  • 2016: core and advance java

A Few Screening Questions Before You Begin

So I have around 7 years of experience with more than 6.5 years of experience in software testing. So throughout my career, I have done both manual and automation testing. In automation, I have mostly worked with Selenium, Java, BDD as well as test engine framework, integrated with Maven and Jenkins. And for version control, I have used Git. For bug reporting, I have used Jira for manual testing. I also have experience in API testing for more than 3 years and database testing for around 2 years in MySQL. Other than that, I have also worked with JMeter for a year to do performance testing. And in cloud, I have worked with Azure. And for CICD, we have used Jenkins. So these are the most tools and technologies that I have worked with, and I have worked with a general team.

So, if we have a legacy product with manual test cases written for it, our first approach would be to automate the simpler test cases, such as the login scenarios, to cover the sanity test or smoke test through Selenium. After that, I will focus more on the module part, like a business requirement, to determine which modules or functionality are more important or where bugs can be more seen or reproduced. Those scenarios, I will focus on automating first, and then we'll cover the rest of the end-to-end scenarios and regression scenarios.

So, if we have any issues with JMeter in the performance testing, using automation, what I would do is, like, if I know that in performance testing, for a few users, I'm getting errors. So, I will use those users in my automation test and see if at exactly what point we are getting errors. Because using JMeter, it's not thorough enough to identify all issues that we get. The logs, we do not get. But using our automation testing, we can find the root cause of the errors.

Okay. So to automate some scenarios related to the database in CICD. So, even like using Selenium, we can configure the database and perform some database related scenarios. And since we can configure our Selenium code in Azure as a CICD process, we can just run the database related scenarios through Azure DevOps. So all we need to do is create a script for that, and those will be integrated in Azure DevOps. And there, we will be running our database related validations, and thus we can get the logs and the results through that.

In Selenium, like, we do get issues mostly related to the locators. And so what we can do is, we can add timers. So, we have implicit wait, explicit wait. We can add the waits in our scripts so that those kind of issues we do not get. And we also will be separating our locators from the test so that if there is any issue with the locators or any changes, we can directly make those changes there.

So, okay. So if we need to use data-driven for data-driven test in Selenium, so normally we get the data from outer files, like maybe an Excel file or a CSV file. We normally get those data and then we integrate it in Selenium using Apache POI. So if we want to validate dynamic content, there are a few things we can do. Like, first of all, we can write the locators in such a way using the XPath features. Maybe we can have something that is static. And using XPath, we can navigate to the parent and child node. So using XPath, we can write the locators for such kind of elements. And apart from that, we can also use the JavaScript Executor. So through that, also we can manage dynamic content.

So, here we are checking if an element is visible at a later stage. What it will do is, like, when we are assigning the web element by providing the ID, we should be able to check if the element is visible or not at that stage itself. Because at the first line itself, where we have given the locator, we will get the error and it will not move to the next line.

We have a logic for ages greater than 18 and less than 18. But, like, what if the age is 18? For that scenario, we have not covered anything in this code. So there should be one more case. Maybe an else statement or one more case when the age is 18, then what should happen?

So, using Selenium Grid, we can execute parallel automated test cases. We have stubs and it works like a client-server, and we can provide the configuration to run those tests in different browsers or different machines, like maybe we want to run it on Linux as well and Windows as well. All those can be configured using the Selenium Grid. Once we're done with that, in Azure DevOps, we just need to write a script, like since in Jenkins also we have those files. So, similarly, in Azure DevOps, we can have YAML files, and there we can write the scripts to integrate our automated scripts with Azure DevOps.

Software design pattern, which is normally not used. I think it could be the streams API. So, that is not commonly used, but it does reduce artwork using the streams API. That is one of the things that can be done.

To inject realistic data in Selenium, there are two ways. Like, if the APIs and everything is integrated, we can just call those APIs using Selenium, and we can get the results in a file. And from that file, using Apache POI, we can use those data in Selenium. So, like, that is one of the ways we can achieve this. Or else, whenever we are performing anything using our locators and all, there is also an option to download a file or we can get the data while running the script itself. So, using the get text method, you can use those methods and store it in variables, and then you can directly use those data in the Selenium scripts dynamically.