Resource library

QA Interview

CRED QA and SDET Interview Questions (2026)

Prepare for CRED QA SDET interview questions with 45 model answers on payments, UPI, APIs, mobile, automation, SQL, security, reliability, and examples.

27 min read | 3,734 words

TL;DR

Prepare for CRED by combining core QA skills with fintech risk reasoning. Practice payment state machines, UPI edge cases, API authorization, mobile interruption handling, exact-money code, SQL reconciliation, secure automation, incident analysis, and concise ownership stories.

Key Takeaways

  • Lead payment answers with money conservation, authorization, idempotency, truthful status, and reconciliation.
  • Model card bills, multibill, autopay, rewards, and UPI flows as explicit state machines with failure recovery.
  • Prove API correctness through downstream business effects, not status codes alone.
  • Use exact currency representations, deterministic test data, and concurrency tests for financial workflows.
  • Balance fast service-level feedback with focused mobile journeys, contract tests, and production observability.
  • Explain trade-offs, personal ownership, and measurable outcomes in every senior behavioral answer.
  • Verify the current CRED role and interview format with the recruiter because teams and loops can differ.

CRED QA SDET interview questions are likely to test whether you can protect money, identity, and customer trust while still delivering fast engineering feedback. Strong answers define the business invariant, identify failure states, select the cheapest reliable test layer, and explain how production evidence would expose a missed defect.

CRED's public product pages in 2026 describe credit card management and bill payment, UPI payments, rewards, multibill payment, and autopay. Use those surfaces as realistic practice domains, but treat the current job description and recruiter guidance as the authority for your actual team, stack, and interview loop. The questions below are preparation prompts, not leaked CRED questions.

TL;DR

Topic What a strong answer proves High-value failure example
Bill payments One intent creates one correct debit and bill settlement Timeout after the bank accepts payment
UPI Status, authorization, and beneficiary remain trustworthy Delayed success callback after the app shows pending
APIs Contracts and business effects survive retries and change Same idempotency key with a different amount
Mobile Critical flows recover from lifecycle and network interruption App killed after authorization but before confirmation
Automation Layers, data, and CI optimize reliable feedback Parallel workers mutate the same account
Data Ledgers and projections reconcile exactly Reward posted twice for one eligible payment
Security Trust boundaries deny misuse without leaking data User reads another member's payment object
Reliability Recovery preserves correctness under dependency failure Queue backlog drains but replays old events

Use payment gateway test case design for deeper payment scenarios and SDET coding interview practice for timed implementation work. Add API idempotency testing scenarios and SQL interview questions for QA to strengthen service and data preparation.

1. cred qa sdet interview questions: Product Risk and Test Strategy

Q: Which risks would you prioritize first in a CRED bill payment release?

Start with an unauthorized debit, wrong card or bill, incorrect amount, duplicate payment, false success, and a successful payment reported as failed. Rank each risk by financial impact, customer reach, reversibility, and how quickly monitoring can detect it. Cover lower-severity presentation issues after the money path, settlement evidence, and recovery controls have credible tests.

Q: How do you build a test plan from a short product requirement?

Translate the requirement into actors, permissions, inputs, states, side effects, dependencies, and measurable acceptance criteria. Draw the payment or reward lifecycle, then mark boundaries such as zero, maximum allowed amount, due date, retry window, and eligibility cutoff. Allocate unit, component, API, mobile, exploratory, performance, security, and monitoring checks according to the risk each layer can reveal.

Q: What would you do when the expected behavior for a pending payment is unclear?

Bring product, payments engineering, support, and operations around one concrete timeline: authorization occurred, the response was lost, and settlement is unknown. Ask who owns the source of truth, what the customer may safely do, when reconciliation runs, and which notification is permitted. Record the agreed state transition and service expectation in acceptance criteria.

Q: How would you choose regression tests for a one-day hotfix?

Trace the changed branch, its callers, stored data, downstream events, and customer surfaces before selecting tests. Run focused checks for the defect mechanism plus high-severity invariants such as single debit, correct card mapping, and recoverable status. Add contract and smoke coverage around the touched dependency, then use production guards such as staged rollout and targeted alerts.

2. Credit Card Bills, Multibill, Autopay, and Rewards

Q: How would you test a credit card bill payment end to end?

Create a controlled member, linked card, generated bill, eligible funding source, and known outstanding amount. Verify selection, amount editing rules, authentication, debit initiation, provider reference, bill status, receipt, history, notification, and eventual issuer acknowledgement according to the contract. Exercise decline, timeout before processing, timeout after processing, delayed confirmation, reversal, and a retry from another device.

Q: What are the hardest cases in a multibill payment flow?

The batch can contain cards from different issuers, amounts, due dates, and eligibility states, so partial outcomes are central. Test one child payment failing while others succeed, the user abandoning after authorization, a stale bill changing before submit, duplicate tap, and batch-level retry. Each child needs a stable identity and truthful status even if the interface summarizes the batch.

Q: How would you validate autopay safely?

Control the calendar, generated-bill time, configured execution date, mandate state, funding balance, and timezone in the test environment. Cover setup, modification, pause, resume, cancellation, pre-debit notice, successful execution, insufficient funds, expired authorization, and a bill arriving after the scheduled cutoff. Verify that a canceled instruction cannot be resurrected by an already queued job.

Q: How would you test rewards triggered by a successful payment?

Separate payment correctness from reward eligibility so a reward outage cannot corrupt the payment result. Cover eligible and excluded instruments, minimum boundaries, campaign start and end instants, duplicate success events, reversal, refund, and delayed reward processing. Assert one reward grant for one qualifying business event, with a traceable rule version.

3. UPI and Payment State Interview Questions

Q: How would you test a UPI payment that remains pending?

Force response loss after the payment service has sent the request, then expose delayed success, delayed failure, and unresolved outcomes from the simulator. The client must show uncertainty honestly, prevent unsafe duplicate submission, and provide a refresh or support path tied to the original transaction identity. Reconciliation should update history and notifications exactly once when a terminal event arrives.

Q: What does idempotency mean for a payment API?

One logical customer intent produces at most one financial effect even when requests, callbacks, or responses repeat. Verify sequential retry, simultaneous retry, first-response loss, key expiry, key scope per member, and reuse of a key with a changed amount or beneficiary. The assertion must reach debit, provider call, reward, receipt, and notification records.

Q: How would you test merchant restrictions for a RuPay credit card on UPI flow?

Build QR and VPA fixtures classified as merchant, person-to-person, malformed, unsupported, and ambiguously categorized according to the supported contract. Confirm an eligible card can pay allowed merchants while person transfers are rejected before authorization with a clear message. Change classification between scan and submit to reveal stale-cache behavior.

Q: What cases matter for UPI collect requests?

Cover a known merchant, unknown sender, modified amount, expired request, duplicate request, already paid request, and rapid spam from one VPA. Acceptance must require explicit customer authorization, while reject, block, and report actions need durable effects across devices. A request displayed as a credit rather than a debit direction is a dangerous usability defect.

Q: How do you handle out-of-order payment callbacks in tests?

Define permitted transitions and assign each provider event a stable identity plus ordering or version semantics. Deliver success before pending, failure after success, duplicates, and an old event after a newer correction. The consumer should ignore or reconcile stale information without regressing terminal state or replaying side effects.

4. API, Contract, and Service Testing

Q: What API test strategy would you propose for a CRED payment service?

Put pure validation and state rules in fast unit tests, exercise storage and queues at component level, and verify external schemas with consumer or provider contracts. API journeys should cover authorization, idempotency, transitions, pagination, errors, and downstream records using controlled dependencies. Keep a small end-to-end set across real integrated services for wiring confidence.

Q: How would you test object-level authorization?

Create two members and an operator role with deliberately different permissions. Attempt to read, cancel, retry, export, and mutate member A's transaction using member B's token, guessed IDs, and identifiers copied from list responses. Enforcement must occur at every service boundary, not just by hiding mobile controls.

Q: How do you validate API rate limiting?

First identify the protected identity, limit window, burst policy, endpoint group, and expected recovery contract. Send traffic just below, at, and above the boundary using separate members and tokens, then verify response code, headers, fairness, and absence of partial side effects. Move the clock through window reset in a controlled environment and test distributed requests across service instances.

Q: How would you test failure of an issuer or banking dependency?

Simulate connection refusal, slow response, malformed payload, authentication failure, throttling, and success returned after the caller times out. Verify bounded retries with jitter only for safe operations, circuit behavior, queueing limits, and an honest customer status. Recovery tests must drain backlog without a thundering herd or duplicate financial effects.

5. Mobile App, Accessibility, and Device Coverage

Q: How would you test OTP login without making the suite slow or insecure?

Use an approved test-only OTP provider or backend hook restricted to synthetic accounts and nonproduction environments. Cover correct, wrong, expired, reused, over-attempt, resend, delayed delivery, SIM or number change rules, and session creation. Keep real SMS checks sparse because they are costly and less deterministic, but retain one monitored integration path if the team owns it.

Q: What mobile interruptions matter during a payment?

Test incoming call, app backgrounding, OS process death, screen lock, network switch, low-memory recreation, orientation where supported, and return from an external authorization app. Place each interruption before submit, after authorization, and while status is unknown. Restored UI should query the transaction by stable identity rather than resubmit it.

Q: Which accessibility checks are critical in a fintech app?

Ensure screen readers announce payer, beneficiary, amount, fee, status, due date, and the consequence of the primary action in a sensible order. Test dynamic type, contrast, focus movement, error association, touch target size, and authentication countdowns without relying on color alone. A confirmation control needs an accessible name that distinguishes pay from request or receive.

Q: How would you select the device matrix?

Use supported OS policy, active customer distribution, manufacturer behavior, screen size, memory class, network capability, and failure history rather than choosing popular models by intuition. Maintain a small pull-request matrix, a broader scheduled cloud matrix, and targeted physical-device checks for payment handoffs, biometrics, and notifications. Include the oldest supported OS and one constrained device because lifecycle defects often hide there.

6. Coding and Debugging Questions for CRED SDET Candidates

Q: How would you code deduplication for repeated payment events?

Use a stable event ID and persist processing state in the same atomic boundary as the business effect whenever the storage design permits it. A memory-only set can demonstrate semantics in an interview, but it cannot protect multiple processes or survive restart. Reject the same ID carrying different content because that indicates corruption or misuse.

Save this first block as payment-events.mjs. It uses standard JavaScript APIs and defines the exact export used by the next block.

export class PaymentProjector {
  #events = new Map();
  #balances = new Map();

  apply(event) {
    if (!Number.isSafeInteger(event.amountPaise) || event.amountPaise <= 0) {
      throw new RangeError('amountPaise must be a positive safe integer');
    }
    const prior = this.#events.get(event.id);
    const signature = JSON.stringify(event);
    if (prior) {
      if (prior !== signature) throw new Error('event ID payload conflict');
      return false;
    }
    this.#balances.set(
      event.accountId,
      (this.#balances.get(event.accountId) ?? 0) + event.amountPaise
    );
    this.#events.set(event.id, signature);
    return true;
  }

  balance(accountId) {
    return this.#balances.get(accountId) ?? 0;
  }
}

Save the verification as payment-events.test.mjs, then run node --test payment-events.test.mjs.

import test from 'node:test';
import assert from 'node:assert/strict';
import { PaymentProjector } from './payment-events.mjs';

test('a duplicate event has one financial effect', () => {
  const projector = new PaymentProjector();
  const event = { id: 'evt-17', accountId: 'member-4', amountPaise: 12500 };
  assert.equal(projector.apply(event), true);
  assert.equal(projector.apply(event), false);
  assert.equal(projector.balance('member-4'), 12500);
});

test('changed content under one event ID is rejected', () => {
  const projector = new PaymentProjector();
  projector.apply({ id: 'evt-18', accountId: 'member-4', amountPaise: 100 });
  assert.throws(
    () => projector.apply({ id: 'evt-18', accountId: 'member-4', amountPaise: 200 }),
    /payload conflict/
  );
});

Q: How would you model payment status transitions in code?

Represent allowed moves explicitly instead of spreading conditional checks across controllers and UI code. Include the current version when concurrent workers can update the same payment, and reject stale writes at persistence. Terminal states need documented correction paths rather than arbitrary backward transitions.

This independent Node test is runnable as payment-state.test.mjs with node --test payment-state.test.mjs.

import test from 'node:test';
import assert from 'node:assert/strict';

const allowed = new Map([
  ['created', new Set(['authorized', 'failed'])],
  ['authorized', new Set(['pending', 'failed'])],
  ['pending', new Set(['succeeded', 'failed'])],
  ['succeeded', new Set()],
  ['failed', new Set()]
]);

function transition(from, to) {
  if (!allowed.get(from)?.has(to)) {
    throw new Error(`invalid transition: ${from} -> ${to}`);
  }
  return to;
}

test('pending payment may succeed', () => {
  assert.equal(transition('pending', 'succeeded'), 'succeeded');
});

test('success cannot regress to pending', () => {
  assert.throws(() => transition('succeeded', 'pending'), /invalid transition/);
});

Q: Why should payment amounts avoid binary floating point?

Values such as 0.1 are not represented exactly in binary floating point, so repeated arithmetic can create rounding surprises. Store INR as integer paise when the domain permits, or use a decimal type with explicit currency scale and rounding rules. Test conversion at API, database, report, and UI boundaries because representation bugs often appear between services.

Q: What do you look for when reviewing a flaky UI test?

Find uncontrolled time, shared data, unstable selectors, animation, network dependence, lifecycle races, and assertions that observe an intermediate state. Replace sleeps with a condition tied to user-visible readiness or the relevant API response. Reproduce with traces and repeated isolated runs, then confirm the product itself is not nondeterministic.

7. Automation Framework and CI Design

Q: How would you structure an automation framework for CRED-like products?

Separate business workflows, API clients, mobile or web screens, fixtures, data builders, environment adapters, and assertions. Keep financial invariants such as one debit or exact total in reusable domain assertions rather than burying them in page objects. Make dependencies injectable so simulators can produce timeout, reversal, and duplication deterministically.

Q: Which locator strategy would you use for a frequently changing interface?

Prefer accessibility roles, labels, and stable test identifiers that reflect intentional contracts. Avoid coordinate taps, long XPath expressions, localized visible text when locale varies, and CSS tied to visual nesting. Work with developers to expose identifiers for dynamic transaction rows and status controls.

Q: How do you design safe parallel test data?

Allocate each worker a unique member, cards, funding source, idempotency namespace, and campaign eligibility record. Build data through supported APIs or controlled fixtures, record ownership, and clean only resources created by that run. Time-based cases need isolated clocks or calendars so workers cannot change a shared system date.

Q: How would you make CI feedback faster without hiding defects?

Measure queue time, setup time, execution duration, and retry rate before optimizing. Run lint, unit, component, and changed-area contract tests early, then shard independent integration tests by historical duration. Cache immutable dependencies and build artifacts, but never cache mutable test state or credentials.

Q: What is your process for flaky-test triage?

Capture failure signature, seed, worker, environment, trace, request IDs, and recent changes automatically. Cluster failures by mechanism, reproduce the smallest case, and assign product, test, environment, or dependency ownership. Fix deterministic causes first, then run the test repeatedly under the triggering conditions to verify stability.

8. SQL, Data Integrity, and Reconciliation

Q: How would you reconcile payment records with reward records in SQL?

Join on a stable business event or payment ID, not amount and timestamp alone. Filter to the payment states eligible under a specific rule version, aggregate reward grants, and flag missing, duplicate, or unexpected awards. Treat reversals and late-arriving events explicitly so the query does not label valid adjustments as corruption.

The following SQLite example is executable. Save it as reconcile.sql, then verify with sqlite3 :memory: < reconcile.sql; it returns payment p2 with reward_count equal to 2.

CREATE TABLE payments (
  payment_id TEXT PRIMARY KEY,
  status TEXT NOT NULL,
  eligible INTEGER NOT NULL CHECK (eligible IN (0, 1))
);
CREATE TABLE rewards (
  reward_id TEXT PRIMARY KEY,
  payment_id TEXT NOT NULL,
  FOREIGN KEY (payment_id) REFERENCES payments(payment_id)
);
INSERT INTO payments VALUES
  ('p1', 'succeeded', 1),
  ('p2', 'succeeded', 1),
  ('p3', 'failed', 1);
INSERT INTO rewards VALUES
  ('r1', 'p1'),
  ('r2', 'p2'),
  ('r3', 'p2');

SELECT p.payment_id, COUNT(r.reward_id) AS reward_count
FROM payments AS p
LEFT JOIN rewards AS r ON r.payment_id = p.payment_id
WHERE p.status = 'succeeded' AND p.eligible = 1
GROUP BY p.payment_id
HAVING COUNT(r.reward_id) <> 1;

Q: How would you detect duplicate payment effects in a database?

Group by the business identity that should be unique, such as member, idempotency key, operation type, and key scope. Compare duplicate API rows with ledger entries and provider references because two request records may legitimately point to one effect. Inspect concurrent insert timing and uniqueness constraints to locate the race.

Q: What would you test in a payment-schema migration?

Verify forward and backward compatibility for old and new application versions during the rollout window. Test null or default behavior, constraints, indexes, backfill idempotency, lock duration, partial failure, restart, and rollback strategy. Reconcile row counts and financial aggregates before and after the change.

Q: How do you test eventual consistency without arbitrary sleeps?

Poll a documented observable state with a bounded deadline and useful failure diagnostics. Record event creation, consumption, projection update, and notification timestamps so the test identifies which stage exceeded its expectation. Use a controllable queue or consumer hook for deterministic component tests, then reserve real timing assertions for a smaller integration layer.

Q: Which observability signals help diagnose a stuck payment?

Correlate a customer-safe operation ID across API trace, state transition, queue event, provider request, reconciliation record, and notification. Monitor rate and age of pending transactions, transition failures, consumer lag, provider latency, retry volume, and reconciliation mismatches. Structured logs should capture decisions without tokens, full card data, or unnecessary personal information.

9. Security, Performance, and Reliability

Q: How would you threat-model a new payment feature as an SDET?

Map actors, assets, entry points, trust boundaries, privileged operations, and external dependencies before listing abuse cases. Consider account takeover, object-level authorization bypass, amount tampering, beneficiary substitution, replay, leaked secrets, forged callbacks, and denial of service. Convert important threats into automated negative tests, design controls, monitoring, and manual security review.

Q: How should test systems handle personal and payment data?

Generate synthetic members by default and tokenize or mask approved datasets when realism is required. Give CI identities least privilege, inject short-lived secrets at runtime, redact traces and screenshots, and enforce retention. Prevent pull requests from untrusted forks from reaching payment sandboxes.

Q: How would you performance-test a bill payment service?

Define a workload from expected request mix, bursts near due dates, dependency latency, and background reconciliation rather than chasing one throughput number. Measure acknowledgement and terminal-state latency, errors, queue age, resource saturation, and correctness under load. Inject a slow issuer while other issuers remain healthy to test isolation.

Q: How would you investigate a spike in payments stuck in pending?

Confirm customer impact and freeze unsafe retries before changing code. Segment by issuer, payment rail, app version, region, state age, and deployment, then trace the earliest divergence across request, queue, provider, and callback. Compare recent releases and dependency health while testing competing hypotheses with evidence.

Q: What chaos scenarios are appropriate for payment systems?

Use approved environments and begin with bounded dependency latency, dropped callback, queue pause, instance termination, stale cache, and database failover. Define steady state, money invariant, abort threshold, blast radius, and recovery evidence before injecting a fault. Never run an uncontrolled experiment that can reach real member funds.

10. cred qa sdet interview questions: Behavioral and Preparation Answers

Q: Tell me about yourself for a CRED QA or SDET role.

Give a 60 to 90 second arc connecting your current scope, strongest quality engineering capability, one quantified outcome, and the fintech risks you want to solve. Select evidence such as reducing feedback time, catching a concurrency defect, improving API testability, or leading incident prevention. Distinguish what you personally designed from what the team delivered.

Q: Describe a disagreement about releasing a risky feature.

Explain the shared goal, disputed evidence, and customer consequence without casting colleagues as careless. Show how you made uncertainty concrete through a targeted experiment, defect reproduction, state model, or rollout guard. State your recommendation and who owned the final decision.

Q: How would you answer a question about owning a flaky test suite?

Start with the baseline first-attempt pass rate, runtime, and dominant failure categories. Describe changes to data isolation, synchronization, observability, quarantine policy, and ownership, then provide the measured result over a meaningful period. Mention any product races uncovered because flaky tests can reveal real nondeterminism.

Q: Why do you want to work at CRED?

Connect your motivation to public product problems such as card management, bill payments, UPI, rewards, and reliable financial experiences. Identify a specific engineering challenge, for example preserving one financial effect across mobile interruption and asynchronous providers, that matches your experience. Add what you hope to learn without pretending to know internal architecture.

Q: What would your first 30, 60, and 90 days look like?

In 30 days, learn the product domain, transaction states, architecture, release flow, incident history, test data controls, and team quality goals. By 60 days, own a risk area, improve one diagnostic or feedback bottleneck, and contribute reliable coverage at the right layer. By 90 days, deliver a measured quality improvement such as faster detection, lower flake, stronger reconciliation, or a safer release gate.

Use the SDET scenario-based interview guide for another timed practice set. You can also rehearse aloud in the QA interview practice workspace and tailor examples from your own experience instead of memorizing these model answers.

How Interviewers Grade Your Answers

Interviewers usually look for reasoning quality rather than a giant list of test cases. A senior answer links customer harm to an invariant, chooses evidence across layers, handles asynchronous failure, and explains recovery. A coding answer is graded on correctness, edge cases, complexity, testability, and communication, not syntax alone.

Signal Weak evidence Strong evidence
Product judgment Tests every field equally Prioritizes irreversible and silent harm
Technical depth Checks only UI messages Traces API, event, storage, and provider effects
Fintech correctness Treats 200 as success Reconciles debit, status, reference, and retry behavior
Automation design Automates all cases at UI level Places checks at the cheapest trustworthy layer
Debugging Guesses from the final error Finds the earliest divergence with correlated evidence
Communication Recites tools and buzzwords States assumptions, trade-offs, ownership, and outcome
Security Relies on hidden controls Tests authorization at boundaries and protects artifacts

Structure scenario answers as context, invariant, risks, test design, observability, and recovery. Structure behavioral answers as situation, personal action, measurable result, and learning. If a requirement is unknown, say what you would clarify and continue under a labeled assumption rather than freezing or inventing policy.

Common Mistakes

  • Calling a payment successful because the API or app returned success without checking settlement evidence.
  • Listing happy-path cases while ignoring timeout ambiguity, concurrency, duplication, reversal, and reconciliation.
  • Using floating-point amounts or comparing formatted currency strings as the financial oracle.
  • Assuming retries are safe without identifying the idempotency scope and downstream side effects.
  • Testing authorization only through hidden buttons instead of cross-member service requests.
  • Depending on production data, shared accounts, or reusable OTPs that make automation unsafe.
  • Solving every risk with an end-to-end mobile test when a component or API check is faster and clearer.
  • Masking flaky behavior with unlimited retries and reporting only eventual pass rate.
  • Quoting invented CRED architecture, interview stages, transaction limits, or internal service targets.
  • Giving behavioral stories with team outcomes but no personal decision, action, or measured result.
  • Ending incident recovery when services restart while ambiguous payments remain unreconciled.
  • Memorizing model answers so closely that follow-up questions expose missing understanding.

Conclusion

The best preparation for CRED QA SDET interview questions combines general test engineering with precise fintech judgment. Practice card bill, multibill, autopay, UPI, reward, API, mobile, data, security, and reliability scenarios until you can define the invariant and recovery path before listing tools.

Choose one payment journey and draw every state from initiation to issuer acknowledgement. Add duplicate delivery, response loss, app termination, provider delay, reversal, and reconciliation, then explain which test layer proves each property. Finally, upload your resume in the QAJobFit dashboard and align each project bullet with the ownership signals this guide emphasizes.

Interview Questions and Answers

How would you test a credit card bill payment?

I would establish a known card, bill, amount, funding source, and provider reference, then trace the operation from authorization through issuer acknowledgement. Coverage would include duplicate submit, response loss, decline, delay, reversal, receipt, history, and reconciliation. The server-side financial record, not the confirmation screen, is the decisive oracle.

How do you test payment idempotency?

I repeat one logical request sequentially and concurrently, including a retry after the original response disappears. I verify one debit, one provider operation, one reward decision, and consistent history. Reusing the key with altered business input must produce a defined safe rejection.

How would you test multibill partial failure?

I force selected child payments to complete, fail, and remain unknown inside one batch. Every child retains its own identity and status, while the batch summary accurately represents the mixture. Retrying unresolved items cannot replay those already completed.

How do you validate an autopay feature?

I control bill arrival, execution date, mandate status, funding balance, and timezone. Tests cover lifecycle actions, notifications, late statements, insufficient funds, duplicate jobs, and cancellation racing with a queued execution. An inactive instruction must stay inactive after worker recovery.

How would you test object-level API authorization?

I use separate principals and roles to request or mutate each other's transactions through every exposed service path. Denial must happen beyond the client and reveal no sensitive object detail. Operator privileges also receive least-privilege and audit checks.

Why use integer paise for INR tests?

Integer minor units avoid binary floating-point representation errors for ordinary INR amounts. I still enforce currency scale, safe numeric bounds, serialization, and explicit conversion at interfaces. Domains needing different precision require a suitable decimal representation instead of an assumed two-place rule.

How do you reduce flaky mobile payment tests?

I isolate member data, control providers, replace sleeps with observable readiness, and preserve traces with operation IDs. Lifecycle and network races are reproduced deliberately before deciding whether the defect belongs to the product or test. Temporary quarantine has both an owner and an expiry.

How would you reconcile rewards with successful payments?

I join the eligible payment event to reward grants using a stable business identifier and rule version. Aggregation exposes missing or repeated grants, while reversal records explain legitimate negative adjustments. Results are checked against known fixtures before operational use.

What metrics matter in payment performance testing?

I track acknowledgement and terminal-state latency, failure rate, queue age, saturation, dependency behavior, and invariant violations. The workload includes realistic bursts and a degraded provider. Recovery time and post-run reconciliation matter as much as peak throughput.

How do you investigate stuck pending transactions?

I segment impact, follow correlated evidence across API, queue, provider, callback, and projection, and find the earliest missing transition. Unsafe customer retries are contained while hypotheses are tested. Resolution includes reconciliation of every ambiguous operation and verification of the preventive control.

How would you design test data for parallel payment tests?

Each worker receives an isolated synthetic member, instruments, balances, identifiers, and campaign state. Creation and cleanup are attributable to that run, and shared external accounts are guarded at the narrowest boundary. Secrets and customer-derived records are excluded from ordinary fixtures.

How do you communicate release risk?

I describe affected journeys, financial invariants, evidence collected, open uncertainty, detection controls, and rollback or disablement options. My recommendation separates blocking harm from acceptable residual risk. The accountable owner can then decide with a traceable rationale.

Frequently Asked Questions

What is the CRED QA or SDET interview process in 2026?

The loop can vary by team, seniority, location, and active hiring plan. Treat the current job post, interview invitation, and recruiter guidance as authoritative, while preparing product scenarios, coding for SDET roles, automation design, debugging, and behavioral evidence.

What topics should I study for a CRED QA interview?

Study payment state machines, card bills, UPI, rewards, API testing, mobile interruptions, SQL reconciliation, security, performance, and incident recovery. Pair those domains with practical risk prioritization and clear defect communication.

Do CRED SDET candidates need coding skills?

An SDET role commonly requires comfortable coding, data structures, test design, debugging, and framework reasoning, though the exact language and depth depend on the opening. Practice runnable solutions with tests and explain production concerns beyond the exercise.

How should I test a pending UPI payment in an interview answer?

Cover lost responses, delayed success or failure, duplicate customer action, app restart, reconciliation, and one-time notifications. Emphasize a stable transaction identity and a truthful pending state instead of assuming failure.

What payment testing concept matters most for CRED preparation?

No single concept is sufficient, but idempotency plus reconciliation is especially important for asynchronous payments. It connects retries, duplicate events, uncertain outcomes, downstream effects, and customer-visible correction.

How can I prepare CRED-specific answers without internal information?

Use CRED's public product pages and the role description to create realistic card, UPI, reward, and mobile scenarios. Label assumptions, avoid claims about private architecture, and verify the current hiring process with the recruiter.

What should I ask a CRED interviewer?

Ask which customer journeys and invariants the team owns, how test data and payment simulators are governed, where quality feedback is slow, and what success looks like in the first three months. These questions reveal scope without requesting confidential details.

Related Guides