profile-pic
Vetted Talent

Pooja Sah

Vetted Talent
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

    7 years

Skillsets

  • Python
  • Agile
  • SDLC
  • API Testing
  • Database Testing
  • Core Java
  • Defect Tracking
  • TestNG framework
  • Framework build
  • CI/CD Process
  • Manual Testing - 6 Years
  • Selenium - 6 Years
  • Automation Testing - 6 Years
  • Jenkins - 2 Years

Vetted For

10Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    QA EngineerAI Screening
  • 63%
    icon-arrow-down
  • Skills assessed :Manual Testing, Communication, Selenium, Debugging, Automation Testing, Azure, Problem Solving, Regression Testing, DevOps, JMeter
  • Score: 57/90

Professional Summary

7Years
  • Sep, 2021 - Present4 yr 8 months

    Senior Quality Engineer

    US Technologies (UST Global)
  • Mar, 2017 - Sep, 20214 yr 6 months

    Quality Engineer

    Persistent Systems Ltd

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

7Years

Senior Quality Engineer

US Technologies (UST Global)
Sep, 2021 - Present4 yr 8 months
    Involved in automation of application with pytest-bdd for UI test cases.

Quality Engineer

Persistent Systems Ltd
Mar, 2017 - Sep, 20214 yr 6 months
    Developed Manual Test Cases for different Test scenarios covering all aspects of project functionality.

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 - Present4 yr 6 months
    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 and Engineering

    Parul University (2016)

Certifications

  • 2016: core and advance java

AI-interview Questions & Answers

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.