1.
Manual Testing
1.1 What is Software Testing?
Software Testing is a method of assessing whether a software application works as expected. It helps
identify bugs or issues so they can be fixed before release.
Types:
Manual Testing – Human testers manually run test cases.
Automation Testing – Scripts and tools execute tests.
Purpose:
Improve software quality
Verify requirements
Identify defects
1.2 Software Development Life Cycle (SDLC) vs STLC
SDLC: Complete process of software development
STLC: Part of SDLC focused on testing activities
STLC Phases:
1. Requirement Analysis – Understand what needs to be tested
2. Test Planning – Estimate effort, tools, roles
3. Test Case Design – Create test scenarios and data
4. Test Environment Setup – Prepare infrastructure
5. Test Execution – Run test cases and log defects
6. Test Closure – Report metrics, document learnings
1.3 Types of Testing
Functional Testing – Tests based on application functionality
Non-Functional Testing – Performance, Load, Stress
Regression Testing – Ensures unchanged features still work
Smoke Testing – Basic test to check build stability
Sanity Testing – Check logical functionality
Exploratory Testing – Tester explores without predefined scripts
UAT (User Acceptance Testing) – Done by client to verify product before go-live
1.4 Severity vs Priority
Severity: Impact of the defect.
Priority: Urgency to fix the bug.
Example: 1. App crashes: High Severity, High Priority
2. Typo: Low Severity, Low Priority
1.5 Defect/Bug Life Cycle
1. New
2. Assigned
3. Open
4. Fixed
5. Retest
6. Verified
7. Closed or Reopened
Tools: JIRA, Bugzilla, Mantis
2. Automation Testing (Selenium)
2.1 What is Selenium?
Selenium is an open-source tool for automating web browsers.
Components:
Selenium WebDriver
Selenium IDE
Selenium Grid
2.2 Selenium WebDriver Sample Code (Java):
2.3
Handling Waits
Implicit Wait – Applies globally
Explicit Wait – Waits for specific conditions
2.4 TestNG Concepts
Annotations: @Test, @BeforeClass, @AfterMethod
Assertions: [Link](actual, expected)
XML for suite configuration
3. SQL and Database Testing
3.1 Why SQL in QA?
Database testing ensures data integrity and accuracy.
You should be able to:
Write SQL queries
Validate CRUD operations
Compare frontend and backend data
3.2 Sample SQL Queries
1. Get all records:
SELECT * FROM employees;
2. Count of records:
SELECT COUNT(*) FROM employees;
3. Second highest salary:
SELECT MAX(salary)
FROM employees
WHERE salary < (SELECT MAX(salary) FROM employees);
4. JOIN Types:
SELECT [Link], d.dept_name
FROM employees e
INNER JOIN departments d ON e.dept_id = [Link];
4. API Testing
4.1 What is API?
An API is a contract that allows communication between two systems.
4.2 Key Concepts:
Request Types: GET, POST, PUT, DELETE
Status Codes:
o 200 OK – Success
o 201 Created – New resource created
o 400 Bad Request – Client error
o 401 Unauthorized
o 404 Not Found
o 500 Server Error
4.3 Common API Tests
Response time < 2s
Status code = 200
JSON keys & values
Authentication (token testing)
Error messages
Tools: Postman, Swagger, RestAssured (Java)
5. HR/Behavioral Interview Questions
5.1 Tell Me About Yourself
Start with your background (education + work)
Mention QA experience, tools, strengths
Wrap up with your goal (growth, contribution to company)
5.2 Why IVP?
Leading financial tech company
Great learning opportunity in QA + capital markets
Interested in working with smart automation/QA teams
5.3 Strengths and Weaknesses
Strength: Detail-oriented, analytical, good at finding bugs
Weakness: Tend to over-test (but I’ve learned to prioritize)
5.4 Describe a challenging bug
Use the STAR method:
Situation – In login module…
Task – App was crashing…
Action – Checked logs, found null pointer…
Result – Bug fixed and prevented recurrence