You've got a distributed app where messages traverse between clients through a server. I wish I had something like that to test :-).
You've probably tried in your life a number of chat applications (Skype, IRC, online chats, Gmail chat, comments in Word documments), so you know how different chats can be. You probably have also your own image of how chat room should look and work like. Therefore, you should thus ask yourself more about expected behavior of the application, before inventing test cases.
- Should messages be always delivered?
- Is it real-time synchronous chat or more like a forum, where people can leave a message for the future (e.g., chat here on StackExchange)
- How messages should be delivered to peers that have temporary network connectivity problems? Different applications have different politics about buffering messages when a recipient is not online. Some of them buffer them on sender side (Skype), other cache them on server.
- Should messages be delivered over secured channel? Combination of SSL an Flash can be tricky to implement correctly
- Should the same user be able to log in from two different machines at the same time?
- What media peers can exchange on chat? Text, formatted text, images?
- How many people can participate in a chat? Two? Three? Four? Are there any limitations? Should "real-timeness" of message delivery scale well for large number of peers?
- Are there any special commands on chat? For instance IRC provided a number of commands for setting up a topic on a channel, moderating the channel, etc.
- How large messages can be? Can I sent encoded MP3 through it without problem? ;-)
- Can special characters be sent by client? How are characters encoded? UTF-8, ASCII or other standard? Is encoding fixed on client side (as was in IRC) or it is negotiated between client and a server automatically?
- How are messages ordered in a chat? Based on posting time or delivery time? This particularly relates to messages sent when peer(s) are not online
- How output should be formatted? Compare for instance Skype with chat room here.
- Can you edit/remove messages you've already sent?
- Should time of message sending be shown? How does this should work for clients from different time-zones or with some inter-clock skew?
- What about DoS attack? Is there a risk of such?
- Are chat entries persisted in DB? If so, then what about SQL injection?