|
Software For Business Intelligence Analytics: |
|
Quality Assurance, (QA) |
Home | Installation | Usage | FAQs | Utilities | Architecture | QA | Tests | Links | Mailing List | License | Author | Download | Thanks
This is a description of the quality assurance process for the fractal program suite. The programs have a substantial regression test suite (see the markets directory in the source tree, and http://www.johncon.com/ndustrix/tests.html that exercises the majority of lines of code in the programs, and almost all available command line options. Additionally, there is a test suite in each of the source directory trees, (simulation/test and utilities/test,) that verifies the programs over a wide range of input criteria. The test suite exercises the programs in an envelope of corner solutions taken from industrial market data, and fabricated using theoretical values where the program's results can be compared against theoretical expectations. These tests are presented in Appendix B of the document, (fractal.ps.gz, or fractal.pdf, about 6MB.) The results compare favorably with the theoretical values. Static verification techniques were used throughout the development of the program suite, and the diagnostics from the GCC Lint(1) seem within reasonable bounds, (no errors or warnings were permitted-the maximum number of checks, errors, and warnings were used via command line options to GCC.) In addition to the GCC Lint(1), the ATT SysV, Rel. 4.2 system Lint(1) was used for development, (again, no errors or warnings were permitted.) The sources were formated for consistency with the indent program, available via anonymous ftp from ftp://prep.ai.mit.edu/pub/gnu/ in /pub/gnu/indent.1.9.1.tar.gz. The lacheck program, available in the Auc-Tex package from ftp://ftp.iesd.auc.dk/pub/TeX/LaTeX/, was used for static verification of the LaTeX sources of the manuscript. Again, no errors or warnings were permitted. As an informal metric, on programming quality and maintainability, (using the Unix utilities, grep(1), wc(1), etc.,) the fractal program suite consists of slightly more than 60 programs, totalling slightly more than 33 thousand lines of source code, of which almost 18 thousand are executable or declarative, of which almost 7 thousand are in-line commented. The documentation for the fractal program suite consists of almost 11 thousand lines of manual pages, and just over 15 thousand lines of HTML. The LaTeX sources for the manuscript consist of almost 21 thousand lines. This gives a metric ratio of just under 4 lines of collateral for each line of executable/declarative code-which, although adequate for the research environment, is not adequate for production programs. As noted in the documentation for each program, the fractal program suite uses intensive numerical methods, and there is little or no provision for exception handling. Additionally, many of the programs use search-for-solution techniques, (for example, Newton-Raphson,) which are known to exhibit numerical instability; yet others are NP on complexity, increasing support and maintenance issues. The process described is not comprehensive. However, it is probably minimally adequate for useful and maintainable research programs. By no means can it be regarded as qualifying the programs as meeting production standards, or for mission critical applications.
A license is hereby granted to reproduce this software source code and to create executable versions from this source code for personal, non-commercial use. The copyright notice included with the software must be maintained in all copies produced. THIS PROGRAM IS PROVIDED "AS IS". THE AUTHOR PROVIDES NO WARRANTIES WHATSOEVER, EXPRESSED OR IMPLIED, INCLUDING WARRANTIES OF MERCHANTABILITY, TITLE, OR FITNESS FOR ANY PARTICULAR PURPOSE. THE AUTHOR DOES NOT WARRANT THAT USE OF THIS PROGRAM DOES NOT INFRINGE THE INTELLECTUAL PROPERTY RIGHTS OF ANY THIRD PARTY IN ANY COUNTRY. So there. Copyright © 1994-2011, John Conover, All Rights Reserved. Comments and/or bug reports should be addressed to:
|
Home | Installation | Usage | FAQs | Utilities | Architecture | QA | Tests | Links | Mailing List | License | Author | Download | Thanks