<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Sri Lakshmi</title>
    <description>The latest articles on DEV Community by Sri Lakshmi (@srilakshmi).</description>
    <link>https://dev.to/srilakshmi</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3128196%2Fdd608d65-6f73-4d7e-b43e-0f0d489df7ec.png</url>
      <title>DEV Community: Sri Lakshmi</title>
      <link>https://dev.to/srilakshmi</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/srilakshmi"/>
    <language>en</language>
    <item>
      <title>Software Testing Cheat Sheet</title>
      <dc:creator>Sri Lakshmi</dc:creator>
      <pubDate>Tue, 06 May 2025 17:37:01 +0000</pubDate>
      <link>https://dev.to/srilakshmi/software-testing-cheat-sheet-5c3b</link>
      <guid>https://dev.to/srilakshmi/software-testing-cheat-sheet-5c3b</guid>
      <description>&lt;h2&gt;
  
  
  Core Concepts
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is Software Testing?
&lt;/h3&gt;

&lt;p&gt;Process to verify software meets requirements and works as expected. Identifies bugs, gaps, and missing functionality before release. Ensures quality, reliability, and proper functionality.&lt;/p&gt;

&lt;h3&gt;
  
  
  Why Testing Matters
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Early Defect Detection&lt;/strong&gt;: Finds bugs when they're cheaper to fix&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Quality Assurance&lt;/strong&gt;: Ensures product meets standards and requirements&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Customer Satisfaction&lt;/strong&gt;: Delivers reliable, functional products&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Risk Mitigation&lt;/strong&gt;: Prevents costly failures in production&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Performance Verification&lt;/strong&gt;: Confirms system performs as expected under various conditions&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Testing Principles
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Testing shows defects exist, not their absence&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exhaustive testing is impossible&lt;/strong&gt; - use risk-based approaches instead&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Early testing saves time and money&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Defects cluster&lt;/strong&gt; in specific modules (80/20 rule)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pesticide paradox&lt;/strong&gt;: Tests lose effectiveness if not updated regularly&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Testing depends on context&lt;/strong&gt; - different applications need different approaches&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Bug-free doesn't mean useful&lt;/strong&gt; - software must meet user needs&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Test Strategy &amp;amp; Planning
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Test Strategy
&lt;/h3&gt;

&lt;p&gt;Organization-level approach defining general testing principles, tools, and processes. Includes risk-based testing approaches and overall methodology.&lt;/p&gt;

&lt;h3&gt;
  
  
  Test Planning
&lt;/h3&gt;

&lt;p&gt;Project-specific document detailing what, when, how, and by whom testing will be performed. Includes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Scope and objectives&lt;/li&gt;
&lt;li&gt;Test deliverables&lt;/li&gt;
&lt;li&gt;Features to test/not test&lt;/li&gt;
&lt;li&gt;Testing schedule&lt;/li&gt;
&lt;li&gt;Resource allocation&lt;/li&gt;
&lt;li&gt;Entry/exit criteria&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Test Design
&lt;/h3&gt;

&lt;p&gt;Creation of test cases based on requirements. Includes test conditions, test data, expected results, and execution procedures. Ensures requirements coverage.&lt;/p&gt;

&lt;h3&gt;
  
  
  Test Execution
&lt;/h3&gt;

&lt;p&gt;Process of running test cases against the application. Involves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Preparing test environment&lt;/li&gt;
&lt;li&gt;Executing test scripts&lt;/li&gt;
&lt;li&gt;Logging results&lt;/li&gt;
&lt;li&gt;Reporting defects&lt;/li&gt;
&lt;li&gt;Retesting fixes&lt;/li&gt;
&lt;li&gt;Regression testing&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Testing Types
&lt;/h2&gt;

&lt;h3&gt;
  
  
  By Execution Method
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Manual Testing&lt;/strong&gt;: Human execution following test cases&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automated Testing&lt;/strong&gt;: Using scripts and tools for repetitive tests&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  By Knowledge of Structure
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Black Box&lt;/strong&gt;: Testing without knowledge of internal code - focuses on inputs/outputs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;White Box&lt;/strong&gt;: Testing with code knowledge - focuses on code paths and coverage&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Gray Box&lt;/strong&gt;: Combination approach with limited internal knowledge&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  By Testing Level
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Unit Testing&lt;/strong&gt;: Tests individual components in isolation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Integration Testing&lt;/strong&gt;: Tests component interactions&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;System Testing&lt;/strong&gt;: Tests complete integrated system&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Acceptance Testing&lt;/strong&gt;: Verifies user requirements are met&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Functional Testing Types
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Smoke Testing&lt;/strong&gt;: Quick check for critical functionality&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sanity Testing&lt;/strong&gt;: Focused check after minor changes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Regression Testing&lt;/strong&gt;: Ensures changes don't break existing functionality&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interface Testing&lt;/strong&gt;: Verifies communication between components&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Non-Functional Testing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Performance Testing&lt;/strong&gt;: Speed, scalability, stability&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Load Testing&lt;/strong&gt;: Behavior under expected load&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stress Testing&lt;/strong&gt;: Behavior beyond normal capacity&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Security Testing&lt;/strong&gt;: Vulnerability identification&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Usability Testing&lt;/strong&gt;: User experience quality&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Compatibility Testing&lt;/strong&gt;: Works across environments&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Bug Management
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Bug Life Cycle
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;New&lt;/strong&gt;: Bug identified and reported&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Assigned&lt;/strong&gt;: Developer tasked with fixing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Open/In Progress&lt;/strong&gt;: Under investigation&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fixed&lt;/strong&gt;: Solution implemented&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Verified&lt;/strong&gt;: QA confirms fix works&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Closed&lt;/strong&gt;: Issue resolved&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Reopened&lt;/strong&gt;: If issue returns after fix&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  Bug Classification
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Severity&lt;/strong&gt;: Impact on system functionality

&lt;ul&gt;
&lt;li&gt;Critical: System crash, data loss&lt;/li&gt;
&lt;li&gt;Major: Feature unusable&lt;/li&gt;
&lt;li&gt;Minor: Feature works with limitations&lt;/li&gt;
&lt;li&gt;Trivial: Cosmetic issues&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;li&gt;

&lt;strong&gt;Priority&lt;/strong&gt;: Order of fix implementation

&lt;ul&gt;
&lt;li&gt;High: Fix immediately&lt;/li&gt;
&lt;li&gt;Medium: Fix in current cycle&lt;/li&gt;
&lt;li&gt;Low: Fix when resources available&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;

&lt;/ul&gt;

&lt;h2&gt;
  
  
  Testing Techniques
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Black Box Techniques
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Equivalence Partitioning&lt;/strong&gt;: Divide inputs into valid/invalid groups, test one from each&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Boundary Value Analysis&lt;/strong&gt;: Test at input boundaries (min/max values)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Decision Table&lt;/strong&gt;: Test logical combinations of inputs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;State Transition&lt;/strong&gt;: Test system state changes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Use Case Testing&lt;/strong&gt;: Test user scenarios end-to-end&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Error Guessing&lt;/strong&gt;: Test based on experience where errors likely occur&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  White Box Techniques
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Statement Coverage&lt;/strong&gt;: Execute each line of code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Branch Coverage&lt;/strong&gt;: Execute each decision outcome (if/else paths)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Path Coverage&lt;/strong&gt;: Execute all possible code paths&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Loop Testing&lt;/strong&gt;: Test loops at 0, 1, and multiple iterations&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code Complexity&lt;/strong&gt;: Test based on cyclomatic complexity&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Test Documentation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Test Plan
&lt;/h3&gt;

&lt;p&gt;Document outlining overall testing approach, scope, schedule, deliverables, and resources.&lt;/p&gt;

&lt;h3&gt;
  
  
  Test Case
&lt;/h3&gt;

&lt;p&gt;Specific test condition with steps, data, and expected results:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Test ID and description&lt;/li&gt;
&lt;li&gt;Preconditions&lt;/li&gt;
&lt;li&gt;Test steps&lt;/li&gt;
&lt;li&gt;Expected results&lt;/li&gt;
&lt;li&gt;Actual results&lt;/li&gt;
&lt;li&gt;Pass/Fail status&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Requirements Traceability Matrix (RTM)
&lt;/h3&gt;

&lt;p&gt;Maps requirements to test cases ensuring complete test coverage. Tracks which requirements have passing/failing tests.&lt;/p&gt;

&lt;h2&gt;
  
  
  Test Data Management
&lt;/h2&gt;

&lt;p&gt;Strategies for creating, maintaining and using test data. Includes synthetic data generation, data masking, and maintaining test data integrity across test cycles.&lt;/p&gt;

&lt;h2&gt;
  
  
  Root Cause Analysis
&lt;/h2&gt;

&lt;p&gt;Process to identify underlying causes of defects. Uses techniques like 5 Whys, Fishbone diagrams, and Pareto analysis to prevent recurrence.&lt;/p&gt;

&lt;h2&gt;
  
  
  Debugging
&lt;/h2&gt;

&lt;p&gt;Systematic process to isolate, identify, and resolve bugs. Involves:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Reproducing the issue&lt;/li&gt;
&lt;li&gt;Isolating the source&lt;/li&gt;
&lt;li&gt;Analyzing code or conditions&lt;/li&gt;
&lt;li&gt;Fixing the root cause&lt;/li&gt;
&lt;li&gt;Verifying the solution&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Agile Testing
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Agile Testing Principles
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Tests continuously throughout development&lt;/li&gt;
&lt;li&gt;Whole team responsible for quality&lt;/li&gt;
&lt;li&gt;Test early, test often&lt;/li&gt;
&lt;li&gt;Automate regression tests&lt;/li&gt;
&lt;li&gt;Tests drive development (TDD)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Agile Testing Practices
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;TDD (Test-Driven Development)&lt;/strong&gt;: Write tests before code&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BDD (Behavior-Driven Development)&lt;/strong&gt;: Tests based on user behavior &lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;ATDD (Acceptance Test-Driven Development)&lt;/strong&gt;: Tests based on acceptance criteria&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Continuous Integration&lt;/strong&gt;: Tests run automatically with code commits&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Testing Quadrants&lt;/strong&gt;: Balance automated/manual, business/technology focused tests&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Test Automation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  When to Automate
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Repetitive tests (regression, smoke)&lt;/li&gt;
&lt;li&gt;Data-driven scenarios&lt;/li&gt;
&lt;li&gt;Performance/load testing&lt;/li&gt;
&lt;li&gt;High-risk functionality&lt;/li&gt;
&lt;li&gt;Cross-browser/platform tests&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Automation Frameworks
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Data-Driven&lt;/strong&gt;: Separate test data from logic&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Keyword-Driven&lt;/strong&gt;: Action keywords define test steps&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Hybrid&lt;/strong&gt;: Combines multiple approaches&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BDD&lt;/strong&gt;: Uses natural language specifications&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Popular Tools
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;UI Automation&lt;/strong&gt;: Selenium, Cypress, Playwright&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;API Testing&lt;/strong&gt;: Postman, RestAssured, SoapUI&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Mobile&lt;/strong&gt;: Appium, XCUITest, Espresso&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Performance&lt;/strong&gt;: JMeter, LoadRunner, Gatling&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CI/CD Integration&lt;/strong&gt;: Jenkins, GitHub Actions, GitLab CI&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Test Metrics
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Effectiveness Metrics
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Defect Density&lt;/strong&gt;: Defects per code size unit&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Defect Removal Efficiency&lt;/strong&gt;: % of defects found before release&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Requirements Coverage&lt;/strong&gt;: % of requirements tested&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Code Coverage&lt;/strong&gt;: % of code executed during tests&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Efficiency Metrics
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Test Execution Time&lt;/strong&gt;: Time to run test suite&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test Case Productivity&lt;/strong&gt;: Defects found per test case&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automation Coverage&lt;/strong&gt;: % of tests automated&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Cost per Defect&lt;/strong&gt;: Resources spent per defect found&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Tools and Reporting
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Test Management Tools
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;TestRail, Zephyr, qTest: Manage test cases and execution&lt;/li&gt;
&lt;li&gt;JIRA, Azure DevOps: Track defects and requirements&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Reporting Metrics
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Test execution progress&lt;/li&gt;
&lt;li&gt;Pass/fail ratios&lt;/li&gt;
&lt;li&gt;Defect trends&lt;/li&gt;
&lt;li&gt;Test coverage&lt;/li&gt;
&lt;li&gt;Open/closed defect counts&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Mobile and Web Testing Specifics
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Mobile Testing Challenges
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Device fragmentation&lt;/li&gt;
&lt;li&gt;OS versions&lt;/li&gt;
&lt;li&gt;Network conditions&lt;/li&gt;
&lt;li&gt;Battery usage&lt;/li&gt;
&lt;li&gt;Interruptions handling&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Web Testing Specifics
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Browser compatibility&lt;/li&gt;
&lt;li&gt;Responsive design&lt;/li&gt;
&lt;li&gt;Accessibility compliance&lt;/li&gt;
&lt;li&gt;Security (OWASP Top 10)&lt;/li&gt;
&lt;li&gt;Performance optimization&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Performance Testing
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Performance Testing Types
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Load Testing&lt;/strong&gt;: Normal load behavior&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stress Testing&lt;/strong&gt;: Breaking point identification&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Endurance Testing&lt;/strong&gt;: Long-duration stability&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spike Testing&lt;/strong&gt;: Sudden load increase handling&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Volume Testing&lt;/strong&gt;: Data volume impact&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Key Performance Metrics
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Response time&lt;/li&gt;
&lt;li&gt;Throughput&lt;/li&gt;
&lt;li&gt;Resource utilization&lt;/li&gt;
&lt;li&gt;Error rates&lt;/li&gt;
&lt;li&gt;Concurrent users capacity&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Security Testing
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Common Security Tests
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Authentication/authorization verification&lt;/li&gt;
&lt;li&gt;Input validation and sanitization&lt;/li&gt;
&lt;li&gt;Session management&lt;/li&gt;
&lt;li&gt;Data protection and encryption&lt;/li&gt;
&lt;li&gt;API security&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Security Testing Approaches
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Vulnerability scanning&lt;/li&gt;
&lt;li&gt;Penetration testing&lt;/li&gt;
&lt;li&gt;Security code review&lt;/li&gt;
&lt;li&gt;Compliance checking&lt;/li&gt;
&lt;li&gt;Threat modeling&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Common Interview Differences Questions
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Verification vs Validation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Verification&lt;/strong&gt;: Are we building the product right? (Reviews, inspections, walkthroughs)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Validation&lt;/strong&gt;: Are we building the right product? (Testing against requirements)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Testing vs Debugging
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Testing&lt;/strong&gt;: Finding defects/bugs in software&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Debugging&lt;/strong&gt;: Finding root cause and fixing bugs&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Severity vs Priority
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Severity&lt;/strong&gt;: Impact on functionality (critical, major, minor, trivial)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Priority&lt;/strong&gt;: Order of fix implementation (high, medium, low)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Quality Assurance vs Quality Control
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;QA&lt;/strong&gt;: Preventive process ensuring quality standards are met&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;QC&lt;/strong&gt;: Detective process finding defects in existing products&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Black Box vs White Box vs Grey Box
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Black Box&lt;/strong&gt;: No knowledge of internals, focus on inputs/outputs&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;White Box&lt;/strong&gt;: Full knowledge of code internals, focus on coverage&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Grey Box&lt;/strong&gt;: Limited knowledge of internals, combines both approaches&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Smoke Testing vs Sanity Testing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Smoke&lt;/strong&gt;: Basic verification that critical functionality works&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Sanity&lt;/strong&gt;: Focused check of specific functionality after changes&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Regression Testing vs Retesting
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Regression&lt;/strong&gt;: Ensuring unchanged areas still work after changes&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Retesting&lt;/strong&gt;: Verifying fixed defects work properly&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Alpha Testing vs Beta Testing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Alpha&lt;/strong&gt;: Testing by internal teams before release&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Beta&lt;/strong&gt;: Testing by real users in real environments before full release&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Static Testing vs Dynamic Testing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Static&lt;/strong&gt;: Reviewing code/documents without execution&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Dynamic&lt;/strong&gt;: Testing with actual code execution&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Load Testing vs Stress Testing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Load&lt;/strong&gt;: Testing at expected normal/peak loads&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Stress&lt;/strong&gt;: Testing beyond normal capacity until breaking point&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Manual Testing vs Automated Testing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Manual&lt;/strong&gt;: Human execution of test cases&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Automated&lt;/strong&gt;: Tool-based execution of scripted tests&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  System Testing vs Acceptance Testing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;System&lt;/strong&gt;: Testing complete integrated system against specifications&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Acceptance&lt;/strong&gt;: Verifying system meets business/user requirements&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Functional Testing vs Non-functional Testing
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Functional&lt;/strong&gt;: Testing what the system does&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Non-functional&lt;/strong&gt;: Testing how the system performs (performance, usability, security)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Test Plan vs Test Strategy
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Test Plan&lt;/strong&gt;: Project-specific detailed testing approach&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test Strategy&lt;/strong&gt;: Organization-level general testing guidelines&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Defect vs Error vs Failure vs Fault
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Error&lt;/strong&gt;: Mistake made by developer&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Defect/Bug&lt;/strong&gt;: Implementation that doesn't match requirements&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Failure&lt;/strong&gt;: System not performing required function&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Fault&lt;/strong&gt;: Incorrect step/process/data definition&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  STLC vs SDLC
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;SDLC&lt;/strong&gt;: Software Development Life Cycle (requirements to maintenance)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;STLC&lt;/strong&gt;: Software Testing Life Cycle (planning to closure)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  TDD vs BDD
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;TDD&lt;/strong&gt;: Test-Driven Development (write tests before code)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;BDD&lt;/strong&gt;: Behavior-Driven Development (tests based on system behavior)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  SDLC &amp;amp; STLC
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Software Development Life Cycle (SDLC)
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Requirements gathering&lt;/li&gt;
&lt;li&gt;Design&lt;/li&gt;
&lt;li&gt;Implementation&lt;/li&gt;
&lt;li&gt;Testing&lt;/li&gt;
&lt;li&gt;Deployment&lt;/li&gt;
&lt;li&gt;Maintenance&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  SDLC Models
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Waterfall&lt;/strong&gt;: Sequential phases&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;V-Model&lt;/strong&gt;: Testing paired with each development phase&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Agile&lt;/strong&gt;: Iterative, incremental approach&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Spiral&lt;/strong&gt;: Risk-driven approach&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Prototype&lt;/strong&gt;: Build-evaluate-refine cycle&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Software Testing Life Cycle (STLC)
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Requirements Analysis&lt;/strong&gt;: Understand what to test&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test Planning&lt;/strong&gt;: Develop testing strategy&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test Design&lt;/strong&gt;: Create test cases&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test Environment Setup&lt;/strong&gt;: Prepare testing infrastructure&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test Execution&lt;/strong&gt;: Run tests, report defects&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Test Closure&lt;/strong&gt;: Evaluate test completion criteria&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Key Testing Concepts
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Entry/Exit Criteria
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Entry&lt;/strong&gt;: Conditions to start testing (requirements, code ready)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exit&lt;/strong&gt;: Conditions to complete testing (coverage, defect thresholds)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Testing Approaches
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Risk-Based&lt;/strong&gt;: Focus on highest-risk areas first&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Requirement-Based&lt;/strong&gt;: Tests derived from requirements&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exploratory&lt;/strong&gt;: Simultaneous learning and testing&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Session-Based&lt;/strong&gt;: Time-boxed exploratory testing&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;This cheat sheet provides a quick reference for all essential software testing knowledge. Use it as a refresher before interviews or as a daily reference in your testing activities.&lt;/p&gt;

</description>
      <category>testing</category>
      <category>sdet</category>
      <category>cheatsheet</category>
    </item>
  </channel>
</rss>
