Browse the Knowledge Hub101 resources
Question Bank
82 REST Assured interview questions with answers
Eighty-two questions across the Java DSL and its given, when, then structure, building requests and validating responses, Hamcrest matchers and the Groovy GPath syntax inside body assertions, JSON and XML extraction, schema validation, serialisation with POJOs, authentication and token handling, reusable specifications, filters and logging, configuration including SSL and timeouts, framework design, CI integration, thread safety under parallel execution and troubleshooting. Graded from fresher to lead, with the model answer, the follow-up to expect, and the trap that costs candidates the round.
All 82 questions, with model answers
Filter by level or topic, search the full text, and download the whole bank to revise offline.
Last updated
Experience level
Topic
Showing 82 of 82 questions
Q1FresherFundamentalsWhat is REST Assured?
What is REST Assured?
What they are assessing
Basic orientation.
Model answer
A Java library for testing REST APIs, providing a fluent domain specific language for building requests and validating responses without writing boilerplate HTTP client code. It handles the request construction, serialisation, the call itself and response parsing, and integrates with JUnit or TestNG so API tests sit alongside the rest of a Java suite. It was created to make API testing in Java as concise as it is in dynamic languages, which is why the syntax looks unlike typical Java.
Likely follow-up
What would you be writing instead if you used a plain HTTP client?
Q2FresherFundamentalsWhat dependencies do you need to use REST Assured?
What dependencies do you need to use REST Assured?
What they are assessing
Practical setup.
Model answer
The rest-assured artefact at test scope, plus Hamcrest for matchers, which usually arrives transitively. A JSON binding library such as Jackson or Gson is needed on the classpath for automatic serialisation and deserialisation of objects, and REST Assured picks whichever it finds. json-schema-validator is a separate module required for schema validation, and xml-path and json-path are separate artefacts if you need those APIs directly. Forgetting the binding library is the usual cause of serialisation failing at runtime rather than at compile time.
Q3Mid-levelFundamentalsHow does REST Assured compare with Postman?
How does REST Assured compare with Postman?
What they are assessing
Tool positioning.
Model answer
Postman is an application with a graphical interface, good for exploration, manual verification and sharing collections, with scripting in JavaScript. REST Assured is a library used in code, so tests live in version control alongside the application, are reviewed like code, reuse the project model classes, and run natively in the build. The practical division is that Postman is better for investigating an API and REST Assured is better for a maintained regression suite. Newman lets Postman collections run in CI, which narrows the gap but does not remove the code reuse advantage.
Q4Mid-levelFundamentalsHow does REST Assured compare with Karate?
How does REST Assured compare with Karate?
What they are assessing
Awareness of the main alternative.
Model answer
Karate is a standalone framework with its own domain specific language, so tests are written in a Gherkin-like syntax rather than Java, which makes it accessible to people who do not write Java and removes a great deal of boilerplate. It also bundles parallel execution, reporting and mocking. REST Assured is a library inside a Java project, which is better when the team already writes Java, when tests need to reuse application classes, or when API tests sit in the same framework as UI tests. Karate is often the faster start, REST Assured the better fit inside an existing Java codebase.
Trap to avoid
Claiming Karate is BDD because it uses Given, When and Then. Like REST Assured, it borrows the vocabulary without the collaborative practice behind it.
Q5Mid-levelFundamentalsIs REST Assured only for REST APIs?
Is REST Assured only for REST APIs?
What they are assessing
Scope awareness.
Model answer
Primarily, as the name suggests, but it handles any HTTP interaction, so it works for SOAP over HTTP, GraphQL by posting a query in the body, and plain HTTP endpoints. For SOAP the XML support through XmlPath and XPath assertions is adequate though less convenient than a dedicated tool. For GraphQL it works but is awkward, since every call is a POST to one endpoint and the meaningful assertions are all inside the response body, so the DSL adds less value than it does for REST.
Q6FresherSyntax & DSLExplain the given, when, then structure.
Explain the given, when, then structure.
What they are assessing
The core syntax, asked in almost every interview.
Model answer
given sets up the request: headers, parameters, body, authentication and cookies. when performs the HTTP call with the method and endpoint, such as get or post. then validates the response: status code, body content, headers and response time. The three read as a sentence, which is why the library is readable. The chain is terminated either by the assertions themselves or by extract when you need a value from the response.
Likely follow-up
Can you omit given entirely?
Q7Mid-levelSyntax & DSLDoes the given, when, then syntax mean REST Assured is a BDD tool?
Does the given, when, then syntax mean REST Assured is a BDD tool?
What they are assessing
A distinction interviewers deliberately probe.
Model answer
No. It borrows the vocabulary because it reads well, but there is no collaborative practice behind it: nobody from the business is reading a REST Assured test, and the structure is arrange, act, assert with different words. BDD is about discovering behaviour through conversation before implementation, and a Java test class using given and when has nothing to do with that. Candidates who claim REST Assured gives them BDD are signalling they have the vocabulary without the practice.
Trap to avoid
Saying the syntax makes it BDD. It is the same borrowing that happens with Karate, and interviewers familiar with BDD will follow up.
Q8Mid-levelSyntax & DSLWhy are static imports used so heavily with REST Assured?
Why are static imports used so heavily with REST Assured?
What they are assessing
A practical detail that trips beginners.
Model answer
Because the DSL is designed to read as a sentence, and qualifying every call would destroy that. The usual imports are everything from RestAssured for given, when and the configuration entry points, everything from Hamcrest Matchers for equalTo, hasItems and the rest, and the schema validator matchers if used. Missing the Hamcrest static import is the most common setup problem, because the code looks correct and simply does not compile, and the error message points at the matcher rather than the import.
Q9Mid-levelSyntax & DSLWhat is the difference between then and extract?
What is the difference between then and extract?
What they are assessing
Where validation ends and data retrieval begins.
Model answer
then performs assertions and returns a ValidatableResponse so more assertions can be chained. extract ends the validation chain and returns data: the whole Response object, a single path value, or a deserialised object. You use extract when a value is needed for a subsequent call or for assertions that the DSL cannot express. Both can appear in the same chain, with assertions first and extract last, which is the usual pattern for chaining requests.
Q10FresherRequestsWhat is the difference between queryParam, pathParam and formParam?
What is the difference between queryParam, pathParam and formParam?
What they are assessing
Basic request construction.
Model answer
queryParam adds a parameter to the query string after the question mark. pathParam substitutes a named placeholder in the URL template, so a path written with a placeholder in braces is filled in. formParam sends a parameter in the body as form encoded data, used with content type application form urlencoded. There is also a generic param method, which decides between query and form based on the HTTP method, and I would avoid it because explicit is clearer.
Likely follow-up
Why is pathParam better than string concatenation in the URL?
Q11Mid-levelRequestsHow do you send a JSON body?
How do you send a JSON body?
What they are assessing
The most common request type.
Model answer
By setting the content type to JSON and passing the body, which can be a string, a Map, or a POJO that REST Assured serialises automatically using whichever binding library is on the classpath. Passing a POJO is usually best, because the object is type checked at compile time and can be reused across tests, whereas a string literal containing JSON is easy to get subtly wrong and no compiler will tell you. Setting the content type matters: without it many APIs reject the request or interpret the body differently.
Q12Mid-levelRequestsHow do you upload a file?
How do you upload a file?
What they are assessing
A specific request type with its own method.
Model answer
With multiPart, passing a File, or a control name with a file, or a byte array with a filename and content type. REST Assured sets the multipart content type automatically. The details that cause problems are the control name needing to match what the server expects, which is often file but not always, and the content type of the part itself, since an API validating the declared type will reject a correctly uploaded file announced as the wrong type. Several multiPart calls can be chained for multiple files or mixed form fields.
Q13Mid-levelRequestsHow do you set headers and cookies?
How do you set headers and cookies?
What they are assessing
Routine request configuration.
Model answer
With header or headers for individual values or a map, and cookie or cookies similarly. contentType and accept are convenience methods for the two most common headers. For a header sent on every request, such as a correlation id or an API key, setting it once on a RequestSpecification is better than repeating it, and for something genuinely cross cutting a filter is cleaner still, since it applies without the test needing to know about it.
Q14SeniorRequestsHow do you chain requests where one depends on data from another?
How do you chain requests where one depends on data from another?
What they are assessing
The most common real pattern in API suites.
Model answer
By extracting the value from the first response and passing it into the second: extract the identifier with a path expression or by deserialising into an object, then use it as a path parameter or in the body of the next call. The design consideration is that a chained sequence makes tests dependent on each other if the chaining spans test methods, so the setup call should happen within the test or in a helper rather than relying on a previous test having run. For anything used by many tests, a helper that creates the resource and returns its id is cleaner than repeating the chain.
Likely follow-up
How do you avoid the created resources accumulating across runs?
Q15FresherResponse validationHow do you assert on a status code?
How do you assert on a status code?
What they are assessing
The simplest validation.
Model answer
With statusCode, passing the expected integer, or statusLine for the full line. There is also a Hamcrest matcher form so you can assert a range, which is occasionally useful. The point worth making alongside it is that a status code assertion alone is a weak test: an API returning 200 with an empty body or an error message in the payload passes, so the status is a precondition rather than the verification.
Trap to avoid
Writing a suite where most tests assert only the status code. It produces high test counts and very little verification.
Q16Mid-levelResponse validationHow do you assert on the response body?
How do you assert on the response body?
What they are assessing
Core validation.
Model answer
With body, taking a path expression and a Hamcrest matcher, such as a path to a field and equalTo for its value. Several path and matcher pairs can be supplied to one body call, and several body calls can be chained. For a list you use matchers such as hasItems, hasSize or everyItem. Where the assertion becomes complex, extracting the value and asserting with an assertion library is usually more readable than forcing it into a matcher.
Q17Mid-levelResponse validationWhat is rootPath and when is it useful?
What is rootPath and when is it useful?
What they are assessing
A readability feature.
Model answer
It sets a prefix applied to subsequent body path expressions, so a series of assertions against nested fields do not each repeat the parent path. It is useful when validating several fields of one nested object, and it can be detached or reset afterwards. The caution is that it introduces state into the chain, so a long sequence with a root path set partway through is harder to read than the repetition it saved, and I would use it only where the repetition is genuinely heavy.
Q18Mid-levelResponse validationHow do you assert on response time?
How do you assert on response time?
What they are assessing
A feature that is frequently misused.
Model answer
With time, taking a Hamcrest matcher such as lessThan with a duration, optionally with a time unit. It is useful as a coarse guard against a drastic regression. It is not performance testing, and asserting a tight threshold in a functional suite produces intermittent failures on a loaded CI agent, which teaches the team to ignore failures. Real performance work belongs in a load testing tool where the measurement is statistical rather than a single sample.
Likely follow-up
Why is a single response time measurement a poor performance assertion?
Q19SeniorResponse validationWhat should a good API test assert beyond the status code?
What should a good API test assert beyond the status code?
What they are assessing
Depth of verification.
Model answer
The response body content against expected values, including that fields which should be absent are absent. The structure, ideally through schema validation so an unexpected type or a missing field fails. Headers that matter, such as content type, caching directives and any security headers. The state change on the server, verified by a subsequent read rather than trusting the response. And for error cases, the error body shape and message, since a consistent error contract is something clients depend on and is routinely untested.
Q20Mid-levelJSON & GPathWhat path syntax does REST Assured use inside body assertions?
What path syntax does REST Assured use inside body assertions?
What they are assessing
A detail that surprises people coming from other tools.
Model answer
Groovy GPath, not the Jayway JsonPath syntax used elsewhere. So you write dotted paths and can use Groovy closures for filtering and collection operations, rather than the dollar and bracket notation of JsonPath. This matters because examples found online are frequently for the other syntax and will not work. GPath is more powerful for in-line filtering, since you can express find, findAll, collect and sum directly in the assertion.
Trap to avoid
Pasting a Jayway JsonPath expression into a body assertion. It fails confusingly, and it is one of the most common beginner problems.
Q21SeniorJSON & GPathHow would you assert on a filtered subset of a JSON array?
How would you assert on a filtered subset of a JSON array?
What they are assessing
Applying GPath rather than describing it.
Model answer
With a Groovy closure inside the path expression, using findAll with a predicate and then selecting a field, so you can assert that the names of all records matching a condition contain particular values. For a single match, find rather than findAll. For aggregates, collect and sum work in the same position. The alternative, extracting the list and filtering in Java, is more verbose but considerably easier to read when the condition is complex, and I would switch to that once the closure stops being obvious.
Q22Mid-levelJSON & GPathHow do you extract a value from a response?
How do you extract a value from a response?
What they are assessing
A core operation.
Model answer
With extract and path, giving the GPath expression, which returns the typed value. Or extract and response to get the whole Response object and then query it with jsonPath or xmlPath, which is better when several values are needed since it parses once. Or extract and as with a class to deserialise into an object. For a list, extracting with a path returns a List and the generic type needs care, since REST Assured cannot always infer it.
Q23SeniorJSON & GPathWhat is the difference between JsonPath and XmlPath in REST Assured?
What is the difference between JsonPath and XmlPath in REST Assured?
What they are assessing
Handling both content types.
Model answer
JsonPath parses a JSON response and exposes GPath queries over it; XmlPath does the same for XML and also supports XPath expressions through its own methods. Both can be obtained from an extracted Response, and both are usable standalone on a string, which is useful for parsing a payload that did not come from a REST Assured call. The practical difference is that XML has attributes and namespaces, so XmlPath has extra handling for both, and namespace-aware documents need explicit configuration or queries silently return nothing.
Q24Mid-levelSchema validationWhat is JSON schema validation and why use it?
What is JSON schema validation and why use it?
What they are assessing
A high value technique that is underused.
Model answer
Validating the structure of a response against a schema document describing the expected fields, types, required properties and constraints, rather than asserting on individual values. It is valuable because it catches contract changes that value assertions miss: a field changing type from number to string, a required field disappearing, or an unexpected field appearing. One schema assertion covers more than a dozen individual checks and it fails for a reason that is immediately diagnostic.
Likely follow-up
What does schema validation not tell you?
Q25Mid-levelSchema validationHow do you do schema validation in REST Assured?
How do you do schema validation in REST Assured?
What they are assessing
The mechanics.
Model answer
With the json-schema-validator module added as a dependency, then asserting on the body with matchesJsonSchemaInClasspath and a schema file path, or matchesJsonSchema with a File or a string. The schema is a standard JSON Schema document, usually kept in test resources. The common failure is forgetting the separate dependency, since the matcher does not exist without it, and the second is a schema that is too permissive to catch anything, which happens when it is generated from a sample response without tightening required fields.
Q26SeniorSchema validationWhere should the schema come from?
Where should the schema come from?
What they are assessing
A design question with a meaningful answer.
Model answer
From the API specification, ideally generated from the OpenAPI document that the API publishes, so the schema and the implementation share a source of truth. Generating it from a sample response is the common shortcut and is weaker, because it encodes what the API currently does rather than what it promises, so it will not detect a change that was never agreed. Where the specification exists, validating against it turns the test suite into a contract check, which is a materially stronger position than asserting on example values.
Q27Mid-levelSerialisationHow does REST Assured serialise a Java object into a request body?
How does REST Assured serialise a Java object into a request body?
What they are assessing
The POJO mechanism.
Model answer
Automatically, using Jackson, Gson or JAXB depending on what is on the classpath and the content type set on the request. Passing an object to the body method serialises it, so no manual JSON construction is needed. The content type matters, because it determines the mapper chosen, and without it serialisation can fail or produce the wrong format. The mapper can be configured through ObjectMapperConfig when the defaults are unsuitable, such as needing a particular date format or naming strategy.
Q28Mid-levelSerialisationHow do you deserialise a response into an object?
How do you deserialise a response into an object?
What they are assessing
The reverse operation.
Model answer
With extract and as, passing the target class, which uses the same mapper machinery. For a generic collection, a TypeRef is needed because Java erases the type parameter, which is a detail that catches people out when extracting a list of objects. Once deserialised, assertions are made in ordinary Java with an assertion library, which is frequently more readable than a long chain of body matchers and gives better failure messages.
Likely follow-up
Why does extracting a List of a custom type need a TypeRef?
Q29SeniorSerialisationShould you use POJOs or raw JSON strings in API tests?
Should you use POJOs or raw JSON strings in API tests?
What they are assessing
A design trade-off with a defensible answer either way.
Model answer
POJOs for most work, because they are compile time checked, refactorable, reusable, and make building variations of a payload straightforward with a builder. Raw strings have one genuine advantage: they let you send something a POJO cannot express, such as a field of the wrong type or an entirely malformed payload, which is exactly what negative testing requires. So my usual arrangement is POJOs for valid requests and raw strings or maps for the deliberately invalid ones, because testing that the API rejects bad input is a case the typed model will prevent you from writing.
Trap to avoid
Using POJOs exclusively. It quietly removes the ability to test malformed input, which is a large part of API negative testing.
Q30Mid-levelAuthenticationWhat authentication schemes does REST Assured support?
What authentication schemes does REST Assured support?
What they are assessing
Breadth.
Model answer
Basic, both challenged and preemptive, digest, form based, OAuth 1 and OAuth 2 through the auth entry point. Bearer tokens are usually handled as an explicit Authorization header rather than through the auth API, which is simpler and clearer. Certificate based authentication is configured through SSLConfig. For anything bespoke, a filter adding the required header is the clean approach, since it applies to every request without each test knowing about it.
Q31Mid-levelAuthenticationWhat is the difference between basic and preemptive basic authentication?
What is the difference between basic and preemptive basic authentication?
What they are assessing
A distinction that causes real failures.
Model answer
Challenged basic waits for the server to respond with a 401 and a challenge, then resends with credentials, so there are two round trips. Preemptive sends the Authorization header on the first request without waiting. Many APIs do not issue a challenge and simply reject the unauthenticated request, so the challenged form fails against them. Preemptive is what you usually want, and defaulting to the non-preemptive form is a common cause of authentication appearing broken when it is configured correctly.
Likely follow-up
What symptom would tell you that you need preemptive rather than challenged?
Q32SeniorAuthenticationHow do you handle OAuth 2 tokens in an API suite?
How do you handle OAuth 2 tokens in an API suite?
What they are assessing
A practical problem every real suite faces.
Model answer
By obtaining the token once rather than per test, since the token endpoint is often rate limited and the call is slow. A helper or a filter fetches it, caches it, and refreshes it when it is close to expiry, which matters for long suites where a token obtained at the start expires partway through. The credentials come from the environment or a secret store rather than from the code. For multiple roles, the cache is keyed by role so each test can request the identity it needs without re-authenticating.
Q33SeniorAuthenticationHow would you test that an endpoint enforces authorisation correctly?
How would you test that an endpoint enforces authorisation correctly?
What they are assessing
Security testing within an API suite.
Model answer
By calling it as each role and asserting both the permitted and the denied outcomes, because only the negative cases prove the control exists. The specific test that matters most is accessing another user resource by substituting an identifier while authenticated as someone who should not see it, which is broken object level authorisation and the most common serious API finding. It has to be done per endpoint rather than sampled, since one endpoint missing the ownership check is enough. I would also test with no token and with an expired one.
Q34Mid-levelSpecificationsWhat is a RequestSpecification and why use one?
What is a RequestSpecification and why use one?
What they are assessing
The main reuse mechanism.
Model answer
A reusable, prebuilt set of request configuration: base URI, base path, headers, content type, authentication and logging, assembled with RequestSpecBuilder and applied to a request with spec. It removes repetition and, more importantly, centralises configuration so changing the base URI or adding a header everywhere is a one line change. Without it, every test carries its own setup and the suite becomes unmaintainable at perhaps fifty tests.
Q35Mid-levelSpecificationsWhat is a ResponseSpecification?
What is a ResponseSpecification?
What they are assessing
The counterpart on the validation side.
Model answer
A reusable set of response expectations built with ResponseSpecBuilder, such as the expected status code, content type and any headers that should always be present, applied with spec in the then chain. It is useful for the assertions that apply to every successful response in an API, so individual tests only state what is specific to them. It also makes a cross-cutting requirement enforceable: adding a check for a security header to the shared spec applies it to every test at once.
Likely follow-up
What would you put in a shared ResponseSpecification for an API suite?
Q36SeniorSpecificationsHow do you handle several environments with specifications?
How do you handle several environments with specifications?
What they are assessing
Configuration design.
Model answer
By building the specification from configuration rather than hardcoding it: base URI and any environment specific values read from system properties or a configuration file selected at run time, with a sensible local default. The specification is then constructed once, often in a base class or a static holder, and reused. Credentials come from the environment rather than from any file in the repository. The test of whether this is right is that the same command runs against any environment with only a flag changing.
Q37Mid-levelFilters & loggingHow do you log requests and responses?
How do you log requests and responses?
What they are assessing
Basic diagnostics.
Model answer
With log on either side of the chain: log all in given to print the request, and log all in then to print the response, with finer options for just the body, headers or status. For a suite, logging everything is too noisy, so the better option is log if validation fails on the response and log if validation fails on the request, which produces output only for failing tests. That is the configuration I would set globally rather than per test.
Trap to avoid
Leaving log all enabled across a suite. The output volume makes CI logs unreadable and can leak tokens and personal data into build artefacts.
Q38SeniorFilters & loggingWhat is a filter and what would you use one for?
What is a filter and what would you use one for?
What they are assessing
The main extension point.
Model answer
An implementation of the Filter interface that intercepts every request and response, able to modify either and to perform side effects before passing control on. Uses include adding an authentication header centrally, injecting a correlation id for tracing, capturing request and response into a report such as Allure, logging selectively, and collecting timing. RequestLoggingFilter and ResponseLoggingFilter are built-in examples. Registering filters globally means tests do not carry cross-cutting concerns, which is what keeps them readable.
Q39SeniorFilters & loggingHow do you stop credentials appearing in logs?
How do you stop credentials appearing in logs?
What they are assessing
A genuine disclosure risk.
Model answer
By using blacklisted headers, which REST Assured supports through the log configuration so named headers are masked in output, and by not logging everything by default. Beyond headers, a request body containing a password will be printed in full by log all, so a filter that redacts known sensitive fields is worth writing when such payloads exist. This matters because CI logs are widely readable and frequently retained, so a token printed in a build log is a real exposure rather than a theoretical one.
Likely follow-up
Where else besides the console might a logged token end up?
Q40Mid-levelConfigurationHow do you handle a self-signed certificate in a test environment?
How do you handle a self-signed certificate in a test environment?
What they are assessing
A very common practical blocker.
Model answer
With relaxed HTTPS validation, either globally on the RestAssured configuration or per request, which disables certificate verification. It is appropriate in a test environment with a self-signed certificate and should never be the default in a configuration that could run against anything real, since it removes the check entirely. The better alternative where it is practical is to add the certificate to a trust store and configure SSLConfig to use it, which keeps verification on.
Q41SeniorConfigurationHow do you configure timeouts?
How do you configure timeouts?
What they are assessing
A setting that matters more than it appears.
Model answer
Through HttpClientConfig, setting connection and socket timeout parameters on the RestAssured configuration. It matters because the defaults are generous, so a hanging endpoint stalls the suite rather than failing it, and in CI that can mean a build timing out after an hour with no useful output. Setting explicit timeouts converts a hang into a fast, diagnosable failure. The value should be well above normal response time so it does not produce false failures under load.
Q42SeniorConfigurationWhat is the risk of using the static RestAssured configuration?
What is the risk of using the static RestAssured configuration?
What they are assessing
The thread safety question, which distinguishes depth.
Model answer
The static fields on RestAssured, such as baseURI, port, authentication and filters, are global mutable state, so they are not safe under parallel execution. A test setting the base URI in its own setup affects every test running concurrently, which produces failures that move around and look like flakiness. The fix is to avoid static configuration in a parallel suite and pass a RequestSpecification explicitly instead, which is local to the request. This is one of the most common causes of a REST Assured suite failing only when parallelism is enabled.
Trap to avoid
Setting RestAssured.baseURI in a BeforeEach. It works serially and breaks silently the moment the suite runs in parallel.
Q43SeniorFramework designHow would you structure a REST Assured framework?
How would you structure a REST Assured framework?
What they are assessing
Design rather than syntax.
Model answer
In layers. A configuration layer reading environment values. A specification layer holding the shared request and response specifications. A service or client layer with one class per API resource exposing meaningful methods such as create customer or fetch order, which encapsulate the endpoint, the payload construction and the call. Model classes for the payloads. Then the tests, which call the service layer and assert, containing no endpoint strings or header setup. The critical property is that an endpoint path appears in exactly one place, so an API change is a single edit.
Likely follow-up
What goes wrong when tests call REST Assured directly?
Q44SeniorFramework designShould API tests assert inside the service layer or in the test?
Should API tests assert inside the service layer or in the test?
What they are assessing
A boundary question in framework design.
Model answer
In the test, almost always, because the service layer should be reusable by tests with different expectations, including negative tests expecting a failure. A service method that asserts a 200 internally cannot be used to test the 403 case. The exception is a small number of universal assertions that genuinely always apply, which belong in the shared ResponseSpecification rather than in code. The service layer returns the response and the test decides what is correct.
Q45SeniorFramework designHow do you handle test data in an API suite?
How do you handle test data in an API suite?
What they are assessing
A constraint that limits suite reliability.
Model answer
By having each test create what it needs through the API and clean up afterwards, which keeps tests independent and resilient to a shared environment. Unique values are generated rather than hardcoded so parallel runs do not collide. Cleanup in a teardown is the usual mechanism, with the caveat that it does not run if the process is killed, so a periodic purge or a namespacing convention is a necessary backstop. Depending on pre-existing records in an environment is what produces a suite that passes on Monday and fails on Thursday.
Q46SeniorFramework designHow do REST Assured tests fit alongside UI tests in one project?
How do REST Assured tests fit alongside UI tests in one project?
What they are assessing
Integration into a broader suite.
Model answer
Well, since both are Java and can share the same build, configuration, reporting and model classes. The most valuable connection is that API calls become the setup mechanism for UI tests: creating a user or an order through the API rather than clicking through the interface removes the largest source of UI test fragility and runtime. Structurally they are usually separate source sets or tagged differently so they can run independently, since the API suite should run in a fraction of the time and be part of the fast feedback loop.
Q47Mid-levelCI integrationHow do you run a REST Assured suite in CI?
How do you run a REST Assured suite in CI?
What they are assessing
Pipeline basics.
Model answer
As an ordinary Maven or Gradle test run, since REST Assured is a library executed by JUnit or TestNG. The environment is selected by system property or profile, credentials are injected from the CI secret store as environment variables, and the standard test report XML is published for native result display. Because API tests are fast and need no browser, they are a good candidate to run on every commit rather than on a schedule, which is their main advantage over UI tests in a pipeline.
Q48SeniorCI integrationHow do you run API tests when the API is not yet available?
How do you run API tests when the API is not yet available?
What they are assessing
Working ahead of implementation.
Model answer
Against a mock or a virtualised service, with WireMock being the common choice in Java, which can be run as a server or in-process and configured to return the agreed responses. That lets tests be written against the contract before the implementation exists, which is useful for parallel development and for exercising error and timeout behaviour the real service will not produce on demand. The risk is drift between the mock and reality, so this needs a contract source such as an OpenAPI document, or a periodic run against the real service.
Likely follow-up
How do you stop the mock drifting from the real API?
Q49SeniorCI integrationShould API tests run in parallel, and what is needed first?
Should API tests run in parallel, and what is needed first?
What they are assessing
Scaling, with a prerequisite.
Model answer
Yes, since they are fast and IO bound so parallelism gives a large saving. What is needed first is removing the shared state: no static RestAssured configuration, no shared mutable fixtures, unique test data per test rather than fixed identifiers, and no reliance on execution order. The static configuration is the one that catches teams out, because the suite works serially and then fails unpredictably. Once those are addressed, the parallelism is configured in the test framework rather than in REST Assured itself.
Q50Mid-levelTroubleshootingA request works in Postman but fails in REST Assured. What do you check?
A request works in Postman but fails in REST Assured. What do you check?
What they are assessing
A very common and frustrating situation.
Model answer
Log the actual request and compare it with what Postman sends, which usually answers it immediately. The frequent differences are a missing or wrong content type, Postman adding headers automatically that REST Assured does not, authentication being challenged rather than preemptive, a body serialised differently from the literal string in Postman, and URL encoding of parameters. Postman also follows redirects and manages cookies by default in ways that may differ. Comparing the two raw requests side by side is far faster than reasoning about it.
Q51Mid-levelTroubleshootingAn assertion on a JSON path returns null. What are the likely causes?
An assertion on a JSON path returns null. What are the likely causes?
What they are assessing
Diagnosing extraction failures.
Model answer
The path is wrong, often because the response nests the data under a wrapper the test does not account for. The syntax is Jayway JsonPath rather than GPath, which silently does not match. The response is not JSON at all, such as an HTML error page returned by a proxy, which is why logging the body resolves this quickly. The field is present but named differently due to a serialisation naming strategy. Or the array index assumed does not exist. Printing the response body is the first step in every one of those cases.
Q52SeniorTroubleshootingThe suite passes locally and fails in CI. What would you investigate?
The suite passes locally and fails in CI. What would you investigate?
What they are assessing
Environment differences.
Model answer
Network reachability first, since the API may be accessible from a developer machine and not from the agent, including proxy configuration which REST Assured needs told about explicitly. Then credentials, which are present locally and may be missing or wrong in the secret store. Then certificates, since a trust store difference produces SSL failures only in CI. Then data, where the local environment has records the CI target does not. Then timing, since a loaded agent exposes races and tight timeouts. Logging on validation failure usually narrows it in one run.
Q53SeniorTroubleshootingHow do you debug an intermittent API test failure?
How do you debug an intermittent API test failure?
What they are assessing
Flake handling.
Model answer
By capturing enough context to diagnose it after the fact, since reproducing on demand is usually impossible: log request and response on failure, include a correlation id so the server side log can be matched, and record the test data used. Then look at the usual causes in order: shared state between tests, the static configuration problem under parallelism, data created by another test, eventual consistency where a read follows a write too quickly, and genuine race conditions in the service. The eventual consistency case is common and the fix is polling with a timeout rather than a fixed sleep.
Likely follow-up
How would you poll for an eventually consistent result cleanly?
Q54Mid-levelRequestsHow do you test a PATCH request?
How do you test a PATCH request?
What they are assessing
A method with specific semantics.
Model answer
Mechanically it is the same as PUT with the patch method, but the testing is different because PATCH is a partial update. The cases that matter are that fields not included are left unchanged, which is the defining behaviour and is frequently broken, that including a field with a null value does what the contract says since that is ambiguous in many APIs, and that an unknown field is rejected or ignored according to the contract. Verifying the unchanged fields requires reading the resource afterwards rather than trusting the response.
Q55Mid-levelResponse validationHow do you verify that a POST actually created something?
How do you verify that a POST actually created something?
What they are assessing
Verifying state rather than the response.
Model answer
By reading the resource back, usually from the Location header the response should return, and asserting its content matches what was sent. Trusting the POST response alone is weaker, because an API can return a representation that was never persisted. The additional checks worth making are that the response status is 201 rather than 200, that the Location header is present and resolvable, and that creating the same resource twice behaves according to the contract, whether that is a conflict or a second resource.
Q56SeniorResponse validationHow do you test pagination?
How do you test pagination?
What they are assessing
A common API feature with many edge cases.
Model answer
By checking the mechanics and the boundaries. That the page size parameter is honoured, including values above any maximum the API enforces. That the first and last pages behave correctly, with the last page partially filled. That requesting a page beyond the end returns an empty collection rather than an error, or whatever the contract specifies. That total counts are accurate. That ordering is stable, since unstable ordering means an item can appear on two pages or none as you walk through. And that the links or cursors returned actually work when followed.
Q57Mid-levelFundamentalsWhat HTTP status codes should an API test suite cover?
What HTTP status codes should an API test suite cover?
What they are assessing
Breadth of negative testing.
Model answer
Beyond 200 and 201: 400 for malformed input, 401 for missing or invalid authentication, 403 for authenticated but not permitted, 404 for a resource that does not exist, 405 for a method not allowed on that path, 409 for conflicts such as duplicate creation, 415 for an unsupported content type, and 422 where the API distinguishes semantic validation failure. The error body shape should be asserted alongside the code, since clients depend on a consistent error contract and it is rarely tested.
Q58SeniorFramework designHow do you avoid duplication across API tests?
How do you avoid duplication across API tests?
What they are assessing
Maintainability.
Model answer
A service layer so endpoints and payload construction exist once. Builders or object mothers for test data so a valid payload is created with defaults and tests override only what matters. Shared specifications for request and response configuration. Custom matchers or assertion helpers for domain concepts asserted repeatedly. And filters for anything cross cutting. The outcome to aim for is that a test reads as a sequence of domain actions and assertions, with no HTTP mechanics visible in it at all.
Q59Mid-levelJSON & GPathHow do you assert that a list contains items in any order?
How do you assert that a list contains items in any order?
What they are assessing
A routine matcher question.
Model answer
With hasItems, which checks that the listed values are present regardless of order and regardless of extra items, or containsInAnyOrder when the collection must contain exactly those elements. contains requires the exact order. The choice matters: using contains against an API that makes no ordering guarantee produces an intermittently failing test, and using hasItems where exactness matters means an extra unexpected item passes unnoticed.
Q60SeniorAuthenticationHow do you test token expiry behaviour?
How do you test token expiry behaviour?
What they are assessing
A case teams usually skip.
Model answer
With a deliberately expired or malformed token rather than by waiting, asserting the API returns 401 and a clear error rather than a 500 or, worse, processing the request. A token signed with the wrong key, one with an altered payload, and one for a different audience are all worth including, since those test the validation rather than just the expiry timestamp. Where the suite uses token caching, it is also worth testing that the refresh path works, since that code runs rarely and is a common source of long suite failures.
Q61Mid-levelConfigurationHow do you send a request through a proxy?
How do you send a request through a proxy?
What they are assessing
A practical requirement in corporate environments.
Model answer
With the proxy method on the request or the global proxy configuration, supplying host, port and credentials if required. It is needed when the agent or developer machine routes external traffic through a corporate proxy, which is a frequent cause of tests working in one place and timing out in another. It is also used deliberately to route traffic through a capture tool for debugging, which is a useful technique for comparing what REST Assured actually sends against another client.
Q62SeniorFramework designHow would you test an API that requires a specific sequence of operations?
How would you test an API that requires a specific sequence of operations?
What they are assessing
Managing stateful flows.
Model answer
By having each test establish the state it needs through helper methods rather than relying on previous tests, so a test for the final step creates everything leading up to it as setup. That keeps the test independently runnable and parallelisable, at the cost of repeating work, which is usually acceptable because API calls are fast. If the setup is genuinely expensive, the shared fixture is created once per class with the tests reading rather than mutating it. What I would avoid is ordered tests, which are hard to debug and cannot be run individually.
Q63Mid-levelSerialisationHow do you handle date formats in request and response bodies?
How do you handle date formats in request and response bodies?
What they are assessing
A frequent source of subtle failures.
Model answer
By configuring the object mapper explicitly rather than relying on the default, since Jackson and Gson serialise dates differently and the default rarely matches an API contract. ObjectMapperConfig allows supplying a configured mapper with the required format and timezone. Timezone is the detail that causes the most trouble, because a test passing locally and failing on a CI agent in a different zone is almost always a date serialised without an explicit zone. Asserting on dates is also better done on a parsed value than on the string.
Q64SeniorTroubleshootingWhat does a 415 Unsupported Media Type usually mean in a REST Assured test?
What does a 415 Unsupported Media Type usually mean in a REST Assured test?
What they are assessing
Reading a specific error correctly.
Model answer
That the content type sent does not match what the endpoint accepts, and in practice it almost always means the content type was not set at all, so the default was sent or none was. It is one of the most common beginner errors, because the body is correct and the failure appears to be about the payload. The related case is an Accept header mismatch producing a 406, where the server cannot produce the format requested. Logging the request headers resolves both immediately.
Q65Mid-levelFilters & loggingHow do you integrate REST Assured with a reporting tool?
How do you integrate REST Assured with a reporting tool?
What they are assessing
Reporting setup.
Model answer
Through a filter, which is the intended extension point: the filter intercepts request and response and attaches them to the report. Allure provides an AllureRestAssured filter that does exactly this, producing a report where each test shows the full request and response, which is enormously useful for diagnosing a failure without rerunning. Registering it globally means every test gets it. Writing a custom filter is straightforward when the reporting tool has no ready integration.
Q66SeniorResponse validationHow would you validate an API against its OpenAPI specification?
How would you validate an API against its OpenAPI specification?
What they are assessing
Contract verification.
Model answer
With a validator that checks requests and responses against the specification document, such as the swagger-request-validator library, which provides a REST Assured integration so the validation becomes a matcher or a filter applied to every call. That is stronger than hand-written schema assertions because it covers the whole contract including parameters, status codes and response shapes, and because it uses the published specification as the source of truth. It also catches the case where the API is correct and the specification is out of date, which is itself worth knowing.
Likely follow-up
What would you do when the API and the specification disagree?
Q67Mid-levelRequestsHow do you send a request with no body or an empty body?
How do you send a request with no body or an empty body?
What they are assessing
A small but real distinction.
Model answer
Simply omitting the body method sends no body, which is correct for GET and DELETE. Sending an explicitly empty body means passing an empty string or an empty JSON object, which are different things to a server: no body, an empty string body, and an empty object are three distinct cases and APIs handle them differently. Testing all three against an endpoint that expects a payload is a worthwhile negative test, since one of them frequently produces a 500 rather than a 400.
Q68SeniorFramework designWhat belongs in an API test and what belongs in a unit test?
What belongs in an API test and what belongs in a unit test?
What they are assessing
Test placement.
Model answer
API tests verify the contract and the integration: that the endpoint exists, accepts what it says it accepts, returns the documented shape and status, enforces authorisation, and that the operation has the stated effect. Detailed business rule permutations usually belong in unit tests, where they run in milliseconds without a deployed service. The practical consequence is that an API suite should have breadth across endpoints and error cases rather than depth of combinations on one endpoint, and a suite with forty tests for one validation rule has drawn the line in the wrong place.
Q69Mid-levelJSON & GPathHow do you assert on a value nested several levels deep?
How do you assert on a value nested several levels deep?
What they are assessing
Path expression fluency.
Model answer
With a dotted path through the structure, using indices for array elements, and GPath handles the traversal. Where several fields of the same nested object are asserted, rootPath avoids repeating the prefix. Where the structure is deep enough that the path becomes unreadable, deserialising into an object and asserting in Java is clearer and gives better failure messages, which is the point at which I would switch rather than persisting with longer path strings.
Q70SeniorConfigurationHow do you test an endpoint that returns a file download?
How do you test an endpoint that returns a file download?
What they are assessing
Non-JSON responses.
Model answer
By extracting the response as a byte array or an InputStream rather than attempting to parse it, then asserting on the content type and content disposition headers, the size, and where it matters the actual content by parsing it with an appropriate library. For a PDF or spreadsheet, asserting on bytes is meaningless so a parser is needed to check the content. The headers are often the more important assertion, since a file served with the wrong content type or without a filename is a defect users will notice.
Q71SeniorTroubleshootingHow do you handle an API with eventual consistency in tests?
How do you handle an API with eventual consistency in tests?
What they are assessing
A genuinely difficult case.
Model answer
By polling with a timeout rather than asserting immediately or inserting a fixed sleep. A fixed sleep is either too short, producing flakiness, or too long, slowing every run. Awaitility is the usual library in Java for this, expressing the condition and the maximum wait declaratively. The polling interval and timeout should be set from the service level expectation rather than guessed. Where the delay is unbounded, that is itself worth raising, since a system with no stated consistency window is difficult for any client to use correctly.
Q72Mid-levelAuthenticationHow do you reuse a session across requests?
How do you reuse a session across requests?
What they are assessing
Session handling.
Model answer
With sessionId on the request, or by capturing cookies from a response and supplying them on subsequent calls, or with a session filter which handles the cookie exchange automatically. For token based APIs the equivalent is holding the token and setting the header. The design point is that the session should be obtained once per suite or per role rather than per test, both for speed and because repeated authentication can trigger rate limiting on the auth endpoint.
Q73SeniorCI integrationHow would you structure a pipeline that runs API tests against a freshly deployed service?
How would you structure a pipeline that runs API tests against a freshly deployed service?
What they are assessing
Pipeline design.
Model answer
Deploy, then wait for the service to actually respond rather than sleeping, usually by polling a health endpoint until it returns healthy with a timeout. Then run a short smoke subset to confirm the deployment is viable, which fails fast on a broken deploy. Then the full API suite. Publishing results and failing the build on failure is standard. The health check step is the one most often omitted and the most common cause of a pipeline where the first few tests fail intermittently because the service had not finished starting.
Q74Mid-levelResponse validationHow do you assert that a field is absent from a response?
How do you assert that a field is absent from a response?
What they are assessing
Negative assertion on structure.
Model answer
By asserting the path is null, which covers an absent field since GPath returns null for a missing path, or more precisely by extracting the response as a map and asserting the key is not present, which distinguishes absent from present-but-null. That distinction matters for APIs where null and omitted mean different things. Schema validation with additionalProperties set to false is the stronger approach when the requirement is that no unexpected fields appear at all.
Q75SeniorFramework designHow many assertions should an API test have?
How many assertions should an API test have?
What they are assessing
Test design judgement.
Model answer
As many as describe one outcome, which for an API response usually means the status, the key fields and the structure, since those together constitute the single thing being verified. What should not happen is a test verifying creation, then update, then deletion, because a failure midway leaves the rest unexecuted and the cause ambiguous. Where several independent properties are being checked, grouping assertions so all failures report together is better than failing at the first, which is one reason to extract and assert with an assertion library rather than chaining matchers.
Q76Mid-levelFundamentalsIs REST Assured suitable for performance testing?
Is REST Assured suitable for performance testing?
What they are assessing
Knowing the limits of the tool.
Model answer
No. It is synchronous and blocking, with one thread per request, so generating meaningful load would require an impractical number of threads and the measurement would be distorted by the client. The time assertion is a coarse guard against drastic regression in a functional suite, not a performance measurement. Load testing belongs in a tool designed for it such as JMeter, Gatling or k6, where the client is asynchronous and the results are reported statistically.
Trap to avoid
Proposing a REST Assured suite run with many threads as a load test. The client becomes the bottleneck and the numbers describe the test harness.
Q77SeniorTroubleshootingA test asserts a 200 and gets a 302. What is happening?
A test asserts a 200 and gets a 302. What is happening?
What they are assessing
Redirect behaviour.
Model answer
The server is redirecting, and REST Assured follows redirects by default for most methods, so receiving the 302 itself usually means redirect following has been disabled or the redirect is on a method where it is not followed. The common underlying causes are an authentication failure redirecting to a login page, a missing trailing slash, or an HTTP to HTTPS redirect. The redirect configuration lets you disable following, which is the right setting when you want to assert on the redirect itself rather than the destination.
Q78SeniorSpecificationsWhat is the risk of putting too much into a shared specification?
What is the risk of putting too much into a shared specification?
What they are assessing
Balance on a reuse mechanism.
Model answer
Hidden behaviour. A test reading as a simple call may be sending five headers and asserting three things that are nowhere visible in the test file, so a failure points at something the reader cannot see. That is the same objection as a long Cucumber Background or a deep base class. The balance is to put genuinely universal configuration in the shared specification and keep anything a reader would need to know about in the test. A good signal is whether someone unfamiliar could predict what the request contains by reading the test.
Q79LeadFramework designHow would you set up API testing on a new project?
How would you set up API testing on a new project?
What they are assessing
Design from scratch.
Model answer
Start from the contract: if an OpenAPI specification exists, use it for validation so the suite checks the agreement rather than examples. Build the layered structure early, since retrofitting a service layer onto two hundred tests with inline endpoints is expensive. Configuration from the environment from day one, so the suite runs anywhere without edits. Parallel safety from the start, meaning no static configuration, because converting later is a rewrite. And run it in CI from the first week, since a suite that has only ever run on one machine is not a suite.
Likely follow-up
What would you deliberately not build in the first month?
Q80SeniorResponse validationHow do you test an API that returns different responses for the same request over time?
How do you test an API that returns different responses for the same request over time?
What they are assessing
Handling non-determinism.
Model answer
By asserting on the properties that are invariant rather than on exact values: the structure through schema validation, the types, the presence of required fields, and any constraint the contract guarantees such as ordering or a value range. Fields that genuinely vary, such as generated identifiers and timestamps, are asserted as present and well formed rather than equal to a literal. Attempting to assert exact equality against a response containing a timestamp is the most common way a suite becomes intermittently red for no reason.
Q81LeadFramework designHow do you decide what proportion of a test suite should be API tests?
How do you decide what proportion of a test suite should be API tests?
What they are assessing
Strategy.
Model answer
By pushing each check to the lowest level that verifies it meaningfully, which usually puts the largest automated layer at API level rather than at the interface. API tests are fast, stable and precise, so they can carry breadth across endpoints, error cases and authorisation. UI tests are reserved for journeys where the interface itself is the risk. In most products that produces a suite that is mostly API with a thin UI layer, and the common failure is the inverse, where everything is tested through the browser because that is where the team started.
Q82LeadFundamentalsWhat is the most common mistake you see in REST Assured suites?
What is the most common mistake you see in REST Assured suites?
What they are assessing
A closing question revealing depth of experience.
Model answer
Tests that assert only the status code. They are quick to write, they produce an impressive test count, and they would pass against an API returning an empty body or the wrong data entirely. Close behind are tests calling REST Assured directly with endpoints and headers inline, so an API change means editing a hundred files, and static configuration that works serially and fails the moment anyone enables parallel execution. All three produce a suite that looks substantial and verifies much less than the team believes.
What REST Assured interviews actually separate on
Reciting given, when and then takes thirty seconds. These four areas decide the outcome, and all four come from having maintained a suite rather than written a first test.
Asserting more than the status
A 200 with an empty body passes a status-only test. Suites built this way produce impressive counts and verify almost nothing.
GPath, not JsonPath
Body assertions use Groovy GPath, so pasted Jayway JsonPath expressions fail confusingly. It is the most common beginner problem.
The static config trap
RestAssured.baseURI is global mutable state. It works serially and breaks the moment the suite runs in parallel, as moving failures.
Given, when, then is not BDD
The library borrows the vocabulary without the collaborative practice. Claiming it gives you BDD invites a follow-up that does not go well.
Written by engineers who maintain these suites
This bank was written and reviewed by QAble automation engineers who build API test frameworks on client projects, including the suites that needed rescuing: hundreds of tests asserting only status codes, endpoints and headers written inline so an API change meant editing a hundred files, and a suite that passed for a year and collapsed the day someone enabled parallel execution.
Answers are pitched at the level marked on each question. General API testing strategy lives in the API testing bank, so this one stays on the library rather than repeating it. If you think an answer here is wrong, we would genuinely like to hear it.
Tell us what we got wrongAPI suite proving less than you think?
QAble builds API test frameworks with contract validation against the specification, a service layer that survives endpoint changes, and parallel execution that actually works.
API testing servicesMore question banks
View allUFT interview questions
Question bank82 UFT One questions across the object repository and identification, Smart Identification, descriptive programming, checkpoints, actions, recovery scenarios and framework design.Test manager interview questions
Question bank82 questions at organisational level: QA strategy, operating model, budgets and cost of quality, resourcing, vendor selection, tooling, metrics, governance and transformation.Test lead interview questions
Question bank82 questions at team and delivery level: planning and estimation, allocation, risk-based strategy, triage, reporting, stakeholder management, mentoring and the difficult conversations.SQL for testers interview questions
Question bank82 questions on query skill for QA roles: joins and the anti-join pattern, aggregation, the NOT IN null trap, set operations for reconciliation, window functions and safe data modification.Mobile testing interview questions
Question bank82 questions across device strategy, platform differences, upgrade paths, interrupts and the app lifecycle, network conditions, performance, mobile security and staged release.BDD interview questions
Question bank82 questions on the practice rather than the tooling: discovery, formulation and automation, example mapping, declarative scenario design, living documentation and the anti-patterns.JUnit interview questions
Question bank82 JUnit 5 questions across the three module architecture, annotations and lifecycle, assertThrows and assertAll, parameterized tests, the extension model, Mockito and migration from JUnit 4.Banking domain testing interview questions
Question bank82 domain questions across the general ledger and double entry, payments and reversals, cards, lending and interest, KYC and AML, the batch and end of day cycle and reconciliation.Agile testing interview questions
Question bank82 questions across testing inside the sprint, the agile testing quadrants, user stories and acceptance criteria, definition of done, automation, regression strategy and the anti-patterns.Maven interview questions
Question bank82 questions for automation roles across the POM and lifecycle, dependency scopes and transitive conflicts, Surefire and Failsafe, profiles, multi module builds and CI.LoadRunner interview questions
Question bank82 questions across VuGen scripting and the action sections, correlation and parameterisation, transactions and pacing, Controller scenario design, Analysis and LoadRunner Enterprise.Salesforce testing interview questions
Question bank82 questions across the order of execution, governor limits and bulkification, the layered sharing model, sandboxes and refresh, Flow, Lightning locators and seasonal release regression.Functional testing interview questions
Question bank82 questions across test levels and types, equivalence partitioning and boundary analysis, decision tables, risk based prioritisation, exploratory testing and the automation boundary.Performance testing interview questions
Question bank82 tool agnostic questions across workload modelling, percentiles and results analysis, correlation and pacing, bottleneck diagnosis, monitoring, scalability and reporting.Robot Framework interview questions
Question bank82 questions across keyword design and abstraction, variables and scope, SeleniumLibrary and the Browser library, custom Python libraries, tags, templates and parallel execution with Pabot.Jira interview questions
Question bank82 questions for QA roles across workflows and transitions, JQL, the defect lifecycle, boards and sprints, test management add-ons, reporting and permissions.Cypress interview questions
Question bank82 questions across the command queue and retry-ability, selectors, intercept and network stubbing, component testing, CI and parallelisation, and the real limitations.Software testing interview questions
Question bank82 questions for freshers through to lead, across fundamentals, the testing lifecycle, test design technique, defect management, agile practice and strategy.JMeter interview questions
Question bank82 questions across test plan elements, correlation, timers and pacing, distributed execution, results analysis and troubleshooting.ETL testing interview questions
Question bank82 questions across warehouse modelling, slowly changing dimensions, source to target validation, incremental loads and the SQL that verifies them.TestNG interview questions
Question bank82 questions across annotations and execution order, data providers and factories, groups, dependencies, parallel execution, listeners and the suite XML.Tosca interview questions
Question bank82 questions across modules and scanning, TestCase Design, reusable blocks, buffers and expressions, distributed execution and risk based testing.Postman interview questions
Question bank82 questions across variable scopes and precedence, scripting and chaining, assertions and schema validation, authentication, data driven runs and Newman in CI.Cucumber interview questions
Question bank82 questions across BDD practice, Gherkin, step definitions and expressions, hooks, tags, data tables, shared state, parallel runs and the anti-patterns.Database testing interview questions
Question bank82 questions across schema and constraints, verification SQL, data integrity, transactions and isolation, indexes, migrations, security and NoSQL.Appium interview questions
Question bank82 questions across architecture, capabilities, locator strategies, drivers, gestures, hybrid contexts, parallel execution and troubleshooting.Manual testing interview questions
Question bank65 questions across fundamentals, test design, defect management, agile, scenarios and lead-level strategy, with model answers and follow-ups.Selenium interview questions
Question bank50 questions across WebDriver architecture, locators, waits and flakiness, interactions, framework design, Grid and CI, with model answers and follow-ups.Playwright interview questions
Question bank34 questions across architecture, locators, auto-waiting, assertions, fixtures, network mocking, tracing and parallelism.API testing interview questions
Question bank42 questions across HTTP semantics, schema validation, authentication, API security, tooling, contract testing and performance.Automation testing interview questions
Question bank30 tool-agnostic questions on what to automate, framework design, flakiness, CI/CD, test data, metrics and ROI.SDET interview questions
Question bank30 questions across coding, data structures, framework and system design, CI/CD, testability and quality strategy.Preparing for interviews, or need API coverage you can rely on?
QAble builds API test automation with ISTQB-certified engineers, including contract testing against your OpenAPI specification. Start with a free QA audit.