Now accepting guest editorial from SAP, Oracle, Workday and ServiceNow practitioners.Pitch a guide
The Sign-Off Table

Lesson 2 of 6

Equivalence partitioning and boundaries on SAP rules

9 min

Listen to this lesson

0:00 / 11:50

Contoso buys rotors CMC-RTR-200 from Lakeside Components at a purchase order net price of $40.00 each. Finance process owner Dan wants supplier invoices that come in noticeably above the agreed price stopped before payment. In SAP S/4HANA this is done with tolerance limits for logistics invoice verification, maintained per company code and tolerance key in the Customizing activity Set Tolerance Limits (OMR6). Key PP covers price variances.

SAP's own training describes three outcomes. If the variance is inside the limits, the invoice posts without a message. If it falls below the lower limit, the user sees a message but the invoice posts and is not blocked. If it exceeds the upper limit, the invoice can still be posted but it is blocked for payment, and the block applies to the whole invoice until someone releases it. For each limit you also choose whether the system checks it at all, and limits can be defined as absolute amounts or as percentages.

Equivalence partitions

An equivalence partition is a set of inputs the rule treats the same way. If one value from a partition behaves correctly, the others are assumed to behave the same, so you need one test per partition, not one per value. Partitions come from the specification: every place the rule draws a line, a new partition starts. Inputs the system should refuse outright (a negative quantity, a non-numeric price) form invalid partitions and get tests of their own, one at a time, so one rejection cannot hide another.

Contoso configured PP for company code 1710 with a percentage lower limit of 10% and an upper limit of 5%, both set to be checked. For an invoice line of 100 rotors, the expected amount is $4,000.00.

PartitionInvoice amount for 100 rotorsExpected resultSample value
P1: more than 10% under the PO priceBelow $3,600.00Message shown; invoice posts; no payment block$3,400.00
P2: inside the limits$3,600.00 to $4,200.00No message; invoice posts; no block$4,000.00
P3: more than 5% over the PO priceAbove $4,200.00Invoice posts with a payment block$4,500.00

Partitions for tolerance key PP at Contoso. Three partitions, three tests for full partition coverage.

P3: above $4,200.00More than 5% over the PO price; invoice posts with a payment block
Upper boundary: $4,200.00 | $4,200.01The line where silent posting turns into a payment block
P2: $3,600.00 to $4,200.00Inside the limits; no message, no block
Lower boundary: $3,599.99 | $3,600.00The line where a message appears
P1: below $3,600.00More than 10% under the PO price; message shown, invoice still posts
Tolerance key PP for a $4,000.00 invoice line as a ladder: three partitions separated by two boundaries where behavior changes.
The Sign-Off Table · thesignofftable.com/academy/sap-tst-201

Boundary value analysis: two-value and three-value

Partitions tell you where the rule changes behavior. Boundary value analysis tests exactly where it changes, because that is where configuration and code most often go wrong: a limit entered as 50 instead of 5, a "greater than" that should be "greater than or equal", a percentage applied to the wrong base. A boundary value is the smallest or largest value in an ordered partition.

The ISTQB syllabus describes two variants. In two-value boundary analysis you test each boundary value and its closest neighbor in the adjacent partition. In three-value analysis you test the boundary and the neighbors on both sides. "Closest neighbor" depends on the precision of the field: for a USD amount it is one cent, for a quantity in pieces it is one piece, for a date it is one day. Get the increment from the field, not from habit.

BoundaryTwo-value testsThree-value tests
Upper limit, +5% ($4,200.00)$4,200.00 and $4,200.01$4,199.99, $4,200.00 and $4,200.01
Lower limit, -10% ($3,600.00)$3,600.00 and $3,599.99$3,599.99, $3,600.00 and $3,600.01
Coverage items4 boundary values6 boundary values
Two-value versus three-value boundary analysis on the PP tolerance for a $4,000.00 invoice line.
The Sign-Off Table · thesignofftable.com/academy/sap-tst-201

Notice what the boundary tests reveal that the partition tests cannot. Is an invoice at exactly +5.00% blocked or not? The tolerance text says "more than 5%", but the only way to know what the configured system does is to post $4,200.00 and look. Record the actual behavior in the test result; if it differs from what Dan expects, that is a requirements conversation, not a judgment call for the tester. Three-value analysis adds a value just inside each boundary, which catches the off-by-one in the other direction, at the cost of two extra tests. Use it when the rule is financially sensitive, as this one is.

The same reasoning applies across the business. Great Lakes Fleet Services has a credit limit of $250,000 in SAP Credit Management and a current exposure of $240,000. When a sales order pushes exposure above the limit, the automatic credit check blocks the order and a credit case appears for the analyst in the Manage Documented Credit Decisions app. The partitions are "exposure after the order stays within the limit" and "exposure exceeds the limit"; the boundary tests are an order worth exactly $10,000.00 and one worth $10,000.01. Which side of the line "exactly at the limit" falls on is, again, something to observe and confirm with the process owner.

Quantities work the same way. If Contoso's purchasing info record for the rotor carries a minimum order quantity of 50, the partitions are 1 to 49 (below minimum) and 50 or more, plus the invalid partition of zero. Whether a quantity below the minimum produces a warning or an error depends on how the message is configured in your system, so check the expected result with the procurement lead before you write it down.

RulePartitionsBoundary tests (two-value)Increment
Price tolerance PP, 100 rotorsUnder, inside, over$3,599.99 and $3,600.00; $4,200.00 and $4,200.01One cent
Credit limit, Great Lakes Fleet ServicesWithin limit, over limitOrders of $10,000.00 and $10,000.01 at $240,000 exposureOne cent
Minimum order quantity 50, rotor info recordZero (invalid), 1 to 49, 50 or more49 and 50 piecesOne piece
The same partition and boundary reasoning applies to tolerances, credit limits and minimum quantities; only the increment changes.
The Sign-Off Table · thesignofftable.com/academy/sap-tst-201

What would you do?

Maria, the order-to-cash key user, is helping with procurement tests and proposes two cases for the PP tolerance: an invoice at 4% over the PO price and one at 6% over. "That covers below and above the limit," she says. What do you advise?

Key points
  • An equivalence partition is a set of inputs the rule treats the same; test one value per partition, and invalid partitions one at a time.
  • Tolerance key PP gives three partitions: under the lower limit (message), inside (silent), over the upper limit (payment block).
  • Two-value boundary analysis tests each boundary and its closest neighbor across the line; three-value adds the neighbor inside.
  • The closest neighbor is set by field precision: one cent, one piece, one day.
  • Boundary tests consume data such as credit exposure, so control the starting state for each test.

Check your understanding · not graded

Lesson check

  1. 1. What happens to an invoice whose price variance exceeds the PP upper limit?

  2. 2. Using two-value boundary analysis on a USD upper limit of $4,200.00, where values above the limit are blocked, which pair do you test?

  3. 3. How many tests give full partition coverage for a rule with three valid partitions and one invalid partition?

  4. 4. Why can a credit limit boundary test fail for reasons unrelated to the rule?