icon picker
Quick Learning

Different types of Testing

1. Smoke Testing 🚬 Smoke testing in web development involves a quick check to ensure the core functionalities of a web application are working before delving into more detailed testing. Scenario: You've just launched a new e-commerce website. Before conducting detailed tests, you quickly check if:
The homepage loads.
Users can log in.
The search function works.
Users can add items to the cart and proceed to checkout.
If any of these core features fail, you halt further testing and address the issues immediately. 2. Sanity Testing 🧠 Sanity testing is a narrow and deep testing approach focusing on specific parts of the web application after minor changes or bug fixes. Scenario: A developer fixed a bug where the 'Add to Wishlist' button wasn't working on the product page. You perform sanity testing by:
Verifying that the 'Add to Wishlist' button now works correctly.
Ensuring that the wishlist updates and displays the added items.
You don't test the entire website, just the parts related to the bug fix. 3. Regression Testing 🔄 Regression testing ensures that recent changes or updates to the web application haven’t adversely affected existing functionalities. It involves re-running previously conducted tests to confirm everything still works as intended. Scenario: Your team added a new feature allowing users to filter products by color. To ensure this new feature didn't break anything, you conduct regression testing:
Check if the login process still works.
Verify the search function and cart functionality.
Ensure the checkout process and payment gateway are still operational.
Test previously fixed bugs to ensure they haven't resurfaced.
4. Retesting 🔁 Retesting focuses on verifying that specific defects have been fixed. Unlike regression testing, it centers on the failed test cases that have been corrected. Scenario: There was a bug where the contact form on the website wasn't submitted properly. After the development team fixes it, you perform retesting by:
Submitting the contact form to ensure it works correctly now.
Checking if the form submission sends an email notification as expected.
You don't check other parts of the website, just the specific issue that was fixed. 𝐐𝐮𝐢𝐜𝐤 𝐑𝐞𝐜𝐚𝐥𝐥:
Smoke Testing 🚬: Quick checks to ensure the core functionalities of a web application are working.
Sanity Testing 🧠: Focused checks on specific parts after minor changes or bug fixes.
Regression Testing 🔄: Comprehensive checks to ensure new changes haven’t broken existing functionalities.
Retesting 🔁: Re-checking specific issues to confirm they are fixed.
image.png


⛔ Bug vs ✴️Defect:

▪️Bug A bug is a flaw or error in the software that causes it to behave unexpectedly or incorrectly. Bugs typically arise during the development phase when the code doesn't work as intended. Bugs are identified by the testers and then reported to the developers for fixing. Example: •Bug: Let's say a calculator app shows 5 + 3 = 7 instead of 5 + 3 = 8. This is a bug in the arithmetic logic of the app. •Scenario: The developer mistakenly implemented the addition function incorrectly, causing an incorrect calculation. ▪️Defect: A deviation from the expected behavior of the software or from the requirements specified by the client. Defects are generally identified after the product is released or during the testing phase. A defect could be due to various reasons, such as incorrect requirements, design flaws, or coding errors. Example: •Defect: In a banking application, the requirement states that users should be able to transfer up to $10,000 per day. However, the application incorrectly allows users to transfer only $5,000. •Scenario: The defect here lies in the mismatch between the requirements and the actual implementation. Summary: •Bug: Focuses on the error in code or logic that causes incorrect behavior. •Defect: Focuses on the deviation from the specified requirements or expected behavior.

image.png

Difference between verification and validation

Verification. The process of thoroughly checking software to ensure it functions without errors. Determining whether the created product meets all the necessary non-functional requirements and successfully achieves its intended purpose is crucial. The question it answers is: “Are we building the product right?”
Validation. The process of ensuring that the software product meets the necessary standards or high-level requirements. It involves checking whether the actual product aligns with the expected product. Essentially, we’re answering the question: “Are we building the right product for the user’s requirements?”


Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
CtrlP
) instead.