A production smoke suite answers one question: is this build healthy enough to keep moving through the pipeline? QA Wolf's smoke testing guide frames the smoke gate as a fast go/no-go check that stops broken builds before deeper testing starts, and a well-built suite finishes in seconds to a minute. TestMu AI's checklist puts a typical suite at 5 to 15 minutes with 20 to 50 cases.
The trouble starts when one of those cases calls a payment provider. Your probe does something like: create a test customer, attach a test card, create an intent, assert the intent comes back with a status you recognize and an amount in minor units. That single assertion now depends on three things at once:
- Your own code and configuration.
- Your credentials and network path to the vendor.
- The vendor's response shape, which you do not control and cannot see changing.
When the job goes red at 3 a.m., the on-call engineer has to work out which of the three broke. Often the answer is the vendor renamed a field or moved a status value, and your probe was the messenger. That is exactly the failure mode contract testing exists to catch: a change that passes every functional test and still breaks something, because nobody wrote down what the two sides had actually agreed to, as ACCELQ's contract testing guide puts it.
Redocly's introduction to contract testing defines the contract as endpoints and methods, request and response payload structures, expected status codes, and required headers and authentication. For a billing probe, that list is your shopping list.



