Skip to content

Instantly share code, notes, and snippets.

View mfaisalkhatri's full-sized avatar
🎯
Focusing

Mohammad Faisal Khatri mfaisalkhatri

🎯
Focusing
View GitHub Profile
@mfaisalkhatri
mfaisalkhatri / playwright_codegen_vs_ai.md
Last active April 24, 2026 14:43
Comparision between Playwright Codegen and AI
Criteria Playwright Codegen Playwright with AI (Playwright MCP with Claude or GitHub Copilot)
How it works Records user interactions and generates scripts based on browser actions. It can also automatically generate toBeVisible() assertions. Generates and executes tests based on natural language prompts.
Input Method Manual interaction with the browser (click, type, navigate). Instructions are provided in plain English text describing the test scenario.
Understanding Context Does not understand business logic, only records actions. It can understand context, business rules, and expected outcomes from prompts.
Speed of Test Script Creation The automation scripts are automatically generated after the user interacts with the website. As soon as the user inputs the prompt, the test scripts and execution begin.
Exploratory Testing Not suitable for exploratory
@mfaisalkhatri
mfaisalkhatri / PATCH_vs_PUT.md
Last active April 7, 2026 12:18
Difference between PATCH and PUT APIs.
Criteria PATCH PUT
Purpose Partially updates a resource Completely replaces a resource
Request Body Only includes fields that need to be updated Requires the full resource representation
Data Sent Only changed fields Entire data payload
Idempotency Not always idempotent Always idempotent
Use Case Updating specific fields Replacing an entire record
Risk of Data Loss Low, as t
Criteria PUT POST
Purpose It is used to update or replace an existing resource entirely. It is used to create a new resource or submit data to a resource.
Idempotency It is Idempotent, multiple identical requests result in the same outcome. It is not idempotent, multiple identical requests may create multiple records.
Response Status Code Commonly returns 200 OK with updated resource. Commonly returns 201 Created with the new resource details.
Use Case Example Updating a user’s profile information. Creating a new user account.
Criteria Gherkin Cucumber
Definition A Domain-Specific Language (DSL) A test automation tool/framework
Purpose To explain the business feature in plain text To execute the behaviour specified in the feature files as automated tests
File Format Uses .feature file format (contains test scenarios) Uses .java, .rb, .js files (step definition files)
Syntax Feature, Given, When, Then, And/But, Scenario, Examples, etc. Uses programming language syntax
Dependencies None – Just uses plain text Depends on the programmi
Interface Name .xls Implementation Class Name .xlsx Implementation Class Name
Workbook HSSFWorkbook XSSFWorkbook
Sheet HSSFSheet XSSFSheet
Row HSSFRow XSSFRow
Cell HSSFCell XSSFCell
Programming Language Exception Name
Java ElementClickInterceptedException
C# OpenQA.Selenium.ElementClickInterceptedException
Ruby ERROR: element click intercepted
Python selenium.common.exceptions.ElementClickInterceptedException
JavaScript WebDriverError: element click intercepted:
Criteria Sanity Testing Regression testing
Goal The goal of sanity testing is to check that the application is stable enough to proceed with further testing of the entire application. The goal of regression testing is to ensure that the new code changes does not break the existing functionality of the software.
Scope The scope of sanity testing is to verify only the specific functionality, verifying the bug fix or configuration or environment related changes. Regression testing covers overall software or critical features of the software to verify everything is working as expected.
When Performed? Sanity testing is performed after minor bug fixes, enhancements or before getting into comprehensive testing. Regression testing is performed after a new feature is added to the software or major rework is done.
Test Cases Used Basic functional test cases like
Criteria Smoke Testing Regression testing
Goal The goal of smoke testing is to uncover the critical or blocker issues in the application using the test cases that cover important functionalities of the software. The goal of regression testing is to ensure that the new code changes does not break the existing functionality of the software.
Scope Smoke testing verifies the stability of the software by testing critical user journeys of the software. Regression testing covers overall software features to verify if everything is working as expected.
When Performed? Smoke testing should be performed after a new build is released after major code changes. Regression testing is performed after a new feature is added to the software or major rework is done.
Test Cases Used Test Cases related to critical functionalities of the software are used in
@mfaisalkhatri
mfaisalkhatri / regression_retesting_compare.md
Last active July 26, 2025 15:10
Regression Testing Vs Retesting
Criteria Regression Testing Retesting
Goal The goal of regression testing is to make sure that the new code changes does not break the existing functionality of the software. The goal of retesting is to make sure that the reported bug has been fixed after code changes.
Scope Regression testing covers overall software or critical features of the software to check if everything is working as expected. Retesting covers only the specific failed test case or scenario.
When Performed? Regression testing is performed after a new feature is added to the software or major rework is done. Retesting is performed after the failed test cases are fixed.
Test Cases Regression testing considers the passed as well as failed test cases to check the overall stability of the software. Retesting covers only the specific failed test cases/scenarios.
Example Adding new option to si
Criteria Smoke Testing Sanity Testing
Goal The goal of smoke testing is to uncover the critical or blocker issues in the application using the test cases that cover important functionalities of the application. The goal of sanity testing is to check that the application is stable enough to proceed with further testing of the entire application.
Scope The scope of smoke testing is to check the stability of the application by testing critical user journeys of the software. The scope of sanity testing is to check only the specific functionality, verifying the bug fix or configuration or environment related changes.
When Performed? Smoke testing should be performed after a new build is released after major code changes. Sanity testing is performed after minor bug fixes, enhancements or before getting into comprehensive testing.
Test Cases Test Ca