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?”

What is Monkey Testing? 🐵

Monkey Testing is a type of software testing where the system is tested randomly without predefined test cases. The objective is to identify unexpected bugs by simulating unpredictable user behavior. Testers or automated tools provide random inputs to check if the system crashes or behaves abnormally. Key Features of Monkey Testing 🛠️ ✅ Random Inputs: Testers enter data randomly without any logical sequence. ✅ No Predefined Test Cases: The testing does not follow a structured approach. ✅ Automation and Manual Execution: It can be performed manually or using automated tools. ✅ Stress Testing Capability: Helps identify unexpected crashes and performance issues. ✅ Identifies Unexpected Bugs: Focuses on uncovering rare or hidden defects. Types of Monkey Testing 🏷️ 1️⃣ Dumb Monkey Testing 🤪 The tester has no prior knowledge of the system. Inputs are given randomly without considering valid user actions. Mostly used to check system stability. 2️⃣ Smart Monkey Testing 🧐 The tester has some understanding of the system. Inputs are given based on possible user behavior. Ensures that essential functions work correctly under random conditions. 3️⃣ Brilliant Monkey Testing 🧠 The tester is highly knowledgeable about the system. Focuses on edge cases and complex scenarios. Identifies hidden bugs that may not be detected through structured testing. Examples of Monkey Testing 🎯 🔹 Clicking random buttons in a mobile application to check for unexpected crashes. 🔹 Entering random characters in a login or search field to test system response. 🔹 Sending continuous random data to a server to check its stability and performance. 🔹 Randomly navigating through a website to test its functionality.

Why do management think that QAs are doing nothing?

They think that QAs are doing nothing. But I believe they should know the reality check. Read below.... What QAs are doing in their Job? 1️⃣ 𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝗮𝗹 𝗧𝗲𝘀𝘁𝗶𝗻𝗴: 𝗧𝗵𝗲 𝗕𝗮𝘀𝗶𝗰𝘀: Unit Testing: Isolating individual code units to ensure they work as expected. Think of it as testing each brick before building a wall. Integration Testing: Verifying how different modules work together. Imagine testing how the bricks fit into the wall. System Testing: Putting it all together, ensuring the entire system functions as designed. Now, test the whole building for stability and functionality. Acceptance Testing: The final hurdle! Here, users or stakeholders confirm the software meets their needs. Think of it as the grand opening ceremony for your building. 2️⃣ 𝗡𝗼𝗻-𝗙𝘂𝗻𝗰𝘁𝗶𝗼𝗻𝗮𝗹 𝗧𝗲𝘀𝘁𝗶𝗻𝗴: 𝗕𝗲𝘆𝗼𝗻𝗱 𝘁𝗵𝗲 𝗕𝗮𝘀𝗶𝗰𝘀: ️ Performance Testing: Assessing speed, responsiveness, and scalability under different loads. Imagine testing how many people your building can safely accommodate. Security Testing: Identifying and mitigating vulnerabilities to protect against cyberattacks. Think of it as installing security systems and testing their effectiveness. Usability Testing: Evaluating how easy and intuitive the software is to use. Imagine testing how user-friendly your building is for navigation and accessibility. 3️⃣ 𝗢𝘁𝗵𝗲𝗿 𝗧𝗲𝘀𝘁𝗶𝗻𝗴 𝗔𝘃𝗲𝗻𝘂𝗲𝘀: 𝗧𝗵𝗲 𝗦𝗽𝗲𝗰𝗶𝗮𝗹𝗶𝘇𝗲𝗱 𝗖𝗿𝗲𝘄: Regression Testing: Ensuring new changes haven't broken existing functionality. Imagine checking your building for cracks after renovations. Smoke Testing: A quick sanity check to ensure basic functionality before further testing. Think of turning on the lights and checking for basic systems functionality before a deeper inspection. Exploratory Testing: Unstructured, creative testing to uncover unexpected issues. Imagine a detective searching for hidden clues in your building.
image.png

𝗠𝗮𝘀𝘁𝗲𝗿𝗶𝗻𝗴 𝗦𝗼𝗳𝘁𝘄𝗮𝗿𝗲 𝗧𝗲𝘀𝘁𝗶𝗻𝗴: 𝗔 𝗦𝘁𝗿𝘂𝗰𝘁𝘂𝗿𝗲𝗱 𝗕𝗿𝗲𝗮𝗸𝗱𝗼𝘄𝗻 🛠️

Software testing is the backbone of quality assurance, ensuring robust and reliable applications. Here’s a structured overview of Testing Types & STLC Phases every QA professional should know: 🔹 1. Static Testing (Verification - Prevent Defects) ✅ Reviews (Early defect prevention) 🔹 Informal Review → Unstructured discussions & feedback 🔹 Walkthrough → Author-led defect identification 🔹 Technical Review → Focus on technical correctness 🔹 Inspection → Formal defect logging ✅ Static Analysis (Code-level validation) 🔹 Code Analysis → Identify issues in source code 🔹 Code Coverage → Measure tested code percentage 🔹 Compliance Checking → Ensure coding standards 🔹 2. Dynamic Testing (Validation - Find Defects) 💡 Functional Testing (Ensures expected functionality) 🔹 Unit Testing → Validates individual components 🔹 Integration Testing → Tests data flow between modules 📌 Top-Down | Bottom-Up | Big Bang 🔹 System Testing → Validates end-to-end functionality 🔹 Regression Testing → Ensures changes don’t break existing features 🔹 Smoke & Sanity Testing → Quick stability checks 🔹 User Acceptance Testing (UAT) → Final validation by end-users 💡 Non-Functional Testing (Evaluates quality attributes) 🔹 Performance Testing → Speed & stability 📌 Load | Stress | Scalability | Volume Testing 🔹 Security Testing → Protects against vulnerabilities 🔹 Usability Testing → Enhances user-friendliness 🔹 Compatibility Testing → Ensures cross-device functionality 🔹 Reliability & Compliance Testing → Stability & industry standards 💡 Maintenance Testing (Post-deployment validation) 🔹 Retesting → Confirms bug fixes 🔹 Regression Testing → Ensures new changes don’t introduce issues 🔹 Patch Testing → Validates minor updates 🔹 Software Testing Life Cycle (STLC) 1️⃣ Requirement Analysis → Understanding test objectives 2️⃣ Test Planning → Defining test strategies 3️⃣ Test Case Development → Writing structured test cases 4️⃣ Environment Setup → Preparing the test environment 5️⃣ Test Execution → Running tests & defect logging 6️⃣ Test Closure → Reporting & documentation 🛠️ Software testing isn’t just about finding bugs—it’s about delivering seamless, high-quality software that meets user expectations. ​
image.png
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.