Interview QA Automation Questions
Interview QA Automation Questions
Software Quality Assurance (SQA) is a process that ensures that software meets defined quality
standards throughout its development lifecycle. It involves activities like process monitoring, audits,
and continuous improvements to prevent defects.
⬛ Importance of SQA:
Preventive process to ensure quality Corrective process to verify the Execution of test cases to
Definition
in development processes quality of the final product identify defects
Establishing coding standards, Reviewing test results, inspecting Running functional tests
Example
process audits deliverables using Selenium
The Software Testing Life Cycle (STLC) is a structured approach to testing, ensuring software
quality. It consists of six phases:
2. Test Planning – Defining test scope, resources, schedule, and risk assessment
3. Test Case Development – Writing and reviewing test cases based on requirements
p. 1
RISHAV KUMAR
6. Test Closure – Preparing test summary reports, lessons learned, and final sign-off
A test plan is a document that outlines the testing strategy, scope, objectives, and approach for
software testing. It helps ensure systematic and efficient testing.
Test automation is used to improve efficiency, accuracy, and scalability in software testing. It helps
reduce manual effort, speeds up the testing process, and ensures consistency across multiple test
executions.
p. 2
RISHAV KUMAR
• Early bug detection – Continuous testing in CI/CD pipelines helps catch issues early.
• Cost savings in the long run – Although initial setup is costly, automation reduces long-term
testing efforts.
c. Can you explain the difference between manual and automated testing?
Not all test cases should be automated. Test automation is most effective when applied to tests that
are:
p. 3
RISHAV KUMAR
• Cross-browser and cross-platform tests
• High initial cost & setup time – Requires investment in tools, infrastructure, and training.
• False positives/negatives – Test scripts may fail due to minor UI changes, leading to unreliable results.
• Limited testing scope – Some tests (like exploratory and usability testing) cannot be automated.
• Test data management – Creating and maintaining test data for automated tests can be complex.
• Integration with CI/CD – Ensuring smooth integration into development pipelines requires effort.
I have worked with various test automation tools depending on the type of testing required.
⬛ For UI automation:
p. 4
RISHAV KUMAR
Conclusion:
• Use Selenium when you need cross-browser support and multiple language compatibility.
• Use Cypress when you prioritize fast, reliable execution and debugging.
Dynamic elements (e.g., elements that change IDs or appear after a delay) can be handled using:
• Explicit waits:
p. 5
RISHAV KUMAR
Flexibi
Less flexible, applies to all elements More precise, applies only where needed
lity
Best
Practi Not recommended for dynamic elements Preferred for handling specific waits
ce
Conclusion:
Use explicit waits for better control over synchronization instead of relying on implicit waits.
e. Have you worked with any CI/CD tools for test automation?
Yes, I have integrated test automation with CI/CD pipelines using different tools:
⬛ Jenkins:
• Configured jobs to run automated tests on every code commit.
• Used plugins like Allure Reports for test reporting.
p. 6
RISHAV KUMAR
I have used multiple programming languages for test automation, depending on the tools and project
requirements:
⬛ Java – Used for Selenium WebDriver, TestNG, JUnit, and RestAssured for API testing.
⬛ JavaScript/TypeScript – Used with Cypress, Playwright, and WebdriverIO for modern web application
testing.
Each language has its strengths. For example, Java is widely used in enterprise automation, while
JavaScript (Cypress, Playwright) is preferred for modern front-end applications due to its speed and ease
of use.
b. Can you explain the Page Object Model (POM) and its benefits?
The Page Object Model (POM) is a design pattern used in test automation to create an abstraction
layer between test scripts and web page elements. It helps improve maintainability, readability,
and reusability of test scripts.
Data-driven testing allows running the same test with multiple sets of data. It helps validate different
inputs efficiently.
p. 7
RISHAV KUMAR
- Using Excel with Apache POI (Java Example)
d. Have you written any custom test frameworks? If yes, explain the architecture.
Yes, I have worked on custom test automation frameworks based on Selenium and TestNG/Cucumber.
⬛ Definition:
BDD (Behavior-Driven Development) is a software development approach that focuses on
collaboration between developers, testers, and business stakeholders. It uses plain English syntax
(Gherkin) to write test cases in a Given-When-Then format.
• Integrates well with Agile and CI/CD – BDD tests can be automated easily.
p. 6
RISHAV KUMAR
API testing ensures that an API works correctly, efficiently, and securely. It involves testing
requests (GET, POST, PUT, DELETE), validating responses, handling authentication, and checking
performance.
2. Checking response status codes – 200 (OK), 400 (Bad Request), 401 (Unauthorized), 500
(Server Error), etc.
3. Testing request parameters – Query params, headers, body, and path variables.
4. Schema validation – Ensure the JSON/XML structure follows specifications.
5. Authentication s security testing – Validate API authentication (OAuth, JWT, Basic Auth).
h. What is performance testing, and which tools do you use for it?
⬛ Performance testing evaluates how a system behaves under different load conditions. It helps
identify bottlenecks, scalability issues, and response times.
p. 10
RISHAV KUMAR
z‘’ Tools for performance testing:
⬛ JMeter – Most used tool for API and web performance testing.
⬛ Gatling – Scala-based performance testing framework.
⬛ K6 – JavaScript-based load testing tool for APIs.
⬛ Locust – Python-based performance testing framework.
⬛ Performance test results help identify system weaknesses. Key metrics include:
• Average response time – The average time taken for API responses.
• G5th percentile response time – Time taken by 95% of requests.
‘ 2. Throughput:
z
’
z 3. Error Rate :
’
‘
• Percentage of failed requests vs. total requests.
• High error rates indicate system instability.
z‘Improvement Strategies :
’
✔ Optimize API queries.
✔ Implement caching.
✔ Use load balancers.
✔ Increase server capacity.
p. 11
RISHAV KUMAR
6. Questions sur DevOps et CI/CD
a. How do you integrate automated tests in a CI/CD pipeline?
Integrating automated tests in a CI/CD pipeline ensures that tests are executed automatically on every
code change. This helps detect issues early and maintain software quality.
Docker helps create consistent and isolated environments for test execution.
z Jenkins:
’
‘
• Used Jenkinsfile to define test execution steps.
• Integrated Selenium, Cypress, and API tests in pipelines.
• Used plugins like Allure Report for test reporting.
p. 12
RISHAV KUMAR
z GitLab CI/CD:
’
‘
• Created .gitlab-ci.yml pipelines to run automated tests in different environments.
• Used Docker runners to ensure isolated test execution.
⬛ A good bug report should be clear, concise, and reproducible. It should provide enough details for
developers to understand and fix the issue quickly.
p. 13
RISHAV KUMAR
z Example bug report format :
’
‘
z‘’ 4. Expected vs. Actual Results – Describe what should happen vs. what actually happens.
’ 7. Attachments (Screenshots, Logs, Videos) – Helps developers understand the issue faster.
z
‘
’ 8. Bug Status s Assignee – Current status (Open, In Progress, Resolved) and assigned developer.
z
‘
p. 14
RISHAV KUMAR
⬛ Example of severity levels:
c. Can you explain a challenging bug you found and how you handled it?
Bug Description:
During testing of a web-based banking application, I discovered that after logging out, the user could
still access the previous session by clicking the "Back" button in the browser. This was a security risk
because sensitive data (account details, transactions) was still visible.
• Found that after logout, the browser was loading cached pages instead of redirecting to
the login page.
• No new API requests were being sent to fetch fresh data.
- Verified session storage s cookies (DevTools → Application tab):
• Session tokens and authentication cookies were cleared correctly after logout.
• However, browser cache was storing the previous session pages, allowing them to be
accessed via the Back button.
After deploying the fix, I retested the scenario and verified:
✔ After logout, pressing Back redirected to the login page.
p. 15