I’m a backend engineer by background, not from QA, and I’m trying to calibrate whether a problem I care about is also a real testing concern.
I recently tried a small UI-driven API regression experiment: run the same UI scenario against two backend versions, record the API traffic, and diff the JSON responses. Not formal contract testing; more like using the user flow to expose what changed on the wire.
I pointed it at a Medusa upgrade from v2.13.6 to v2.14.0. UI suite green. Integration tests green. Nothing obvious in the changelog.
The traffic diff was noisy at first (IDs, timestamps, generated tokens), but one structural change stood out: GET /admin/orders/{id}/preview started returning an email field in v2.14.0 that wasn’t present in v2.13.6.
I tracked it down to the actual Medusa source. The previewOrderChange method’s select array gained exactly one entry between the two tags:
- select: ["id", "version", "items.detail", "summary", "total"],
+ select: ["id", "version", "items.detail", "summary", "total", "email"],
One token. Not in the release notes. Not in the migration guide. In this stack, the usual tests did not notice it because the UI did not bind that field and the integration tests asserted expected fields, not absence of extra fields.
So my question is less about the tool and more about ownership/practice:
1. How often do silent API response-shape changes actually hurt your team?
Examples: a field appears, a type changes, nullable becomes non-nullable, a default flips.
2. Who is normally expected to catch this kind of drift?
QA/test automation, backend engineers, contract-test owners, platform teams, downstream consumers, or nobody until something breaks?
I’m asking because I’m not sure whether this belongs naturally in QA practice, or whether I’m looking at it too much from a backend/integration perspective.