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

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.

Thursday, February 1, 2024

Exploring the Different Types of Software Testing

 Overview of web app testing scope


1. Functional Testing


2. Usability Testing

3. Performance Testing


4. Security Testing


5. Compatibility Testing


6. Interface Testing


๐Ÿ‘‹ 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, June 28, 2023

How to Quickly Refresh Your Browser in Selenium Java

1. Navigate the refresh method
driver. navigate().refresh();

2. Get the current URL
driver.get(driver.getCurrentUrl());

3. Javascript Executor
JavascriptExecutor executor=(JavascriptExecutor) driver;
executor.executeScript("location.reload()");

4. Robot class
Robot robot=new Robot();
robot.keyPress(KeyEvent.VK_F5);
robot.keyRelease(KeyEvent.VK_F5);

๐Ÿ‘‹ 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, May 11, 2023

Exploring the Common API Terminology You Need to Know

  1. REST (Representational State Transfer): An architectural style for designing networked applications, typically using HTTP as the underlying protocol.
  2. SOAP (Simple Object Access Protocol): A protocol for exchanging structured information in web services using XML-based messages.
  3. JSON (JavaScript Object Notation): A lightweight data-interchange format that is easy for humans to read and write, and easy for machines to parse and generate.
  4. OAuth (Open Authorization): An open standard for authorization that allows users to grant access to their protected resources without sharing their credentials.
  5. SDK (Software Development Kit): A set of tools, libraries, and documentation that developers use to build applications for a specific platform or programming language.
  6. SDK Client: A software component or library that provides an interface for interacting with an API from within an application.
  7. API client: A program or tool that interacts with an API on behalf of a user or system.
  8. API key: A secret token or credential to authenticate a user or system when accessing an API.
  9. Authentication: The process of verifying the identity of a user or system attempting to access an API.
  10. Authorization: The process of determining whether a user or system has permission to access a specific resource or perform a particular action.
  11. Endpoint: A URL that represents a specific resource or action within an API.
  12. HTTP verb/method: The type of request being made (e.g., GET, POST, PUT, DELETE) that determines the action to be taken on a resource.
  13. Rate Limiting: The process of restricting the number of requests a client can make to an API within a given time period to prevent abuse or ensure fair usage.
  14. Webhooks: A mechanism for receiving real-time notifications from an API by sending HTTP requests to a specified URL when a specific event occurs.
  15. CORS (Cross-Origin Resource Sharing): A mechanism that allows resources (e.g., fonts, JavaScript) on a web page to be requested from another domain outside the domain from which the resource originated.
  16. API Gateway: A server that acts as an entry point for client requests and provides various features such as routing, authentication, and rate limiting for backend APIs.
  17. Bearer Token: A type of access token used in authentication, where the token is presented by the client to access protected resources.
  18. GraphQL (Graph Query Language): A query language and runtime for APIs that provide a flexible and efficient approach to request and manipulate data.
  19. Versioning: The practice of assigning a version number to an API to manage changes, additions, or removals of functionality over time.
  20. Payload: The data transmitted in a request or response body, typically in formats like JSON or XML.
  21. Pagination: The process of dividing a large data set into smaller pages or chunks to improve performance and limit the amount of data transferred in a single response.
  22. Content-Type: An HTTP header that specifies the media type of the data being sent or received in a request or response.
  23. API Documentation: Comprehensive and structured information about an API, including endpoints, request/response formats, parameters, and example usage.
  24. API Key: A unique identifier or token provided to a client application for authentication and authorization purposes when making API requests.
  25. Query parameter: A way to pass additional information to an API endpoint through the URL query string.
  26. Asynchronous API: An API design pattern where the client can send a request to the server and receive a response at a later time, without blocking the client's execution until the response is received.

๐Ÿ‘‹ 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.