The internal structure of a Lotus Notes/ Domino database is best described as a container model, to get at the data inside you need to access the database container which is protected by its ACL (Access Control List). Once your inside pretty much everything is a 'Document', a unique record identified by its UNID. Some of these 'documents' are design elements like forms, agents, views (and even its ACL) etc while others are actual data records. A corruption involves one or more of these breaking, depending on what it is and how broken it is depends on what you will experience when you try to open the database or access it via the web, notes client or a third party piece of software.
Given the above, I can't see much benefit in trying to create a 'corrupt' database for testing since for this to be effective you need to know what bit you are breaking. IBM protect this, and will always protect this propriatory information as they don't want anyone building an alternative Notes client.
The last thing I'll add is that in almost fifteen years of Notes development work I have encountered corruptions so rarely that there isn't much of a business case to writing code to analyse corruptions that happen so rarely, good error handling in your code will be more than enough in the vast majority of situations.