QA Documentation Generator (XML Based Rules):
Essentially, this is an application that generates documentation like
Test Plans, Test Summary documents, software designs, requirements
documents, etc.
Phases:
- Generate a test plan based on a hard coded template, with
hardcoded fields, that outputs to HTML only. Images are not supported.
Rich text is not supported.
- Write pyunit tests.
- Add Rich Text Feature, and Test Summary option.
- Add "Save To Database" function (this requires a central database to contact, likely a mysql DB, or possibly postgres) The
DB will store by Product, Release, and Type of document. (Product
"VACD", Release "eventreplicator 9.1", Type "Test Plan"). Project will
be definable at storage time. Class will need to be manually inserted
for now.
- Release to public. Bugfixes Galore!
- Impliment PDF output. Use HTML only for preview via wxmozilla, or
similar functionality, and impliment image support (via file open
dialog). The image information will be stored in the database as a
binary file. Preview will happen in HTML using images, as files pulled
from the database, and stored locally.
- Define rules to be set from the database, restructure database
to deal with feature requests if needed. Release code update if DB
schema changed
- Take rules for document (requirements, headings, sections, types,
information on the section, etc) from the database. This also defines what "Type" of document it is.
- Impliment links to other document information. Essentially, pull
information from the test plan, into the test summary, and so on. This
should be inserted into the XML document as a rule ("Class global
reviewers here, Test Plan Distribution list here" style). The
information from previous documents should be available as any sort of
information (description, example, actual information, etc.) If the
information referenced does not exist, this should be noted in the GUI,
and should require you to insert your own.
- Create web frontend to pull a document out of the database as an
HTML file, and display it. Essentially, remove GUI from existing code,
and just impliment the "export" feature for HTML.
GUI Framework Documentation:
wxwidgets documentation (wxpython)
HTML Generation:
makeHTML documentation
PDF Generation:
PDF Generation Library
PDF Generation Tutorial