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

Lesson 2 of 5

Planning data per scenario

9 min

Listen to this lesson

0:00 / 6:19

A test data plan answers three questions for every scenario: what data does it need, what does it use up, and how will that data be replenished for the next run? Write it down before the cycle starts. Discovering on day two of user acceptance testing that there is no stock of CMC-RTR-200 in Chicago costs far more than an hour of planning.

Start from the scenario, not the system

Work through each test case step by step and list every object it touches. For Contoso's sell-from-stock scenario, that list includes the sales area, the sold-to and ship-to business partner Great Lakes Fleet Services with sales area data, the product CMC-ALT-100 with sales and plant views for 1710, a valid price condition, stock in storage location 171A, a credit limit high enough to avoid a block, and an open posting period. Each item is either already there, needs to be created, or needs to be posted.

Organizational and configurationSales area 1710 / 10 / 00, pricing procedure, number ranges: transported, not created by testers.
Master dataGreat Lakes Fleet Services with sales area data; CMC-ALT-100 with sales and plant 1710 views; a valid price condition.
Balances and limitsStock in storage location 171A and a credit limit with enough headroom for planned runs and retests.
Period and validityAn open posting period and condition records valid for the whole cycle.
The data a sell-from-stock test stands on, layer by layer; a gap in any layer fails the scenario.
The Sign-Off Table · thesignofftable.com/academy/sap-tst-206
Data itemTypeConsumed?SourceReplenishment
Customer Great Lakes Fleet Services (sales area 1710 / 10 / 00)MasterNo, but credit exposure growsMigratedReset credit exposure or raise limit for test
Product CMC-ALT-100, plant 1710MasterNoMigratedNone needed
Price condition for CMC-ALT-100Master (condition)No, but has a validity periodCreated by pricing teamExtend validity before each cycle
Stock: 50 pieces in 171ATransactional (balance)YesInitial stock postingPost receipt or production before each run
Open sales order for delivery testTransactionalYesCreated by step 1Recreated each run

Part of a data plan for Contoso's sell-from-stock scenario.

Consumption and replenishment

Some data is used up by a single execution. Stock is the obvious example, but there are others: an open purchase order that a goods receipt test fully receives, a supplier invoice that a payment run clears, or a credit limit that fills up after a dozen orders. For every item that gets used up, decide how it will be replenished: posted by a setup step, created by a preceding test, or provided in bulk at the start of the cycle with enough headroom for retests.

  1. IdentifyList every object each scenario step reads or changes
  2. ClassifyConfiguration, organizational, master or transactional; consumed or not
  3. SourceExists already, create it, migrate it, or post it
  4. ReserveAssign data sets to testers or automated runs so they do not collide
  5. ReplenishPlan setup steps or bulk loads with headroom for retests
  6. VerifyCheck data readiness before the cycle opens, not on day one
The test data planning cycle for one scenario.
The Sign-Off Table · thesignofftable.com/academy/sap-tst-206

Reserving data for parallel testers

When twenty testers and a set of automated regression runs share QAS client 100, they will collide. One tester's goods issue uses the stock another tester counted on. An automated test changes the payment terms on a customer that a manual tester is using. The fix is to partition the data: give each tester or run its own customers, products or storage locations, or at least its own clearly labeled set.

  • Create a small block of test customers per team, for example one ship-to per tester under Great Lakes Fleet Services.
  • Keep automated regression data separate from manual testing data, so a rerun at night does not break a test someone is halfway through.
  • Use a naming or search-term convention so anyone can see who owns a record.
  • Record the reservation in the test management tool next to the test case, not in a private spreadsheet.
AspectShared data poolPartitioned data sets
Who uses CMC-RTR-200 in 171AEvery tester and the nightly automated runEach tester or run has its own product, ship-to or storage location
Typical morning"Deficit of stock" failures from someone else's goods issueEach set holds what its owner planned
OwnershipUnclear; nobody knows who changed a recordVisible through a naming or search-term convention
Automated rerunsBreak manual tests halfway throughRun on separate data and create what they consume
Why partitioning test data removes collisions between parallel testers and automated runs.
The Sign-Off Table · thesignofftable.com/academy/sap-tst-206

Automated tests need an extra rule: they should create or reset what they consume. A regression test that expects a fresh open purchase order should create one in its first step, not hope that one is lying around. Tests that depend on yesterday's leftovers are the main cause of flaky automation in SAP, and they fail in ways that look like system defects.

What would you do?

During Contoso's integration test cycle, three testers and a nightly automated regression all use product CMC-RTR-200 in storage location 171A. Every morning several manual tests fail with "deficit of stock". What is the best fix?

Key points
  • Plan data per scenario by listing every object each step reads or changes.
  • Mark data that tests use up and decide how it is replenished before the cycle starts.
  • Partition data between testers and automated runs to avoid collisions.
  • Check validity dates and open periods as part of data readiness.

Check your understanding · not graded

Lesson check

  1. 1. Which data item is consumed by a single run of a sell-from-stock test?

  2. 2. Why partition data between parallel testers?

  3. 3. A test that passed in March fails in June with "no price found". What is a likely data cause?

  4. 4. Where should data reservations be recorded?