Skip to content

Functional testing

What Functional Testing Is

Functional testing is the process of verifying that a system performs its intended functions correctly under normal and expected operating conditions. For EV charging, it means confirming that the charger, site electrical setup, and backend/software workflows function correctly end-to-end—not just that the wiring is safe.

Functional testing is typically a core part of commissioning and acceptance.

Why Functional Testing Matters

Functional testing helps ensure a charging site will work in real life:
– Confirms drivers can start/stop sessions reliably
– Validates load management and site power cap behavior
– Detects configuration errors (tariffs, access rules, OCPP settings) early
– Reduces early downtime and support tickets after go-live
– Provides evidence for customer acceptance and SLA readiness

What Functional Testing Usually Covers (EV Charging)

A practical EVSE functional test plan typically includes:

Charger start/stop and user flow

– Start session via intended method (RFID / app / QR / whitelist / Plug & Charge)
– Stop the session and verify correct end state
– Test failure scenarios (invalid RFID, blocked user, roaming auth failure)

Power delivery and control

– Verify delivered current/power matches configured limits
– Check correct phase behavior (AC) and phase rotation where relevant
– Validate ramp-up/ramp-down and stable operation under load
– Confirm correct behavior when vehicle stops requesting power

Safety and fault behavior (functional, not type-testing)

– Verify RCD/RCBO coordination in real operation (no nuisance behavior)
– Simulate or trigger safe fault states where feasible (overtemp derate, comms loss safe state)
– Confirm emergency stop / isolation behavior if present

Communications and backend connectivity

– OCPP connection stable, heartbeats, status transitions
– Remote commands (availability, reset, unlock, configuration change)
– CPMS mapping correct (site, charger ID, connectors)

Metering and transaction integrity

– Confirm meter values are recorded and match expected energy delivery
– Validate session records (start/end timestamps, kWh, IDs)
– Verify tariff application (kWh price, session fee, idle fee where used)

Load management and site constraints

– Test dynamic load management response using realistic scenarios:
– Add multiple sessions → verify throttling/sharing
– Increase building load (if possible) → EV power reduces
– Remove load → EV power ramps up
– Validate site power cap enforcement (no overshoot trips)
– Confirm priorities (if depot scheduling rules exist)

Resilience and edge cases

– Connectivity loss test (charger behavior offline, buffering, recovery)
– Power cycle / reboot recovery (returns to correct config and state)
– Backend outage fallback (local auth policy, if configured)

Typical Outputs of Functional Testing

– A checklist with pass/fail per test case
– Evidence: screenshots/logs, meter readings, session IDs, photos
– List of defects and required fixes
– Final acceptance sign-off record

Common Pitfalls

– Only testing one charger in a multi-charger site
– Skipping load management tests under realistic simultaneity
– Not validating the full user journey (auth → charge → billing record)
– Not testing weak-signal areas (garages, yards) for connectivity stability
– Forgetting offline/fallback behavior → surprises during outages
– Incomplete documentation → disputes at handover

Electrical commissioning
Acceptance testing
Commissioning documentation
Diagnostics
Dynamic load management
Device provisioning
Uptime