Creating good test data is underrated. In the end, no matter how manual or automated, how exploratory or scripted, how this or that, having good data to test against is paramount. It can turn "yeah, it works in THAT situation" into "absolutely. It works."
A good data set, easily loaded, makes testing a lot of different bug aspects and edge cases easy. You don't have to spend a lot of time doing data entry; it's all there, in your data set. The point is to keep testing and not have to stop to change your data.
So what characterizes a good data set?
- You can load it easily and pretty much all at once.
- You know what's in there.
- It's got lots of good stuff like special characters and different languages.
- It shows the edges of your situation (blogs with no posts and blogs with 100 posts in a day)
- It has missing data (people with no first name, for example)
- It doesn't have overlapping data. If you have to change underlying data mid-test, that's an opportunity to stop testing.
More on creating good data sets later.