Skip to content
QA Knowledge Hub

Test cases for push notifications

Updated 2026-11-13 · 6 min read

These 30 cases use explicit test fixtures and checkable outcomes. Cover normal behavior, boundaries, recovery, security and usability, then adapt the requirements to your product.

How to answer in an interview

Ask which platforms, notification categories, privacy rules and delivery guarantees apply. Separate provider acceptance, device receipt, visible presentation and user interaction. Then test account changes and stale notifications before adding cosmetic cases.

Scope and test data

These 30 cases assume an isolated notification backend with test devices only, transactional and optional marketing categories, authenticated deep links and an in-app activity list. Use synthetic event IDs and content, never real customer messages. Record the app/OS versions, permission state, category settings, expiry policy and measurement targets before each run.

Android documents notification permission behavior for supported OS versions; provider acceptance is not a promise of immediate visible delivery. Firebase documents message lifespan and expiry. Background execution, focus modes and battery restrictions can change observations. Treat an absent banner as a symptom to locate, not automatic proof that the backend failed.

These are proposed manual test cases, not an execution report. Run security and load checks only in an authorised isolated environment. Record agreed limits before execution; a case without its required limit is not ready to pass or fail.

Permission and preferences

IDCategoryTest caseExpected result
N01FunctionalInstall fresh, trigger the designed permission request and allowApp records the permitted state and a test notification can be presented
N02NegativeDeny notification permissionApp remains usable; it does not claim notifications are enabled
N03FunctionalEnable notifications later through OS settingsReturning to the app reflects the new state and registration is reconciled
N04FunctionalRevoke permission in OS settingsApp stops presenting itself as enabled; other app features still work
N05FunctionalDisable marketing while keeping transactional notifications enabledMarketing test event is suppressed; transactional event follows its own rules
N06FunctionalDisable one supported notification categoryThat category is suppressed without disabling unrelated categories
N07FunctionalSign out before generating a private eventBackend no longer targets that signed-out account on this device
N08SecuritySign in as B on a device previously used by AB receives no new private notification intended for A
N09FunctionalRegister a second device for the same test accountDelivery targets both or the chosen subset exactly as the multi-device policy specifies
N10FunctionalRotate the registration token in an authorised fixtureBackend uses the new token; stale token is retired without duplicating logical delivery

Delivery, expiry and interaction

IDCategoryTest caseExpected result
N11FunctionalReceive an event with the app in foregroundConfigured in-app presentation appears once without duplicate system presentation
N12FunctionalReceive with the app in background and permission enabledNotification appears according to OS/category policy and opens the intended app state
N13CompatibilityReceive with the app not running on each supported OSObserved handling matches the documented platform lifecycle; no universal delivery assumption is used
N14FunctionalTap a notification targeting an existing authorised itemThe correct item opens, not a generic or unrelated screen
N15SecurityTap a private notification after session expiryAuthentication occurs before private item content is displayed
N16NegativeTap a notification whose target has been deletedA safe unavailable-item screen appears without a crash
N17FunctionalReconnect a device before message expiryEligible pending event is handled under the provider and app delivery policy
N18BoundaryReconnect only after the configured message expiryExpired event is not presented as a new actionable alert
N19FunctionalReceive two updates sharing the configured collapse identityThe resulting notification reflects the documented latest-update policy
N20NegativeDeliver the same logical event twice through the test harnessApplication-owned processing creates one activity entry and no duplicate business action

Privacy, presentation and operational evidence

IDCategoryTest caseExpected result
N21SecurityReceive private content with lock-screen previews disabledSensitive body content is hidden according to the privacy configuration
N22SecurityAlter a deep-link resource ID to another account's itemServer denies access even if the app opens the route
N23FunctionalDismiss a notification without opening itDismissal does not falsely mark the underlying item read unless explicitly designed that way
N24FunctionalOpen the item in-app before tapping its old notificationOld notification opens current state without repeating a completed action
N25UISend a long title and Hindi bodyTruncation remains readable; full authorised content is available after opening
N26UIRead and act on a notification using assistive technologyTitle and supported actions have useful spoken labels and reachable targets
N27CompatibilityRepeat with focus mode and battery restrictions on supported devicesSuppression or delay is recorded distinctly from provider rejection
N28PerformanceMeasure event-to-receipt on a controlled connected device cohortDistribution and failures meet the agreed test target; provider acceptance is timed separately
N29NegativeReturn a permanent invalid-token response from the provider stubToken is retired; backend does not retry it indefinitely
N30NegativeReturn a transient provider failure in the isolated testBounded retries follow policy without multiplying activity entries or sending after expiry

Keep four timestamps separate

Record event creation, provider acceptance, device receipt and open action where instrumentation permits. A provider message ID proves only that stage of the workflow. Missing device telemetry should be reported as missing evidence, not converted into a delivered count.

For the interview follow-up “Can push be guaranteed?”, explain the product's fallback. A time-sensitive item may need an in-app status source because a notification can be delayed or suppressed. Test that source independently rather than promising universal instant delivery.

Downloads

Quick answers

Does a successful provider response mean the user saw the notification?

No. Device connectivity, expiry, permissions and OS presentation rules are separate stages.

Which notification case is most important for privacy?

Account switching on a shared device: an old registration must not deliver the previous account’s private events to the new user.

Sources

Want a project you can show in interviews?

The portfolio project kit walks you through testing a deliberately buggy app with Selenium or Playwright and API tests, then explaining it. The app itself is free.