LayoutTitle

Hoverable Dropdown

Showing posts with label boundary value analysis. Show all posts
Showing posts with label boundary value analysis. Show all posts

Sunday, September 28, 2025

Testing Models in QA

1. Conventional Testing

  • Definition:
    Conventional (or traditional) testing means designing test cases manually based on functional requirements, user stories, or test scenarios. It does not follow a specific statistical or combinatorial approach.

  • Example:
    For a login system with 3 browsers (Chrome, Firefox, Edge), 2 OS (Windows, Linux), and 2 languages (EN, FR), a tester might manually select test cases like:

    • Chrome + Windows + EN

    • Firefox + Linux + FR
      (but may miss some combinations).

  • Industry Suitability:

    • Small applications with limited input combinations.

    • Domains where human intuition and exploratory testing are crucial (e.g., UI/UX testing, small web apps).


2. Pairwise Testing (All-Pairs Testing)

  • Definition:
    A black-box test design technique where test cases are chosen such that every possible pair of input parameter values is covered at least once.

    • "All-Pairs Testing" is simply another name for Pairwise Testing.

  • Example:
    Parameters: Browser (Chrome, Firefox, Edge), OS (Windows, Linux), Language (EN, FR).
    Instead of 12 exhaustive combinations, Pairwise Testing may reduce this to 6–7 test cases, ensuring every pair (e.g., Chrome+Linux, Firefox+Windows) appears at least once.

  • Industry Suitability:

    • E-commerce (testing checkout workflows across browsers + payment methods).

    • Mobile app testing (device + OS version pairs).

    • Embedded systems where two parameters’ interactions are most critical.


3. Combinatorial Testing

  • Definition:
    A generalization of pairwise testing. It systematically covers input combinations with a defined strength:

    • 2-way (pairwise)

    • 3-way

    • … up to n-way (all combinations).

  • Example:
    Using the same login system (3 × 2 × 2 = 12 combos):

    • 2-way testing → ensures every pair of inputs appears. (~6 cases)

    • 3-way testing → ensures every triple appears. (~12 cases, i.e., exhaustive here).

  • Industry Suitability:

    • Aerospace, automotive, healthcare → safety-critical systems where multi-parameter interactions matter.

    • Telecom → protocol testing where 3–4-way interactions often matter.


4. Orthogonal Array Testing (OAT)

  • Definition:
    A statistical design of experiments (DoE) technique using orthogonal arrays (balanced matrices).
    Ensures each parameter value is tested equally and in combination with others, but in a mathematically structured way.

  • Example:
    Using an L4 orthogonal array for the login system may reduce 12 cases to 4 balanced test cases like:

    Test CaseBrowserOSLanguage
    1ChromeWindowsEN
    2ChromeLinuxFR
    3FirefoxWindowsFR
    4EdgeLinuxEN

    This ensures uniform coverage of each value without testing exhaustively.

  • Industry Suitability:

    • Manufacturing, Six Sigma, Automotive → originally from industrial quality control.

    • Telecom, Semiconductor, Embedded Systems → where statistical sampling is preferred.

    • Software QA → when input parameters are numerous but need balanced coverage.


5. All-Pairs Testing

  • Already covered: this is another term for Pairwise Testing.

  • Used interchangeably in software QA.


Comparison Table

AspectConventional TestingPairwise / All-PairsCombinatorialOrthogonal Array Testing (OAT)
ApproachManual, ad-hocCovers all 2-way pairsCovers n-way combosStatistical, balanced sampling
Test Case CountUnpredictable (can miss)Moderate (fewer than exhaustive)Higher (depends on n)Low (optimized array-based)
CoverageDepends on testerAll pairs coveredAll interactions (up to n)Balanced, uniform coverage
StrengthsFlexible, intuitiveHigh defect detection with fewer casesDetects higher-order interaction defectsOptimized, mathematically proven balance
WeaknessesRisk of missing defectsMisses higher-order (3+ way) bugsMore test cases as n increasesHarder to design arrays for large inputs
Best ForSmall/simple appsWeb, e-commerce, mobileSafety-critical, telecom, complex systemsManufacturing, telecom, software sampling

Which is Best in QA?

  • For small projects → Conventional Testing (quick, intuitive).

  • For web & mobile apps → Pairwise/All-Pairs (great balance of effort & defect detection).

  • For safety-critical/complex systems → Combinatorial (3-way or higher).

  • For manufacturing/telecom/optimized sampling → Orthogonal Array Testing.

  • 👉 Overall Best (most practical in QA/software): Pairwise (All-Pairs) Testing — because it offers the best balance between coverage, defect detection, and efficiency for most software applications.