Start from the abstract and move the the specific

Let's say you're testing a text field and you need a value for first name. Your first inclination might be to test with the value:

TomTheReallyLongNamedGuyWhoHasFunkyCharactersInHisName12345!@#$%^&*()_+-=


There's nothing wrong with that. It's a fine test value. However, if that value ends up finding what you think might be an issue, then work backwards from the issue uncovered to try to find a more specific test value that both highlights the issue and is also a more realistic value a user might input.

For example, let's say the issue uncovered is that the length of the name entered overwrites the available space on certains screens - then just use a really long name and ditch the special characters. Or let's say it's a hyphen that makes the application choke. Then ditch the length and do a simple hyphenated name.