PlugStream Installer MVP Smoke Test Runbook
Use this runbook to verify the full installer and customer handover journey before release, capture app-review screenshots, and record any defects that must be fixed before customer deployment.
How to use this runbook
For each scenario:
- Record the tester name, date, app build, firmware version, tenant, and charger serial.
- Complete the exact steps in order.
- Capture the screenshot listed when the expected result is visible.
- Record the actual result, then mark
PassorFail. - If the result fails, add the ticket or bug reference before moving on.
Use this status template for every scenario:
| Actual result | Pass / Fail | Bug / Ticket |
|---|---|---|
Release prerequisites
- Installer app build is available in TestFlight or internal Android distribution.
- Customer app build is available in TestFlight or internal Android distribution.
- Latest
developweb deployment is live for the target tenant. chargepoint-api,ocpp-api,firmware-api,jolt-ocpp, andjolt-evsechanges are deployed in the dev environment.- Test charger is on the expected firmware branch and reachable over BLE, local network, and OCPP.
- One test installer account exists.
- One existing customer account exists.
- One unused customer email address is available for create-account testing.
- A vehicle or approved emulator is available for charge testing.
Environment record
| Field | Value |
|---|---|
| Date / time | |
| Tenant | |
| Charger serial | |
| Charger current firmware | |
| Recommended firmware | |
| Installer app build | |
| Customer app build | |
| Tester |
Scenario 1. Installer login and profile name
Purpose: confirm the installer identity is correct before commissioning starts.
Prerequisites: - Installer account can sign in.
Steps: 1. Open the installer app and sign in. 2. Confirm the installer dashboard loads. 3. Open installer settings or profile. 4. Update the installer name if needed. 5. Return to the dashboard.
Expected result: - The installer dashboard shows the installer name, not only the email address. - Profile edits save successfully and refresh on the dashboard without requiring a fresh login.
Screenshot required: - Installer dashboard with the installer name visible.
Scenario 2. BLE discovery
Purpose: verify the installer can discover the charger locally.
Prerequisites: - Charger is powered on and in a discoverable installer state.
Steps: 1. Start a new commission. 2. Open BLE device discovery. 3. Scan for nearby chargers. 4. Select the target serial.
Expected result: - The correct charger appears in the BLE list. - The installer can select it without timeout or app crash.
Screenshot required: - BLE device scan results showing the target serial.
Scenario 3. WiFi or network setup
Purpose: confirm the installer can provision site connectivity.
Prerequisites: - Test WiFi credentials or Ethernet connection available.
Steps: 1. Continue the install flow after BLE connection. 2. Select WiFi or Ethernet. 3. Enter WiFi credentials if applicable. 4. Save the network configuration.
Expected result: - The app reports that the charger joined the network. - The charger later reports cloud connectivity in diagnostics.
Screenshot required: - Network setup success state.
Scenario 4. Charger activation
Purpose: verify the charger activation path still works before handover.
Prerequisites: - Valid activation or provisioning flow available for the test charger.
Steps: 1. Continue from network setup. 2. Complete activation.
Expected result: - The activation step completes without error. - The app proceeds into customer selection and commissioning.
Screenshot required: - Activation success or next-step transition screen.
Scenario 5. Diagnostics snapshot
Purpose: verify the installer app can load the firmware-backed live snapshot.
Prerequisites: - Charger is online to the cloud.
Steps:
1. Open the Verification step.
2. Wait for live diagnostics to load automatically.
Expected result: - Snapshot shows online or offline state, network link, cloud connection, firmware version, and CT status. - The verification step remains blocked if the snapshot cannot be loaded.
Screenshot required: - Verification screen showing the diagnostics snapshot panel.
Scenario 6. Self-test pass
Purpose: verify the firmware-backed self-test runs and reports structured results.
Prerequisites: - Charger is idle and safe to test.
Steps:
1. In the Verification step, start the self-test.
2. Wait for the result to finish.
Expected result:
- The app shows the self-test as Passed, Failed, or Blocked.
- Each failed or blocked step shows a reason.
- The installer cannot complete handover while the self-test is running or failed.
Screenshot required: - Self-test result panel.
Scenario 7. Self-test blocked or failed path
Purpose: confirm the app surfaces actionable failure states.
Prerequisites: - Use a controlled condition that produces a blocked or failed self-test, if safe.
Steps: 1. Repeat the self-test under the controlled fault or blocked condition.
Expected result: - The app shows the correct blocked or failed status. - Final handover remains blocked.
Screenshot required: - Self-test blocked or failed message.
Scenario 8. Charge test pass
Purpose: verify a managed charge test can start and stop cleanly.
Prerequisites: - Vehicle or approved emulator available.
Steps: 1. Start the managed charge test. 2. Confirm charging begins. 3. Stop the charge test from the app.
Expected result:
- The charge test records a start time, stop time, current detected flag, peak current, and energy delivered.
- The final result is Passed when current flows and the session stops cleanly.
Screenshot required: - Charge test result with peak current and energy visible.
Scenario 9. Charge test blocked or failed path
Purpose: confirm the managed charge test prevents bad handover states.
Prerequisites: - Controlled blocked or failed condition available.
Steps: 1. Run the charge test under the controlled condition.
Expected result:
- The charge test reports Blocked, Failed, or Stopped as appropriate.
- Final handover remains blocked.
Screenshot required: - Charge test blocked or failed state.
Scenario 10. Firmware recommendation shown
Purpose: verify the installer sees the current and recommended charger firmware.
Prerequisites:
- Charger is visible to firmware-api.
Steps:
1. Open the Verification step.
2. Review the firmware panel.
Expected result: - The current firmware version is shown. - The recommended firmware version is shown. - The app clearly shows whether the device is up to date.
Screenshot required: - Verification screen with the firmware panel visible.
Scenario 11. Single-device firmware update success
Purpose: verify a single charger can be updated without using a rollout.
Prerequisites: - Recommended firmware is newer than the current firmware.
Steps:
1. Tap Update charger now.
2. Wait for the direct update job to complete.
3. Refresh diagnostics or the firmware panel.
Expected result: - The direct update job shows queued, in-progress, and terminal status updates. - The charger reaches the recommended firmware. - The installer can continue once any mandatory update policy is satisfied.
Screenshot required: - Firmware update status and final success state.
Scenario 12. Single-device firmware update failure
Purpose: confirm direct update errors are visible before handover.
Prerequisites: - Controlled failure condition or unreachable firmware update path.
Steps: 1. Trigger the direct update under the controlled failure condition.
Expected result: - The firmware job surfaces a clear error. - The installer is blocked only when the recommendation is mandatory.
Screenshot required: - Firmware update failure state.
Scenario 13. Commission with an existing customer
Purpose: verify the installer can commission for a known customer.
Prerequisites: - Existing customer account and location available.
Steps: 1. Search for the existing customer. 2. Select the customer and location. 3. Complete the remaining commission fields.
Expected result: - The customer is selected without sending the invite early. - The install can proceed to verification and handover.
Screenshot required: - Customer selection state with the selected customer visible.
Scenario 14. Commission with an installer-created customer
Purpose: verify the installer can create a customer on their behalf.
Prerequisites: - Unused customer email available.
Steps:
1. Choose Create customer.
2. Enter the customer details.
3. Continue with the commission flow.
Expected result: - The customer record is created without sending the final invite before commission succeeds. - The new customer can later claim the charger through the handover flow.
Screenshot required: - Create-customer form or confirmation state.
Scenario 15. Verification blockers
Purpose: confirm the app prevents sign-off when dependencies are incomplete.
Prerequisites: - At least one dependency can be left incomplete, such as self-test, charge test, or firmware load.
Steps: 1. Leave one required verification dependency incomplete. 2. Attempt to continue or finish handover.
Expected result: - The verification step lists the blocking dependency. - Final sign-off is not available until the dependency is resolved.
Screenshot required: - Verification blocker panel.
Scenario 16. QR handover display
Purpose: verify the installer sees a usable customer handover QR code.
Prerequisites: - Commission has completed successfully.
Steps: 1. Complete the commission flow. 2. Wait for the success screen.
Expected result: - The success screen shows the customer details, charger serial, invite status, and a QR code or shareable handover link. - If the QR could not be generated, the app clearly states that handover is still required and offers a retry action.
Screenshot required: - Installer success screen with the QR code.
Scenario 17. Customer claim via native in-app scan
Purpose: verify the customer app can scan the installer QR directly.
Prerequisites: - Customer app installed on a separate device. - Installer QR visible.
Steps:
1. Open the customer app.
2. Go to Claim installer handover.
3. Start the in-app scanner.
4. Scan the installer QR code.
Expected result: - The scan is accepted only for PlugStream installer handover tokens or URLs. - The customer is routed into the existing handover redeem flow.
Screenshot required: - Customer QR scan screen.
Scenario 18. Customer claim via system camera or browser
Purpose: verify the same handover works outside the in-app scanner.
Prerequisites: - Installer QR visible.
Steps: 1. Use the phone camera to scan the installer QR code. 2. Open the resulting link.
Expected result: - The browser opens the existing handover claim page. - The customer can sign in or create an account from the claim page.
Screenshot required: - Browser-based customer claim page.
Scenario 19. Create account from scanned QR
Purpose: confirm new customers can create an account from the claim flow.
Prerequisites: - Installer created or selected a customer email that is not yet fully registered.
Steps: 1. Scan or open the handover link. 2. Choose the create-account path. 3. Complete registration using the same email the installer selected.
Expected result: - Account creation succeeds. - The customer returns to the claim flow and continues into setup.
Screenshot required: - Create-account screen reached from the handover flow.
Scenario 20. Wrong-account rejection
Purpose: verify the handover stays bound to the intended customer account.
Prerequisites: - A different customer account is available.
Steps: 1. Open the handover link. 2. Sign in with a different customer account than the one selected during install.
Expected result: - The claim is rejected with a clear message telling the user to use the correct customer account or ask for a fresh QR code.
Screenshot required: - Wrong-account error state.
Scenario 21. First-time setup completion
Purpose: verify newly claimed customers are forced through setup before dashboard access.
Prerequisites: - Customer has successfully claimed the charger.
Steps: 1. Complete charging mode selection. 2. Complete scheduled charging or smart charging regulation settings. 3. Complete tariff setup.
Expected result: - The customer cannot skip into the dashboard before required setup steps are saved. - After setup, the customer lands in the correct dashboard and no longer sees the setup gate.
Screenshot required: - Each setup step and the final customer dashboard.
Scenario 22. Manual adoption still works when no installer handover exists
Purpose: verify the existing customer adoption flow has not regressed.
Prerequisites: - Use a charger or account that has no installer handover in progress.
Steps:
1. Open the customer app with an account that has no assigned chargers.
2. Choose Add charger instead of Claim installer handover.
3. Complete the normal adoption flow.
Expected result: - Manual adoption still works. - The customer sees the original no-device flow when no handover is involved.
Screenshot required: - Manual adoption entry point.
App review screenshot checklist
Capture the following images after successful smoke testing:
- Installer dashboard with the installer name visible.
- BLE discovery screen showing the target charger.
- Network setup success state.
- Verification screen with diagnostics and firmware recommendation panels.
- Self-test passed or blocked state.
- Charge test result state.
- Installer success screen with QR handover visible.
- Customer claim scan screen inside the mobile app.
- Customer claim page after scanning the QR.
- Create-account screen reached from the claim flow.
- First-time setup screens for charging mode, schedule, and tariff.
- Customer dashboard after setup is complete.
Exit criteria
The build is ready for customer deployment and app-review screenshots only when:
- All required scenarios above are marked
Pass. - Any remaining failures have a clear ticket, owner, and fix date.
- The installer can complete a full install without unsupported dependency errors.
- The customer can claim the charger from the QR flow and complete first-time setup.