QA Engineer
API testing questions
130 questions on API testing for qa engineers, easiest first.
Easy 39
- Reading an API status codeeasy
- Status code for a created resourceeasy
- 401 vs 403easy
- Finding the failing API calleasy
- What a safe method meanseasy
- A successful delete with no bodyeasy
- Fetching an ID that does not existeasy
- Wrong method on a valid patheasy
- Content-Type or Accepteasy
- Where to find the new resourceeasy
- Sending a bearer tokeneasy
- Basic auth and Base64easy
- Path or query parametereasy
- Postman environmentseasy
- A basic Postman testeasy
- Running Postman from the command lineeasy
- given, when, then in REST Assuredeasy
- Getting a 500 from an APIeasy
- Works in Postman, fails in browsereasy
- What HEAD returnseasy
- The OPTIONS preflighteasy
- Testing two API versionseasy
- Seeing headers with curleasy
- Posting JSON with curleasy
- Checking the response typeeasy
- A health check endpointeasy
- Collection or environment variableeasy
- Unique values in Postmaneasy
- Auth for every requesteasy
- Keeping tokens out of Giteasy
- Leaving out a required fieldeasy
- Checking response timeeasy
- Setting up data for UI testseasy
- Exploring an API from its docseasy
- Checking a filtereasy
- Key names and letter caseeasy
- A list with no resultseasy
- A slash at the endeasy
- Debugging in Postmaneasy
Medium 52
- Testing PUT idempotencymedium
- Chaining requests in Postmanmedium
- Testing an API rate limitmedium
- Pagination boundariesmedium
- What contract tests catchmedium
- Forcing a backend errormedium
- PATCH or PUTmedium
- Deleting the same item twicemedium
- 400 or 422medium
- Creating a duplicatemedium
- Wrong body formatmedium
- Asking for XML from a JSON APImedium
- 502 or 504medium
- 503 with Retry-Aftermedium
- A 304 responsemedium
- Stopping a lost updatemedium
- Same variable in two scopesmedium
- Reusing a login tokenmedium
- Pre-request scriptsmedium
- Running Postman with a data filemedium
- Failing the build on test failuresmedium
- Getting a value out of a responsemedium
- Sharing setup in REST Assuredmedium
- Checking a list in REST Assuredmedium
- Schema checks in REST Assuredmedium
- A plus sign in a querymedium
- Fetching a token before a requestmedium
- Changing the order in a runmedium
- Using a Postman mock servermedium
- Newman results in CImedium
- Logging only on failuremedium
- Mapping a response to a classmedium
- Path parameters in REST Assuredmedium
- Stubbing a partner APImedium
- A stub that changes over timemedium
- API key in the URLmedium
- Uploading a very big bodymedium
- Testing a file upload APImedium
- Error messages in Arabicmedium
- Dates without a time zonemedium
- Null field or no fieldmedium
- Which errors to retrymedium
- Warning that an API is retiringmedium
- Tracing a failed callmedium
- Sorting by a field that does not existmedium
- Compressed responsesmedium
- Testing the limit parametermedium
- Caching a bank statementmedium
- Saving an Arabic namemedium
- A slow report endpointmedium
- Checking a delete really workedmedium
- Where contract tests runmedium
Hard 39
- Double charge bughard
- Reusing an idempotency keyhard
- Mass assignment in profile updatehard
- Contract green, production brokenhard
- Testing an eventually consistent APIhard
- equalTo fails on a decimalhard
- A large ID changes in Postmanhard
- Adding a new enum valuehard
- Which change is breakinghard
- Who writes a Pact contracthard
- Provider states in Pacthard
- Exact values in a pacthard
- Testing webhook signatureshard
- Webhooks twice and out of orderhard
- Testing a 202 Accepted APIhard
- Sending money amounts in JSONhard
- Response does not match the spechard
- Reusing a protobuf field numberhard
- Too much data in a responsehard
- New rows during paginghard
- Static settings and parallel testshard
- Machine-to-machine authhard
- Testing a token right at expiryhard
- An API that fetches a URLhard
- Error message shows code detailshard
- Same URL, different methodhard
- Partial success in a bulk callhard
- A very deep GraphQL queryhard
- GraphQL introspection in productionhard
- One GraphQL query, many DB callshard
- What not to put in contract testshard
- Checking a provider against its spechard
- Consumer fails on a new fieldhard
- Failing a load test on a targethard
- Turning off certificate checkshard
- Contracts for Kafka eventshard
- One coupon used twicehard
- Replaying an old webhookhard
- A pact that checks too muchhard