Chat needs two devices (or two accounts) at the same time. A single phone hides most of the problems. Each item has a reason and a way to check it.
Sending and receiving
1. Message order Why: wrong order changes the meaning of a conversation. How to check: send five short messages quickly from device A; compare order on device B. Repeat while B has a poor connection.
2. Delivery states Why: users read "sent", "delivered", "read" (or your equivalents) as promises. How to check: walk through every state: sending, sent, delivered, read, failed. Does each one appear at the right moment, and does it update without reopening the chat?
3. Failed sends Why: a silently lost message is the worst chat bug. How to check: send in airplane mode. Is the message marked as failed, kept in the field or queue, and is there a clear retry?
4. Offline queue Why: people write on trains and in lifts. How to check: write three messages offline, reconnect, and check order, duplicates and timestamps on the other device.
5. Duplicates after reconnect Why: retries can deliver one message twice. How to check: cut the connection exactly after tapping send, restore it, and count what the recipient sees.
Content
6. Long messages Why: layout and limits break at the edges. How to check: send a very long message with and without line breaks, and one long word or URL. Check bubble layout, scrolling and any character limit message.
7. Special content Why: emoji, links and pasted text behave differently. How to check: send emoji, accented text, right-to-left text, a link and a pasted multi-line block. See Unicode and emoji input.
8. Attachments Why: images and files add upload failure modes. How to check: see upload testing; also check how a failed attachment appears inside the conversation.
Around the conversation
9. Notifications and unread counts Why: wrong badges erode trust quickly. How to check: receive messages with the app in foreground, background and closed. Open the chat: do badge and unread marker clear correctly?
10. Blocking and reporting Why: users rely on it for safety. How to check: block a contact. Does the blocked person still deliver messages to you? Is the user told anything? Unblock and check what happens to messages sent in between.
11. Delete and edit Why: users expect a clear result: deleted for me or for everyone. How to check: delete a message, check both devices; edit one if supported and check the "edited" marker.
12. Long history Why: scrolling and loading older messages is where memory and speed problems show. How to check: open a chat with many messages, scroll to the start, and jump back to the newest one.
Related
- Hub: mobile app testing checklists
- Mobile game testing checklist
- E-commerce app testing checklist
- Offline basics: test the offline behavior of your app
Need a second pair of hands and devices for a real conversation? Start here.