An edge case is rare situation. In software design, edge cases often threaten to break a system and the user experience. Edge cases deal with the extreme maximums and minimums of parameters. For example, if an application allows for “unlimited” photo uploads knowing that users rarely upload more than 1000, how does the system deal with the edge case of the user who uploads millions of photos? Are there boundaries at this maximum end? That is an edge case, an unlikely-yet-potentially disastrous situation.