Showing posts with label INTERVIEW QUESTION. Show all posts
Showing posts with label INTERVIEW QUESTION. Show all posts

Wednesday, July 9, 2025

Selenium WebDriver Interview Questions with Java Code – Real-Time Examples

Are you preparing for a Selenium WebDriver interview? Below are the most frequently asked Selenium interview questions with Java code examples. These cover real-time scenarios and will help both freshers and experienced testers gain confidence.


1. What is Selenium WebDriver?

Selenium WebDriver is a web automation tool used to automate browser actions like clicking, typing, navigating, etc. It provides a programming interface to create and run test cases.

Java Example:

WebDriver driver = new ChromeDriver();
driver.get("https://example.com");
driver.findElement(By.id("login")).click();
---

2. How do you launch a browser in Selenium?

Using the WebDriver interface and browser-specific driver classes like ChromeDriver or FirefoxDriver.

Java Example:

System.setProperty("webdriver.chrome.driver", "path/to/chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("https://google.com");
---

3. How to locate elements in Selenium?

Using locators: id, name, className, cssSelector, xpath, linkText, tagName

Java Example:

driver.findElement(By.id("username")).sendKeys("admin");
driver.findElement(By.name("password")).sendKeys("admin123");
driver.findElement(By.xpath("//button[@type='submit']")).click();
---

4. What is the difference between findElement() and findElements()?

findElement()findElements()
Returns a single WebElementReturns a list of WebElements
Throws NoSuchElementException if not foundReturns an empty list if not found
---

5. How do you handle dropdowns in Selenium?

Using the Select class.

Java Example:

WebElement dropdown = driver.findElement(By.id("country"));
Select select = new Select(dropdown);
select.selectByVisibleText("India");
---

6. How to handle alerts in Selenium?

Java Example:

Alert alert = driver.switchTo().alert();
System.out.println(alert.getText());
alert.accept(); // or alert.dismiss();
---

7. How do you handle multiple windows in Selenium?

String parent = driver.getWindowHandle();
Set<String> allWindows = driver.getWindowHandles();
for (String window : allWindows) {
    if (!window.equals(parent)) {
        driver.switchTo().window(window);
        driver.close();
    }
}
driver.switchTo().window(parent);
---

8. How to perform mouse hover in Selenium?

Actions action = new Actions(driver);
WebElement menu = driver.findElement(By.id("menu"));
action.moveToElement(menu).perform();
---

9. How do you handle dynamic elements?

Use dynamic XPath or wait strategies like explicit wait.

Example using XPath:

//input[contains(@id, 'user')]

Example using Explicit Wait:

WebDriverWait wait = new WebDriverWait(driver, Duration.ofSeconds(10));
WebElement element = wait.until(ExpectedConditions.visibilityOfElementLocated(By.id("username")));
---

10. What are Waits in Selenium?

  • Implicit Wait – waits globally
  • Explicit Wait – waits for specific conditions
  • Fluent Wait – waits with a polling interval

Example – Implicit Wait:

driver.manage().timeouts().implicitlyWait(Duration.ofSeconds(10));
---

11. How do you take a screenshot in Selenium?

TakesScreenshot ts = (TakesScreenshot) driver;
File src = ts.getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(src, new File("screenshot.png"));
---

12. How do you handle frames?

driver.switchTo().frame("frameName");
// Perform actions inside frame
driver.switchTo().defaultContent();
---

13. How do you perform scrolling in Selenium?

JavascriptExecutor js = (JavascriptExecutor) driver;
js.executeScript("window.scrollBy(0,500)");
---

14. How do you validate a page title or URL?

Assert.assertEquals(driver.getTitle(), "Expected Title");
Assert.assertTrue(driver.getCurrentUrl().contains("dashboard"));
---

15. What is Page Object Model (POM)?

POM is a design pattern where each web page is represented as a class. Elements are defined as variables, and actions are methods.

Example:

public class LoginPage {
  WebDriver driver;
  
  @FindBy(id="username") WebElement username;
  @FindBy(id="password") WebElement password;
  @FindBy(id="login") WebElement loginBtn;

  public LoginPage(WebDriver driver) {
    PageFactory.initElements(driver, this);
  }

  public void login(String user, String pass) {
    username.sendKeys(user);
    password.sendKeys(pass);
    loginBtn.click();
  }
}
---

16. How do you run tests in multiple browsers?

Use WebDriverManager and pass the browser as a parameter.

WebDriver driver;
if(browser.equals("chrome")){
   WebDriverManager.chromedriver().setup();
   driver = new ChromeDriver();
} else if(browser.equals("firefox")){
   WebDriverManager.firefoxdriver().setup();
   driver = new FirefoxDriver();
}
---

17. What is the difference between get() and navigate().to()?

  • get() – loads a new page
  • navigate().to() – can be used to go forward/backward in history
---

18. What is the difference between driver.close() and driver.quit()?

  • close() – closes current browser window
  • quit() – closes all windows and ends session
---

19. How to handle file upload?

driver.findElement(By.id("upload")).sendKeys("C:\\path\\file.txt");
---

20. How to handle file download in Selenium?

File download requires browser settings using ChromeOptions or FirefoxProfile to set download paths.

---

๐Ÿ‘‹ Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.

๐Ÿ“ฌ Contact Me | LinkedIn | GitHub

๐Ÿ“Œ Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.

Top 30 Manual Testing Interview Questions and Answers for Freshers & Experienced

Top 30 Manual Testing Interview Questions and Answers for Freshers & Experienced

This article covers the most frequently asked manual testing questions with real-time examples, concepts like STLC, bug life cycle, and test techniques. Suitable for both freshers and experienced professionals.


1. What is Software Testing?

Software Testing is the process of evaluating a software application to identify defects and ensure it meets the specified requirements.

Real-Time Scenario: Before launching an e-commerce website, testers validate the cart, payment, and checkout functionalities to avoid issues post-launch.

2. What are the different types of Software Testing?

  • Manual Testing
  • Automation Testing
  • Functional Testing
  • Non-Functional Testing (Performance, Security, Usability)
  • Unit Testing
  • Integration Testing
  • System Testing
  • Acceptance Testing

3. What is the Software Testing Life Cycle (STLC)?

STLC is a sequence of activities conducted during testing:

  1. Requirement Analysis
  2. Test Planning
  3. Test Case Development
  4. Test Environment Setup
  5. Test Execution
  6. Test Cycle Closure

Real-Time Example: In a banking app, STLC ensures that login, balance view, and fund transfer are tested in an organised manner.

4. What is the difference between Verification and Validation?

CriteriaVerificationValidation
DefinitionAre we building the product right?Are we building the right product?
Activity TypeStaticDynamic
ExamplesReviews, WalkthroughsTesting, UAT

5. Explain the Bug Life Cycle.

States: New → Assigned → Open → Fixed → Retest → Verified → Closed
Alternate States: Rejected, Deferred, Duplicate

Real-Time Scenario: A user reports login failure → Developer fixes it → Tester retests → Marks as Verified → Closed.

6. What is a Test Case?

Test Case IDTC_001
FunctionalityLogin
Steps1. Enter username
2. Enter password
3. Click Login
Expected ResultThe dashboard is displayed

7. What is the difference between a Test Case and a Test Scenario?

FeatureTest CaseTest Scenario
Detail LevelVery detailedHigh-level idea
ExampleValidate login with valid credsTest login functionality

8. What is a Defect?

A defect is a deviation from the expected result in the application.

Example: The Login button does not redirect to the home page.

9. What is Severity and Priority?

TermDefinitionExample
SeverityImpact of the defect on the systemApp crashes → High Severity
PriorityThe order in which the defect should be fixedFixing login issue → High Priority

10. What is Regression Testing?

Testing existing functionality to ensure new changes haven't broken anything.

Real-Time Scenario: After adding a "Save for Later" feature, re-test the cart, checkout, and payment flows.

11. What is Retesting?

Testing the defect after it’s fixed to verify it's resolved.

12. Difference Between Smoke and Sanity Testing?

FeatureSmoke TestingSanity Testing
PurposeBasic build verificationVerify bug fixes/functional areas
TimeInitial buildAfter a minor release

13. What is Exploratory Testing?

Testing where test cases are not predefined. Tester explores the app on the fly.

Example: While testing a new travel app, testers explore unusual booking combinations.

14. What is Ad-hoc Testing?

Unplanned testing without documentation.

15. What is UAT (User Acceptance Testing)?

Testing is done by the end-user/client to confirm that the system meets business needs.

16. Difference Between Functional and Non-Functional Testing?

FeatureFunctional TestingNon-Functional Testing
FocusWhat system doesHow well does the system perform
ExampleLogin, SignupLoad time, security, UI usability

17. What is a Test Plan?

A document describing test scope, approach, resources, and schedule.

18. Explain Different Test Techniques.

  • Equivalence Partitioning
  • Boundary Value Analysis
  • Decision Table Testing
  • State Transition
  • Error Guessing

19. What is Boundary Value Analysis?

Test inputs at the edge of input ranges.

Example: For age 18–60, test 17, 18, 60, 61.

20. What is Equivalence Partitioning?

Divides input data into valid and invalid classes.

21. What is a Traceability Matrix?

A document mapping requirements with test cases.

Requirement IDTest Case ID
REQ-001TC-001, TC-002

22. How do you handle a situation when a developer disagrees with your defect?

  • Provide clear defect steps
  • Attach screenshots or logs
  • Discuss in defect triage meetings
  • Use severity & requirement mapping

23. Explain a real-time scenario where you found a critical bug.

Example: In a food delivery app, placing an order deducted payment, but didn’t place the order. Severity: High, Priority: High.

24. What is Test Data?

Data used during test execution, e.g., usernames, passwords, and product IDs.

25. What are Entry and Exit Criteria?

Entry Criteria: Preconditions before testing start.
Exit Criteria: Conditions to conclude testing.

26. What is Compatibility Testing?

Testing on different browsers, devices, and OS.

27. How do you log bugs in a bug tracking tool (e.g., JIRA)?

  1. Select project
  2. Click “Create Issue”
  3. Fill Summary, Steps to Reproduce, Environment, Severity
  4. Attach screenshot/log
  5. Assign to the developer

28. What is Risk-Based Testing?

Prioritising testing modules based on business impact and failure probability.

29. What is the difference between QA and QC?

QA (Quality Assurance)QC (Quality Control)
Process-orientedProduct-oriented
Prevent defectsIdentify defects

30. How do you ensure test coverage?

  • Use requirement traceability
  • Review test cases against each requirement
  • Conduct peer reviews
  • Track coverage in tools like TestLink or Excel

๐Ÿ‘‹ Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.

๐Ÿ“ฌ Contact Me | LinkedIn | GitHub

๐Ÿ“Œ Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.

Thursday, July 3, 2025

Regression Testing vs Retesting – What’s the Difference?

๐Ÿ” Regression Testing vs Retesting – What’s the Difference?


๐Ÿ”น What is Regression Testing?

Definition: Regression testing is performed to verify that existing functionality still works after changes like bug fixes, enhancements, or code updates.

Purpose: To ensure that new code changes have not unintentionally broken existing features.

Example: A bug in the login module is fixed. After the fix, regression testing will check login, signup, and dashboard access—all related modules—to confirm that nothing else is broken.

๐Ÿ”น What is Retesting?

Definition: Retesting is performed to verify that a specific bug fix works correctly using the same test case that initially failed.

Purpose: To confirm that the reported defect has been successfully fixed.

Example: If the "Submit" button didn’t work during the last test cycle and a fix was made, retesting involves checking that exact scenario again to verify that the bug is resolved.

๐Ÿ†š Key Differences Between Regression Testing and Retesting

Criteria Regression Testing Retesting
Definition Testing to confirm that new changes haven’t broken existing features Testing to confirm a specific bug has been fixed
Test Case Used Reusable old test cases Same test case that failed earlier
Scope Broad – covers multiple related modules Narrow – focuses only on the fixed defect
Execution Can be automated Usually manual (critical checks)
Priority After every build or code change After a particular defect is fixed
Objective Find side effects of changes Verify that the fix works correctly
Dependency Can be performed even if no bugs are found Performed only when a bug is reported and fixed

๐Ÿงช Real-World Example

Scenario: A defect was found where the "Change Password" button was not working.

  • Retesting: Check only the "Change Password" feature to verify the bug is fixed.
  • Regression Testing: Check "Change Password", "Update Profile", "Login", "Logout"—all related user settings to ensure nothing else broke due to the fix.

✅ When to Use

Situation Use
You fixed a known bug ✅ Retesting
You added a new feature or updated the codebase ✅ Regression Testing
Before a release or sprint demo ✅ Regression Testing
Verifying if a previously failed test now passes ✅ Retesting

๐Ÿ“Œ Conclusion

Retesting is about checking the fix.

Regression Testing is about checking the impact of the fix.

Both are essential for quality assurance. Retesting ensures bugs are fixed; regression ensures new bugs aren’t introduced.

๐Ÿ‘‹ Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.

๐Ÿ“ฌ Contact Me | LinkedIn | GitHub

๐Ÿ“Œ Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.

Saturday, March 8, 2025

Top 25 Mobile Testing Interview Questions and Answers (2025 Updated)

Top 25 Mobile Testing Interview Questions and Answers (2025 Updated)

Mobile app testing is one of the fastest-growing areas in the QA industry. With Android and iOS dominating the market, companies are looking for testers who understand mobile testing concepts, tools like Appium, and real device challenges. In this blog post, we’ll cover the most frequently asked mobile testing interview questions, suitable for both freshers and experienced testers.

๐Ÿ“ฑ What Is Mobile Testing?

Mobile testing involves testing applications built for mobile devices (smartphones, tablets) to ensure proper functionality, usability, and performance. It includes native, hybrid, and web apps running on different operating systems like Android and iOS.


๐Ÿ” Top 25 Mobile Testing Interview Questions and Answers

  1. What is mobile application testing?
    Testing of mobile apps to ensure their quality on real devices or emulators under different networks, screen sizes, and OS versions.
  2. What are the types of mobile apps?
    Native Apps, Web Apps, Hybrid Apps
  3. What is the difference between mobile app testing and web testing?
    Mobile app testing considers factors like battery usage, memory, gesture handling, network switching, etc., which are not major concerns in desktop web testing.
  4. What are the types of mobile testing?
    Functional Testing, UI Testing, Compatibility Testing, Performance Testing, Security Testing, Interruption Testing, Installation Testing
  5. What is Appium?
    Appium is an open-source automation tool for testing native, hybrid, and mobile web apps using the WebDriver protocol.
  6. Can Appium be used for both Android and iOS?
    Yes, Appium supports automation on both Android and iOS platforms.
  7. What is the difference between simulator and emulator?
    Simulator mimics iOS behavior; Emulator mimics Android. Simulators don’t replicate hardware, while emulators do.
  8. What tools are used for mobile testing?
    Appium, Espresso, XCUITest, Robotium, Kobiton, BrowserStack, Firebase Test Lab
  9. What is mobile device fragmentation?
    The challenge of testing across different OS versions, screen sizes, and hardware types.
  10. How do you perform compatibility testing?
    Test the app on multiple devices, OS versions, resolutions, and hardware configurations.
  11. What is interruption testing?
    Testing how the app behaves when interrupted by calls, messages, notifications, or low battery alerts.
  12. What are the key challenges in mobile testing?
    Device fragmentation, network conditions, OS upgrades, touch gestures, battery usage, screen orientation.
  13. How do you test an app in different network conditions?
    Use network simulation tools or manually switch between WiFi, 2G/3G/4G/5G, airplane mode, and no network.
  14. What is gesture testing?
    Testing app response to user gestures like tap, swipe, pinch, zoom, drag, etc.
  15. What are the common test cases for mobile apps?
    Installation, login/logout, screen orientation, push notifications, in-app purchases, data sync, etc.
  16. What is responsive testing?
    Ensuring UI elements adjust properly to different screen sizes and orientations.
  17. How do you handle app crashes during testing?
    Capture crash logs, report with steps to reproduce, attach screenshots or device logs using tools like Logcat or Xcode logs.
  18. What is the difference between native and hybrid apps?
    Native: Built for a specific platform (e.g. Swift for iOS); Hybrid: Single codebase wrapped in WebView (e.g. Ionic, Cordova).
  19. Which is better for testing – real device or emulator?
    Real devices are better for performance, battery, gestures. Emulators are faster for basic functional tests.
  20. What is test automation strategy for mobile apps?
    Choose tools like Appium, plan parallel testing, use cloud devices (BrowserStack), and maintain modular test scripts.
  21. How do you test push notifications?
    Trigger test notifications from backend/API and verify delivery, UI response, and app state (foreground/background).
  22. What is deep linking in mobile apps?
    Deep linking allows users to navigate to a specific part of the app from external links.
  23. What is mobile security testing?
    Validating app against data leakage, insecure storage, API security, and unauthorized access.
  24. What is monkey testing in mobile?
    Random tapping, swiping, shaking, or performing unexpected actions to find crashes or bugs.
  25. How do you perform localization testing?
    Test the app in different languages, regions, and timezones to verify proper translation and formatting.

๐Ÿ“„ Bonus: Sample Manual Test Cases for a Mobile Login Page

Test Case ID Scenario Expected Result
TC001 Valid username and password User should be logged in
TC002 Invalid password Error message shown
TC003 Switch orientation during login Form should remain stable
TC004 Interruption by call App should resume login screen

๐Ÿง  Interview Tips

  • Learn both Android and iOS differences
  • Practice Appium scripts for login, swipe, drag-drop
  • Focus on real device testing scenarios

๐Ÿ‘‹ Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.

๐Ÿ“ฌ Contact Me | LinkedIn | GitHub

๐Ÿ“Œ Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.

Wednesday, March 5, 2025

Top API Testing Interview Questions and Answers – Part 1 (With Postman & Real-Time Scenarios)

 1. API

  API is an application programming interface that acts as an intermediate between two applications. API is a collection of functions and procedures.

2. API Methods:

  GET - GET requests are used to retrieve the information from the given URL.
  POST - To send the new data to an api.
  PUT - This method is used to update the existing data.
  DELETE - This is used to remove or delete the existing.
  PATCH - Partially updated resource.

3. What is the difference between the 201 and 204 Status codes?

  • 201 - The request was successful, and a new resource was created.
  • 204 - The request was successful, but there is no response body. When an update or delete operation is successful.

4. What is the difference between 401 and 403 Status Code?

  • 401 - Unauthorized. without logging in or with invalid credentials.
  • 403 - Forbidden. When a logged-in user tries to access a restricted area without the required permissions.

5. What is the difference between Query Parameters and Path Parameters?

  • Both Query Parameters and Path Parameters are used to send data in API requests.

6. How does an API Work?

  • Client request -> Server Processing -> Response - Client Handling

7. Main types of API?

  • Public API
  • Private API
  • Partner API
  • Comboste API

8. What must be checked when performing API testing?

  • Accuracy of data
  • HTTP status codes
  • Data type, validations, order, and completeness
  • Authorization checks
  • Implementation of response timeout
  • Error codes in case the API returns, and

9. How do you handle dynamic data in API testing?

  • Data Parameterization: Using data-driven tests where input values are generated dynamically from a data source (e.g., database, files).

10. What are the major challenges faced in API testing?

  • Output verification and validation.

11. Difference b/w RESTful API and SOAP API?

  • RESTful API and SOAP API lie in their architectural styles and message formats.

12. API Endpoint - Refers to a specific URL or URI


13. Purpose of authentication:

  • Verify the requester's identity before granting access to protected resources.

14. Authentication methods used in API Testing:

  • Token-based authentication - A token to the client after successful authentication.
  • Basic authentication - sending the username and password 

๐Ÿ‘‹ Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.

๐Ÿ“ฌ Contact Me | LinkedIn | GitHub

๐Ÿ“Œ Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.

Monday, March 3, 2025

Top Manual Testing Interview Questions and Answers – Part 1 (2025 Updated)

1. Authentication and authorization?
  • Authentication (Auth): Verifies the user's identity.
  • Authorization: Determines the user's permissions.Defines what actions the user can perform.
   
2. Retesting and Regression testing?
  • Retesting involves testing a specific bug or issue after it has been fixed by the developer.
  •  Regression testing involves testing the fixed bug and the surrounding areas that may have been affected by the fix. verify that the software works as expected after changes?
  Retesting - Testing only the affected area.
  Regression Testing - Testing the affected as well as the unaffected areas.
  
3. Black Box, White Box, Gray Box Testing:
  •  Black box: Focuses on external behaviour and user interactions. No knowledge of internal code or structure required. Typically performed by testers, QA engineers, or end-users. Examples: Functional testing, User Acceptance Testing (UAT), Exploratory testing.
  • White Box: Focuses on internal code structure and logic. Requires knowledge of programming languages and code. Typically performed by developers. Examples: Unit testing, Integration testing, Code reviews.
  • Gray Box: Combines elements of black box and white box testing. Requires some knowledge of programming and code. Typically performed by testers with programming skills or developers. Examples: API testing, Database testing, Security testing.
  
4. Severity: Refers to the impact or effect of a defect on the application's functionality. Measures the defect's damage or risk
     Priority: How soon will the defect be fixed?
  
5. Test scenarios focus on what to test, while test cases focus on how to test. Test scenarios define end-to-end functions to be tested, while test cases provide instructions on how to test specific features.

6. Alpha, Beta, Gamma Testing:
  Alpha: Conducted by the in-house testing team. Focus on functionality.
  Beta: Conducted by external customers, end-users, or a select group. Focus on real-world usage.
  Gamma: Conducted by end-users and customers. For the final validation, focus on business requirements and user expectations.
  
7. Equivalence Partitioning:
  • Equivalence partitioning is a black-box testing technique that divides input data into partitions.
  • Test cases that cover all possible input scenarios reduce the number of test cases.
 Example:  Age (1-100)
   Valid ages: 1-100
   Invalid Ages:
       Below 1 (e.g., 0, -1)
       Above 100 (e.g., 101, 150)
       Non-numeric input (e.g., "abc")

8. Smoke and Sanity testing
  • Smoke testing - Focusing on Major functionalities in the software through positive test cases.
  • Sanity testing - Focusing on Major functionalities in the software through positive and negative test cases.
9. Usability testing - Easy to use.

10. BUG - Caused by a programming error.
      ERROR - Mismatch between expected and actual output.
      DEFECT - When the actual output differs from customer expectations, it is considered a defect.
      MISTAKE - An error made by the user.

11. Adhoc/Monkey testing - testing an application randomly without following the requirements. Here we check negative scenarios.

12. Compatibility testing - testing an application with different hardware and software.

13. Globalisation testing - testing an application which is developed for different languages.

14. Reliability testing - testing the functionality of an application for a long duration of time.

15. Accessibility testing - testing the application which is developed for physically challenged people.

16. Acceptance testing - testing the business scenarios of an application, which is done by the customer.

17. Aesthetic testing - Testing the beauty of the application. checking colour combination, font style, font size and attractiveness of an application.

18. Functional, integration and system testing are mandatory for every testing application.

19. Smoke, sanity, exploratory and ad-hoc testing are situation-based testing.

20. Recovery testing - Later, close the application and open it again, and see whether all the previous data is still available or not.

21. SDLC - It is the Software Development Life Cycle
 It has different stages:
  • Requirement Analysis
  • Designing
  • Coding
  • Testing
  • Deployment
  • Maintenance
22. Agile Model - When a customer wants an application very fast, with less time, we go for this model.

23. STLC - Software Testing Life Cycle
  It has different stages:
  • Requirement Analysis
  • Test Planing
  • Test Designing
  • Test Environment Setup
  • Test execution
  • Test Cycle Closure

24. Scrum terminology
Scrum is a version of agile.
  • Epic - It is a complete set of requirements given by the customer.
  • Sprint - It is the duration of time taken to work on 1 or more user stories. Each sprint can be either 2/3/4 weeks, depending on the customer's decision.
  • Sprint planning meeting - It is a meeting which is conducted before the sprint starts.
  • Sprint backlog - It is a user story which is not completed in that particular sprint and is carried into the next sprint.
  • Sprint review meeting - In this meeting, the scrum master will check whether all the user stories are completely developed and tested, and it is ready to be released to the customer or not.
25. Requirement Traceability Matrix:
  • It is a document which is prepared to check whether every requirement has at least one test case or not. RTM maps all the requirements with the test cases.

๐Ÿ‘‹ Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.

๐Ÿ“ฌ Contact Me | LinkedIn | GitHub

๐Ÿ“Œ Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.

Thursday, October 17, 2024

Easy Steps to Navigate Any Website Like a Pro – Beginner’s Guide

Manually exploring a site involves checking its various features, functionality, and usability. Here's a comprehensive checklist:

Home Page:

1. Verify page layout and design
2. Check the navigation menu and links
3. Validate search functionality (if present)
4. Review hero section/content

Inner Pages:

1. About Us
2. Contact/Support
3. FAQ
4. Blog (if present)
5. Terms and Conditions
6. Privacy Policy

Features and Functionality:

1. User registration/login
2. Payment gateway integration (if applicable)
3. Search filters and sorting
4. Product/service details pages
5. Reviews and ratings (if present)
6. Commenting system (if present)

User Experience (UX):

1. Responsive design (mobile, tablet, desktop)
2. Page loading speed
3. Navigation and menu usability
4. Content readability
5. Error handling and messaging

Security:
1. HTTPS encryption
2. Password hashing and storage
3. Input validation and sanitization
4. CSRF protection
5. Secure payment processing

Accessibility:
1. Screen reader compatibility
2. Keyboard navigation
3. High contrast mode
4. Closed captions (if video content)

Browser and Device Compatibility:
1. Test on multiple browsers (Chrome, Firefox, Safari, Edge)
2. Test on different devices (desktop, laptop, mobile, tablet)
3. Verify consistency across devices and browsers

Other:

1. Social media integration
2. Newsletter subscription
3. Contact form functionality
4. Map integration (if present)
5. Third-party services integration (e.g., analytics)

๐Ÿ‘‹ Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.

๐Ÿ“ฌ Contact Me | LinkedIn | GitHub

๐Ÿ“Œ Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.

Tuesday, July 30, 2024

Postman Variables Explained: Global vs Environment vs Collection (Key Differences with Examples)

Global Variables:

  • Stored globally across all requests and collections.
  • It can be accessed from any request or collection.
  • Use cases: API keys, common headers, or base URLs

Environment Variables:

  • Stored within a specific environment (e.g., dev, staging, prod).
  • It can be accessed only from requests within the same environment.
  • Use cases: Environment-specific settings, such as URLs, credentials, or timeouts.

Collection Variables:

  • Stored within a specific collection.
  • It can be accessed only from requests within the same collection.
  • Use cases: Collection-specific settings, such as API endpoints, headers, or query parameters.

๐Ÿ‘‹ Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.

๐Ÿ“ฌ Contact Me | LinkedIn | GitHub

๐Ÿ“Œ Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.

Monday, July 29, 2024

Selenium XPath Tutorial – Complete Guide with Examples for Beginners

What is XPATH?

  • It is an XML path.
  • It is one of the locator types in selenium.
  • It uses path expression to navigate in XML documents and to identify a node or number of nodes.
  • XPath is used to handle complex and dynamic paths.
 

Types of XPATH in Selenium:

  1. Absolute XPath
  2. Relative XPath
 

What is Absolute XPath?

  • Absolute path starts from <HTML> tag.
  • It uses / ( forward slash ).
  • It is used to identify any element direct way by consider all the tag starts from <HTML> tag.
  • It is much more faster than "Relative xpath" as it holds the direct path to the target node/tag/element from start <Html> tag.
  • But we will mostly use this one if it holds a long string path and is difficult to maintain or handle. It is not a shortend path.
 

What is Relative XPath?

  • It uses //  ("forward double slash").
  • It will consider any node/element/tag as a refernce point from where either we can traverse forard or reverse direction to identify target node/tag.
  • It is mostly used as we are considering any node as a reference node (stable node) from a DOM.

๐Ÿ‘‹ Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.

๐Ÿ“ฌ Contact Me | LinkedIn | GitHub

๐Ÿ“Œ Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.

Tuesday, July 16, 2024

Real-Time Software Testing Interview Questions and Answers – Part 2 (With Examples)

1. Retesting - Testing only the affected area.

2. Regression Testing - Testing the affected as well as the unaffected area.

3. When will you stop the Testing?
  • When every bug is fixed.
  • When all the test cases are executed and they are passed.
  • Minor bugs are deferred.
   
4. When will you start Testing?
  • Once the developer completes unit testing.
  • Once everything is ready (test environment, test cases, test data).
   
5. Alpha testing - Selective customers will test the new version/software in the development organization's environment.

6. Beta testing - Customers will use this newly developed software in their own environment.

7. Smoke testing - Focusing on Major functionalities in the software through positive test cases.

8. Sanity testing - Focusing on Major functionalities in the software through positive and negative test cases.

9. Quality Assurance - Process-oriented and Verification.

10. Quality Control - Product-oriented and Validation.

11. Waterfall Model :
  • When we have the software already and we want to implement new small features which are very clear- in these cases, we can go with the waterfall model.
  • Disadvantage: Once we moved to the next phase, we never come back to the previous phase.
    
12. Model - Implementation of SDLC.

๐Ÿ‘‹ Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.

๐Ÿ“ฌ Contact Me | LinkedIn | GitHub

๐Ÿ“Œ Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.

Monday, July 15, 2024

Top Selenium Interview Questions and Answers – Part 2 (With Java Code Examples)

1. WebDriver is interface or class?
  • WebDriver is an interface in Selenium.
2. If we do not add a driver exe file what will happen and what kind of exception will be generated?
  • If the driver executable is not added, Selenium won't be able to communicate with the browser, and a WebDriverException will be thrown.
3. What is the difference between close and quit?
  • close(): Closes the current browser window.
  • quit(): Closes all the browser windows and ends the WebDriver session.
4. Difference between get and navigate().to() ?
  • get(): Loads a new web page in the current browser window.
  • navigate().to(): This does the same as get() but allows for additional navigation options like back, forward, and refresh.
5. Difference between findElement and findElements?
  • findElement: Returns a single WebElement or throws  NoSuchElementException if not found.
  • findElements: Returns a list of WebElements. If no elements are found, it returns an empty list.
6. How do you get all the links on the current page? Which locator will you use other than XPath?
  • You can use the CSS selector a to find all links.
List<WebElement> links = driver.findElements(By.cssSelector("a"));

7. Methods of WebDriver?
  • Some common methods are: get() , getCurrentUrl() , getTitle(), findElement() , findElements() , getPageSource() , close() , quit(), navigate() , manage() .
8. What is the use of the getCurrentPageSource method?
  • It returns the source code of the current page.
9. When do we go for the findElements method and what is the return type?
  • Use findElements when you expect multiple elements. It returns a list of WebElements.
10. Why do we get WebDriverException?
  • This exception is thrown when WebDriver is unable to interact with the browser. Possible reasons include incorrect WebDriver setup, browser crashes, or network issues.
11. Absolute and Relative XPath?
  • Absolute XPath: Starts from the root and follows a complete path (e.g., /html/body/div ).
  • Relative XPath: Starts from the middle of the HTML DOM structure (e.g., //div[@id='example'] ).

๐Ÿ‘‹ Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.

๐Ÿ“ฌ Contact Me | LinkedIn | GitHub

๐Ÿ“Œ Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.

Tuesday, July 2, 2024

HTTP API Status Codes Explained with Real-Time Examples

HTTP 500 Series Status Codes:
  • HTTP status codes in the 500 series are server error responses.
1. 500 Internal Server Error
  • It occurs when a server meets with an unexpected condition. It indicates that the server encountered an unexpected condition that prevented it from fulfilling the request. The exact cause of the error is not specified in the response, making it a generic error message.
Example:
  • Imagine you are using an online banking application. You have logged in successfully and want to transfer money to a friend. You fill out the form with the necessary details and hit the 'Transfer' button. Instead of processing the transaction, the application shows a '500 Internal Server Error message.
Cause:
  • This could be due to several reasons, such as a bug in the application code, an issue with the server configuration, or a problem with the database connection. For instance, if the code that processes the transaction has a programming error or the database server is down, the web server might not be able to complete your request, resulting in this error.

2. 501 Not Implemented
  • It indicates that a server doesn’t recognize the requested method or is unable to process that type of request.
Example:
  • Suppose you are using a RESTful API to manage your online store inventory. You send a request using a new HTTP method called 'PATCH' to update part of the inventory data.
Cause:
  • If the server you are communicating with has not been programmed to handle the PATCH method, it will return a 501 Not Implemented error. The server might only support GET, POST, PUT, and DELETE methods, and hence does not understand or implement the PATCH method.
  
3. 502 Bad Gateway
  • It happens when a server receives an invalid response from the upstream server.
Example:
  • You are trying to access a news website. The website's server needs to fetch the latest news articles from another server (an upstream server).
Cause:
  • If the upstream server is down or returns a corrupted response, the main server cannot retrieve the necessary data and responds with a 502 Bad Gateway error. This typically happens in complex server architectures where one server relies on another to get the required information.
  
4. 503 Service Unavailable
  • It indicates that the server is temporarily down for maintenance or overloaded.
Example:
  • A popular e-commerce website announces a flash sale. As the sale goes live, thousands of users try to access the website simultaneously.
Cause:
  • The sudden surge in traffic overwhelms the server, which cannot handle the volume of requests, leading to a 503 Service Unavailable error. Alternatively, if the website administrators are performing maintenance, they might take the server offline temporarily, resulting in this error.
  
5. 504 Gateway Timeout
  • It occurs when a server doesn’t receive a response on time from the upstream server.
Example:
  • You are using an online travel booking site to book a flight. The site needs to check availability with the airline's server.
Cause:
  • If the airline's server takes too long to respond, the booking site's server might time out while waiting for the response, resulting in a 504 Gateway Timeout error. This usually occurs in distributed systems where one service depends on another for data.
 
6. 505 HTTP Version Not Supported
  • It indicates that the server doesn’t support the HTTP protocol version used in the request.
Example:
  • You are using an old web browser to access a modern web application.
Cause:
  • If your browser sends a request using HTTP/1.0, but the server only supports HTTP/1.1 or HTTP/2, it will respond with a 505 HTTP Version Not Supported error.
  

HTTP 400 Series Status Codes:
  • HTTP status codes in the 400 series are client error responses. These indicate that the request made by the client (e.g., a web browser) was incorrect or cannot be processed by the server. 
1. 400 Bad Request
  • The server cannot understand the request due to malformed syntax.
Example:
  • You try to search for a product on an e-commerce website, but you accidentally enter invalid characters in the search box. The server doesn't understand your request and returns a 400 Bad Request error.
  
2. 401 Unauthorized
  • The request requires user authentication. The client must authenticate itself to get the requested response.
Example:
  • You try to access your email account without logging in. The server responds with a 401 Unauthorized error, asking you to log in first.
  
3. 403 Forbidden
  • It is sent when a user doesn’t have permission to access the requested page.
Example:
  • You try to access a restricted page on a company's internal website without the necessary permissions. Even if you are logged in, you get a 403 Forbidden error because you don't have the right access level.
  
4. 404 Not Found
  • The server cannot find the requested resource. This is the most common error.
Example:
  • You click on a broken link or type in a URL that doesn't exist on a website. The server returns a 404 Not Found error because the page you're looking for cannot be found.
  
5. 405 Method Not Allowed
  • The request method is known by the server but is not supported by the target resource.
Example:
  • You try to submit data using a GET request instead of a POST request on a form submission page. The server responds with a 405 Method Not Allowed error.
  
6. 408 Request Timeout
  • The server did not receive a complete request message within the time that it was prepared to wait.
Example:
  • Your internet connection is slow, and it takes too long to send a request to a website. The server times out and returns a 408 Request Timeout error.
  
7. 429 Too Many Requests
  • The user has sent too many requests in a given amount of time ("rate limiting").
Example:
  • You try to log in to your account multiple times in quick succession, and the server temporarily blocks further requests, returning a 429 Too Many Requests error.

๐Ÿ‘‹ Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.

๐Ÿ“ฌ Contact Me | LinkedIn | GitHub

๐Ÿ“Œ Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.

Friday, June 14, 2024

Top Things to Test in E-commerce Applications – Complete QA Checklist

  •  E-commerce applications have many users worldwide, dealing with finance, marketing, retail & wholesale, manufacturing, and auctions.
1. Testing E-commerce Application’s Functionality

An e-commerce web or mobile application has four important elements in its structure, and they are:
  • Main Pages – Homepage, Product page, Special Offers, About Us page, Sitemap pages, Privacy Policy page, Press Releases page, etc.
  • Category / Product Type Pages – The product page includes options such as product size, colour, and type. There is a sorting feature to filter out products based on price, model, size, etc. There is also the “Add to Cart” or “Add to Wishlist” feature present in the category pages.
  • Product Description Page – Consists of the product title, description, product images, related products, Add to Cart feature, Product comparison, additional product info, etc.
  • Shopping Cart – Products list view, removing the product from the list, cash on delivery option, Select delivery option, card payment, pay now option, etc.
2. Testing E-commerce Application Workflow
  • Login and Signup options
  • Search functionality
  • Product review posting feature
  • Sorting feature
  • Applying filters for choosing the desired product(s)
  • Add/remove functionality in the shopping cart
  • Check out process
  • Order number and invoice generation
  • Payment gateway and payment processing
3. Payment Gateway Functionality
  Another important functionality to test is the payment gateway and you have to conduct multiple tests to ensure it functions properly and provides security while doing online transactions. Here are the checkout and payment processes that you need to test:
  • You need to check the product price is correct, the shipping charge, VAT, and discount codes are applied and the price the customer has to pay is the right amount. You can test this payment process by making changes to the final list of products, applying different discount coupon codes, and choosing a different region to see the change in shipping charges.
  • You need to check whether the payment is processed correctly, by using all kinds of payment methods such as net banking, Credit/Debit card, PayPal, etc. You can check all these using dummy accounts and demo debit/credit card numbers. Also, you need to check whether the orders are cancelled, and the payment ID sent back.
  • Check whether the invoices and emails generated after the payment process are sent.
  • You need to also ensure the refund process, email, and refund receipt all are working properly.
4. Other Common Things to be Tested
  • There are other common things in your e-commerce application you need to test and they include website content, webpage format, website accessibility, cookies, social buttons, adding/deleting content, removing/adding links, web standards, analytics, and making changes to shipping settings.

5. Performing Security and Vulnerability Assessments

6. Checking Compatibility with Web Browsers

7. Testing for Mobile Responsiveness

8. Checking Performance and SEO-related Things

9. Social Media Integration

๐Ÿ‘‹ Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.

๐Ÿ“ฌ Contact Me | LinkedIn | GitHub

๐Ÿ“Œ Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.

Monday, June 10, 2024

Top Real-Time Software Testing Interview Questions and Answers – Part 1

1. What are the three types of authentication?
  • Authentication is crucial to security, ensuring that only authorized users gain access to systems, applications, and data. There are three main types of authentication methods:
Something You Know:
  • This type of authentication relies on information that the user knows.
  • Examples: Passwords, PINs, security questions, or passphrases.
  • Advantages: Easy to implement and use.
  • Disadvantages: Can be vulnerable to social engineering, phishing attacks, or being guessed.
Something You Have:
  • This type of authentication depends on something the user possesses.
  • Examples: Physical tokens, smart cards, mobile devices, security keys, or one-time password (OTP) generators.
  • Advantages: Adds a layer of security that is more difficult to breach compared to just using passwords.
  • Disadvantages: Can be lost, stolen, or damaged, and may require additional hardware.
Something You Are:
  • This type of authentication uses the inherent characteristics of the user.
  • Examples: Biometric authentication methods such as fingerprints, facial recognition, iris scans, voice recognition, or behavioural biometrics.
  • Advantages: Provides a high level of security since biometric traits are unique to individuals.
  • Disadvantages: It can be more expensive to implement and may have privacy concerns; some biometric systems can be tricked or spoofed.

2. What is a critical bug?
  • A critical bug is a bug that impacts a major functionality of the application. This means affecting a large area of the functionality or breaking any functionality; there is no other method to overcome this problem. The application cannot be delivered to the end user unless the critical bug is fixed.
  • For example, on a shopping website like Amazon, the following bugs will be classified as critical:
            Cannot log in to your account.
            Cannot checkout.
            The system crashes after payment.
            The product's price is not displayed.

Major:
  • A major defect is a defect that leads to the failure of a crucial part of the application.
  • For example, on a shopping website like Amazon, the following bugs will be categorized as major:
            Search results do not match the search query.
            Cannot use debit cards during checkout. (But can use credit cards and other payment options).
            Product reviews are not displayed.

Minor:
  • A minor defect is a defect that causes problems in some unimportant or niche functionality of the system.
  • For example, on a shopping website like Amazon, the following bugs will be deemed minor:
            Cannot search past orders that are more than a year old.
            Cannot compare more than three products at a time.
            Thumbnails of product photos uploaded by users are unclear.

3. What are the impacts caused by a failure in white box testing?
  • White-box testing is a software testing method that focuses on the internal structure of the code.
  • This type of testing is often used to identify defects in the code, such as logic errors, syntax errors, and data-handling errors.
  • If defects are not identified and fixed early in the development process, they can be more expensive to fix later on. This is because it may take longer to find the root cause of the defect, and the fix may require changes to more code.

4. What bugs mainly come in Web testing?
  • Issues in the navigation of the application - The flow of the site is not consistent.
  • Usability - The application is not user friendly and the interface is not easy to understand, or navigate and is not extractive.
  • Cosmetic Issues and GUI Issues - Cross browser application does not have a consistent look and feel, and Field level validations are not working.
  • Functional Issues.
  • Performance issues - How much time it takes to display the page to the user.
  • Load - How much load an application can handle at any point in time.
  • Stress - At how much load the application will crash.
  • Flow of data - Information which is entered by the user is stored in the correct format.

5. What is Usability testing in web testing?
  • Designers should always remember that the experience of the user on their website must be as pleasant as possible. How the user interacts with the website is very important.
  • While doing usability testing of a web application:
           Font of the fields.
           Colour of the validation messages and fields.
           Mandatory fields should be in an asterisk symbol.
           Alignment of the fields.
           Showing the Next/previous link in a data grid if the application count reaches 10.
           Navigational link.
           All pages should have a heading consistently.
           User-friendly validation messages in each and every operation.
           Size, shape and arrangements of Iframe, panel, tables, text boxes, radio buttons etc.

6. What are the typical problems in web testing?
  • Security: Authentication Issues, data not encrypted, User privileges leaks, SQL injection can done, cross side scripting, cookie testing etc.
  • Session Issues: Session of page not maintained.
  • GUI issues: Page resize issues, alignment of page, page refresh issues, look & feel, broken links, bad hyperlinks, spelling etc.
  • Pages on the website are not properly validated and do not conform to industry standards (CSS, HTML/XHTML).
  • The application's business logic is not proper.
  • User inputs are not properly validated.
  • User inputs do not meet technical specifications.
  • Error messages are not generated or are incorrect.
  • Web page design (fonts, colour scheme, layout) does not meet requirements.
  • Broken links.
  • Feeds do not work properly.
  • Pages are not accessible to the visually impaired.
  • Copyright information is incorrect.
  • Images have not been optimized or do not otherwise meet requirements.
  • Cookies don't work properly.
  • Web clients can't handle some of the messages returned by the server.
  • Pages don't render properly with some operating systems and/or browsers.
  • Data obtained through web pages are not captured and/or stored properly in the database.
  • It takes too long for some pages to render.
  • Performance lags when there are numerous simultaneous users.
  • Users have inappropriate access to roles or content.
  • User problems with login (password strength, failure to track login attempts, etc).
  • Concurrency issues (session problems) when multiple users are on the same page and/or when a single user is on multiple windows of the same page.
  • The server log does not properly track transactions.
  • The website does not properly use SSL.

7. There are 3 mandatory fields and 3 optional fields: How many possible test cases can be written?
  • Submit the page with empty optional fields and verify whether the validation messages are shown for optional fields.
  • Each time leave any one of the optional fields, submit the page and verify whether the validation messages are shown.
  • Submit the page with empty mandatory fields and verify whether the validation messages are shown for mandatory fields.
  • Each time leave any one of the mandatory fields, submit the page and verify whether the validation messages are shown.

8. Examples of Severity and Priority of all combination
       Priority is how soon the issue needs to be resolved. Severity defines the impact of the issue.
  • High severity low priority: Logo of the company.
  • High severity high priority: Submit button of login page not working or page not displaying.
  • Low severity high priority: Cosmetic error or spelling mistake on the login page. It's a small bug but has high priority as it's on the main login page.
  • Low severity low priority: spelling mistakes in text of home screen.

9. What is RTM? How is it useful in testing?
  • The Requirement Traceability Matrix (RTM) captures all requirements proposed by client or development team. Used to check all testcases are covered, so that no functionality should miss.

10. The exact difference between alpha and beta testing
  • Alpha Testing: Pre-release testing by end-user representatives at the developer site.
  • Beta Testing: Done by a selective group of users (Normal Users). For example: Apps like Yahoo Messenger, and Firefox release their beta version to users and get their feedback.

๐Ÿ‘‹ Hi, I'm Suriya — QA Engineer with 4+ years of experience in manual, API & automation testing.

๐Ÿ“ฌ Contact Me | LinkedIn | GitHub

๐Ÿ“Œ Follow for: Real-Time Test Cases, Bug Reports, Selenium Frameworks.