Testing of new modules

From CrossWire Bible Society
Revision as of 20:11, 9 December 2010 by David Haslam (talk | contribs) (Lexicons: Category:Testing)

(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

This is a new page. We should have some common criteria which we put down to testing a module.

All modules listed on Modules in the beta repository will require testing.

All modules

Conf file should be encoded correctly with the same encoding as the module. "About" section should not have formatting or tags which are not mentioned in the .conf wiki section.

All features should be listed in the conf file of the module. If not, all front-ends can't use the features. (TODO: how to know what the features should be?)

Try to find a piece of text for each feature. Does it work with all front-ends which support that feature?

If you suspect a module bug, please take note of the advice in DevTools:Modules#Debugging_modules.


Open the first and the last verse of each book. (TODO: list of books and their last chapter:verse?) Compare them to a module you know is correct to see if they have the correct text (if you know or at least can guess the words of the language).

Select some random verses from each book and see if they are correct.

If you find a missing verse go back in the module to see if a verse or a bunch of verses has been moved to the end of the previous verse. In this case the original text had a different versification scheme than the KJV one we use ATM. It would be a good practice to notify this in the conf file "About" section.


Try to navigate in the tree structure. Try to find a more "original" source text or some other source from which you can see what the book should contain. Comparing several front-ends is helpful. For example there have been problems with certain modules when some front-ends try to get the key list in certain way. Some front-ends may fail there while others succeed.


Try to access the first and the last entry. If a front-end offers more than one way to move between the entries try all of them. Broken modules may have for example infinite loops.