Folder Directory Hierarchy

We organise the test cases using a structured directory hierarchy to ensure consistency and clarity during testing. This organisation supports the efficient targeting of individual defined structures, for example, when testing the role attribute for abstract elements in our DocBook schema, the test case components are organised as follows:

Example 2. Tree diagram that breaks down the file directory structure of test cases

+---bloomsbury-mods-tests 
¦   +---condition-attribute 
¦   ¦       fail.xml 
¦   ¦       pass.xml 
¦   ¦        
¦   +---outputformat-attribute 
¦   ¦       fail.xml 
¦   ¦       pass.xml 
¦   ¦        
¦   +---relation-attribute 
¦   ¦       fail.xml 
¦   ¦       pass.xml 
¦   ¦        
¦   +---role-attribute 
¦   ¦   +---abstract 
¦   ¦   ¦       fail.xml 
¦   ¦   ¦       pass.xml 
¦   ¦   ¦        
¦   ¦   +---address 
¦   ¦   ¦       fail.xml 
¦   ¦   ¦       pass.xml 
¦   ¦   ¦

Example 3. Abstract Defined Structure

db.abstract.role.attribute = 
      attribute role { "blurb" | "authorAbstract" | "extract" } 
        db.abstract.attlist = 
          db.abstract.role.attribute 
          & db.common.attributes 
          & db.common.linking.attributes

Each test case is designed to validate against a specific defined structure, so in this instance, not only does it test a list of attributes that an abstract element can have, but the test also validates that the role attribute of abstract elements conforms to one of the following allowed values:

  • blurb

  • authorAbstract

  • extract


Although the test cases can be individually targeted during testing, which should significantly reduce the processing time, they are also designed to be valid when run against the entire test suite. Executing the whole suite ensures comprehensive regression testing, flagging if new modifications to the schema have inadvertently broken existing functionality.