Skip to main content
Specialist
March 12, 2025

The Changing Landscape of QA

  • March 12, 2025
  • 13 replies
  • 282 views

What is a circuit breaker and how can we utilise it for quality assurance?

    13 replies

    Space Cadet
    March 12, 2025

    Circuit breaker plays a key role when a system handles failures. For example, when there is a service failure, such as the payment gateway stopping, the system may crash, hang, or become very slow as it keeps trying to reach the failed service. But with a circuit breaker, the system will stop trying to reach the failed service, which will avoid crashing. This will prevent the system from making the problem worse.

    shashwata
    Ensign
    March 13, 2025

    A circuit breaker is a design pattern that prevents repeated calls to a failed service, enabling systems to fail gracefully.

    How QA Can Leverage Circuit Breakers:
    Prevent Flaky Tests – Avoids false failures due to temporary API/service issues.
    Enhance Performance Testing – Simulates failures to ensure system resilience.
    Improve CI/CD Stability – Prevents pipeline cascading failures.
    Detect Defects – Identifies unstable components.
    Automate Recovery Testing – Allows easy recovery from failures.

    ​​​​​​ By incorporating circuit breakers into test automation, QA teams increase resilience and reliability.

    RSH.
    TripleSeven
    Space Cadet
    March 24, 2025

    The use of a software “circuit breaker”  Firmware example (Bios, IoT, airborne equipment...)

    • Firmware update: Booting on old FW, updating FW new. Cannot boot on new, fallback on old FW (but for whatever reason became corrupted), then try to boot again on new FW (that will fail): After x attempts, either boot to “stock” (non alterable) FW or go back to download.
    • Cloud based, typically load balancers: Switch to secondary load balancer (fail) then try to switch back to primary load balancer (fail): After x attempts, send an alert message to other components/operators to declare the system unhealthy.

    In terms of QA, the mechanism will respond to the following (derived) requirements:

    • A Monitoring System shall be in place to alert operators
      • The Monitoring System shall alert in real time operators
      • The Monitoring System shall detect faults at  the systems/processes level
      • The Monitoring System shall detect failures at  the systems/processes level
      • The Monitoring System shall have an interface with the Orchestrator
    • An orchestration system shall be in place to assess system readiness
      • The orchestration system shall have an interface with the Monitoring System
      • The orchestration system shall <insert here the what “circuit breaker” shall do>

    The requirements covered by such a mechanism (examples)

    • SLA (reliability and availability)
    • Safety and Compliance
    • Robustness
    • Performance goals
    • ...

     

     

    Alex "TripleSeven"