Skip to contentScholarGate
LibraryBookshelfDeskReview StudioAssistant
Sign in
On this page
IntuitionHow it worksWhen to use itStrengths & limitationsCommon pitfallsApplicationsFrequently asked🔒 Read the full methodSourcesRelated methods
Cite this pageSpotted an issue on this page? Report or suggest a fix →
Home›Software Engineering›Equivalence Partitioning Testing
Process / pipelineTest case design

Equivalence Partitioning Testing

Equivalence Class Partitioning and Boundary Value Testing · Also known as: equivalence partitioning, BVA, boundary value analysis

Equivalence partitioning divides input domains into equivalence classes—sets of inputs expected to behave identically—then selects test cases from each class. Introduced by Myers (1979), this technique reduces test cases while maintaining effectiveness. Boundary value analysis (BVA) complements partitioning by testing values at partition boundaries where failures often occur.

ScholarGate
  1. Process / pipeline
  2. v1
  3. 3 Sources
  4. PUBLISHED
Cite this page →
Tools & resources
Download slides
Learn & explore

Read the full method

Members only

Sign in with a free account to read this section.

Sign in

Method map

The neighbourhood of related methods — select a node to explore.

Equivalence Partitioning Testing
Code Coverage AnalysisDefect Prediction ModelSoftware Complexity Metr…Static Code AnalysisSoftware Reliability Mod…

When to use it

Apply equivalence partitioning when input domain is large or continuous (ranges of integers, floating-point numbers). Particularly effective for functions with clear input ranges: validation functions, mathematical functions, protocol parsers. Combine with boundary value analysis to catch off-by-one errors and edge cases. Less valuable for complex logical conditions; decision table analysis suits those better.

Strengths & limitations

Strengths
  • Dramatically reduces test case count while maintaining coverage; achieves near-boundary coverage with linear test cases
  • Captures intuition that inputs in a class behave similarly; partitions align with software design intent
  • Boundary value analysis catches common defect patterns (off-by-one, fence-post errors)
  • Simple to understand and apply; teachable technique for software engineering teams
Limitations
  • Effectiveness depends on correct partition identification; wrong partitions miss bugs
  • Assumes inputs are independent; combinatorial interactions between inputs may escape detection
  • Does not detect all defect types: logic errors, state-dependent bugs, concurrency issues often hide in equivalent classes
  • Boundary value selection can be arbitrary; guidelines help but subjective judgment remains

Frequently asked

How do I identify equivalence classes for complex inputs?

Start with domain specification: what values are valid, what ranges exist, what values are excluded? Group values where program behavior is expected to be identical. For numeric inputs, typical classes: negative numbers, zero, positive numbers, large values, values causing overflow. For strings: empty, normal length, max length, special characters, non-ASCII. Consult requirements to find intent-based partitions.

What is the difference between valid and invalid equivalence classes?

Valid equivalence classes contain inputs meeting system requirements; invalid classes contain inputs violating requirements. Test both: valid classes verify correct behavior; invalid classes verify error handling. Example: age input validation: valid class [0, 150], invalid classes [<0] and [>150]. Include test cases from both to validate acceptance and rejection logic.

How many test cases should I generate per equivalence class?

Minimum: one test case per equivalence class (achieves basic coverage). Effective: add boundary test cases (just inside/at/outside boundary). For critical systems, add additional tests within classes. Do not create too many; diminishing returns apply. A function with 5 equivalence classes × 3 test cases per class = 15 tests is typical; 50 tests suggests over-testing.

Can equivalence partitioning guarantee I will catch all bugs?

No. Equivalence partitioning catches bugs in input validation and range-checking excellently. It misses logic errors, state-dependent bugs, and concurrency issues. Combine with other techniques: boundary value analysis (covered here), decision table analysis (for complex logic), state-based testing (for stateful systems), exploratory testing (creative scenarios).

Sources

  1. Myers, G. J. (1979). The Art of Software Testing. John Wiley & Sons. link ↗
  2. Beizer, B. (1990). Software Testing Techniques (2nd ed.). International Thomson Computer Press. link ↗
  3. Coppit, D., & Leavens, G. T. (2003). Practical implications of simpler, more scalable path-sensitive data flow analyses. ACM Transactions on Software Engineering and Methodology, 12(3), 261–306. link ↗

How to cite this page

ScholarGate. (2026, June 3). Equivalence Class Partitioning and Boundary Value Testing. ScholarGate. https://scholargate.app/en/software-engineering/software-testing-equivalence

Related methods

Code Coverage AnalysisDefect Prediction ModelSoftware Complexity MetricsStatic Code Analysis

Which method?

Set this method beside its closest kin and read them side by side — the library lays the books on the table; the choice is yours.

  • Code Coverage AnalysisSoftware Engineering↔ compare
  • Defect Prediction ModelSoftware Engineering↔ compare
  • Software Complexity MetricsSoftware Engineering↔ compare
  • Static Code AnalysisSoftware Engineering↔ compare
Compare side by side →

Referenced by

Code Coverage AnalysisSoftware Reliability ModelStatic Code Analysis

Similar methods

Mutation TestingCode Coverage AnalysisSymbolic ExecutionDefect Prediction ModelCleanroom Software EngineeringCyclomatic ComplexitySoftware Complexity MetricsFuzzing

Related reference concepts

Software TestingSoftware Verification and ValidationSoftware Construction and QualityRequirements Validation and ManagementCode Quality and RefactoringTesting

Spotted an issue on this page? Report or suggest a fix →

ScholarGate — Equivalence Partitioning Testing (Equivalence Class Partitioning and Boundary Value Testing). Retrieved 2026-07-21 from https://scholargate.app/en/software-engineering/software-testing-equivalence · Dataset: https://doi.org/10.5281/zenodo.20539026
Quick facts
Originator
Glenford Myers
Subfamily
Test case design
Year
1979
Type
partitioning strategy
Related methods
Code Coverage AnalysisDefect Prediction ModelSoftware Complexity MetricsStatic Code Analysis
ScholarGate

A content-first reference library for research methods — what each one is, how it works, and where it comes from.

Open data (CC-BY)

Explore

  • Library
  • Search the library…
  • Browse by field
  • Fields
  • Journey
  • Compare
  • Which method?

Reference

  • Subjects
  • Atlas
  • Glossary
  • Methodology
  • Philosophy

Your tools

  • Bookshelf
  • Desk
  • Chat

Company

  • About
  • Pricing
  • Contact
  • Suggest a method

Entries are compiled from published sources for reference. Verifying the accuracy and suitability of any information for your own use remains your responsibility.

© 2026 ScholarGate · A research-method reference library
  • Privacy
  • Cookies
  • Terms
  • Delete account