ERP and SAP Overview

Enterprise Resource Planning (ERP) systems are the backbone of large organizations, integrating all core business processes into a single platform. SAP is the dominant ERP vendor, running critical business operations for over 400,000 customers worldwide. Testing ERP systems requires understanding both the technology and the business processes it supports.

SAP Module Structure

SAP organizes functionality into modules, each covering a business area:

ModuleFull NameBusiness Area
FIFinancial AccountingGeneral ledger, accounts payable/receivable, asset accounting
COControllingCost centers, profit centers, internal orders
MMMaterials ManagementProcurement, inventory, warehouse management
SDSales & DistributionSales orders, delivery, billing, pricing
PPProduction PlanningBill of materials, MRP, production orders
HR/HCMHuman Capital ManagementPayroll, personnel administration, time management
QMQuality ManagementQuality inspections, certificates, notifications

Cross-Module Integration

The real power of ERP is how modules work together:

graph LR A[SD: Sales Order] --> B[MM: Inventory Check] B --> C[PP: Production Order] C --> D[MM: Goods Receipt] A --> E[SD: Delivery] E --> F[SD: Billing] F --> G[FI: Invoice] G --> H[CO: Cost Center]

A single sales order triggers actions across SD, MM, PP, FI, and CO — testing must verify the entire chain.

ERP Testing Strategy

Configuration Testing

ERP systems are heavily configured rather than custom-coded. Testing validates that configuration choices produce correct business behavior:

  • Pricing procedures: condition types, access sequences, pricing scales
  • Organizational structure: company codes, plants, storage locations, sales organizations
  • Number ranges: document numbering for orders, invoices, material documents
  • Output determination: which documents are printed/emailed at which process step

Integration Testing Across Modules

The Order-to-Cash (OTC) process is the most common integration test:

  1. Sales Order Creation (SD): Customer orders a product
  2. Availability Check (MM): System verifies stock availability
  3. Delivery (SD): Goods are picked, packed, and shipped
  4. Goods Issue (MM): Inventory is reduced
  5. Billing (SD): Invoice is generated
  6. Accounting Posting (FI): Revenue and receivables are recorded
  7. Payment (FI): Customer payment is applied

Similarly, the Procure-to-Pay (P2P) process:

  1. Purchase Requisition → Purchase Order → Goods Receipt → Invoice Verification → Payment

Data Migration Testing

ERP implementations always involve migrating data from legacy systems:

  • Master data: Customers, vendors, materials, bills of material, routings
  • Open items: Outstanding invoices, purchase orders, production orders
  • Historical data: Transaction history for reporting

Migration testing must verify:

  • Field mapping accuracy between legacy and SAP
  • Data transformation rules (date formats, unit conversions, code translations)
  • Referential integrity (customer orders reference valid customers)
  • Volume handling (millions of master data records)

SAP-Specific Testing

Transaction Code Testing

SAP operations are executed through transaction codes (T-codes):

  • VA01: Create Sales Order
  • ME21N: Create Purchase Order
  • MIGO: Goods Movement
  • VF01: Create Billing Document
  • FB60: Enter Vendor Invoice

Testing must verify each T-code produces correct results with valid and invalid inputs.

Batch Job Testing

SAP runs critical processes as batch jobs (background processing):

  • MRP runs (materials requirement planning)
  • Billing runs (mass invoice creation)
  • Payment runs (mass vendor payments)
  • Period-end closing activities

Test batch jobs for correctness, performance, error handling, and restart capability.

Advanced ERP Testing

SAP BTP (Business Technology Platform)

Modern SAP deployments use BTP for extensions and integrations:

  • Test SAP BTP applications built on Cloud Foundry or Kyma
  • Verify API-based integrations between SAP and non-SAP systems
  • Test event-driven scenarios using SAP Event Mesh
  • Validate SAP Fiori elements (OData services, annotations)

SAP Upgrade and Migration Testing

Upgrading SAP versions (ECC to S/4HANA) is a major testing effort:

  • Custom code remediation: identify and fix deprecated APIs
  • Business process testing: verify all processes work identically
  • Data migration: convert from classic to simplified data model
  • Performance testing: S/4HANA in-memory database changes behavior

SAP Security Role Testing

SAP authorization is role-based with fine-grained control:

  • Test that users can only execute T-codes assigned to their role
  • Verify segregation of duties (SoD) — users creating POs should not approve them
  • Test authorization objects and field-level security
  • Verify emergency access (firefighter) procedures and logging

Hands-On Exercise

Design a test plan for an SAP Order-to-Cash implementation:

  1. Sales order creation: Test standard order, rush order, free-of-charge delivery
  2. Availability check: In-stock, partially available, backorder scenarios
  3. Delivery and goods issue: Full delivery, partial delivery, split delivery
  4. Billing: Standard invoice, credit memo, debit memo
  5. Accounting: Verify correct GL postings, cost center allocations, tax calculations
Solution Guide

Sales order tests:

  • Create order with valid customer and material → verify pricing, availability, delivery date
  • Create order for blocked customer → verify block prevents processing
  • Create rush order → verify expedited delivery scheduling

Integration verification:

  • After goods issue: verify inventory reduced by shipped quantity
  • After billing: verify accounting document created with correct amounts
  • After payment: verify customer balance cleared, bank account updated

Pro Tips

  1. Cross-module integration testing is the highest priority — ERP value comes from integration, not isolated modules
  2. Data migration testing requires realistic volumes — small test data misses truncation and performance issues
  3. Test batch jobs with production-like volumes and timing constraints — jobs that work with 100 records may fail with 100,000
  4. SAP transport testing ensures customizations move correctly between development, quality, and production environments
  5. Learn key SAP transaction codes for your modules — testing is significantly faster when you can navigate with T-codes

Key Takeaways

  1. ERP testing is fundamentally about cross-module integration and business process verification
  2. Data migration testing requires production-scale volumes and thorough data validation
  3. SAP-specific skills (T-codes, ABAP understanding, transport management) are essential for effective testing
  4. Cutover testing — the actual go-live sequence — must be rehearsed multiple times before the real event