The Programmable Software Development Environment (PSDE) contains a Monte-Carlo Test capability that integrate software testing into all levels of a software development project. Software Modules and Kits can be easily tested for not only proper operation but also resistance to programming errors relative to their use.

  • Testing modules (subroutines, functions, classes, etc) individually that make up a software product can greatly improve the effectiveness of the overall test effort. The module is less complex than the product and hence can be more thoroughly tested. This will greatly reduce the total number of tests needed to produce a quality product.
  • Modules can be designed with methods that are resistant to programming errors relative to their use. These errors are detected when the executable is prepared (compiled and linked). Consequently, it is quite costly to quantitatively evaluate programming error resistance capability of a module. A unique test program will need to be developed for each unique test condition.

The Programmable Test System is designed to test individual modules in the same way software products are tested.

  • Prepare a test program to subject the module to a unique test sequence
  • Prepare the associated executable test program (compile and link).
  • Execute the test module.

Test sequences are prepared from a set of defining rules which can include programming errors that should be detectable during the preparation of the executable test program. This program can be used to test programs, modules, or software kits; and will score not only proper operation, but also proper error handling and reporting, as well as attack resistance.

  • Valid data
  • Invalid data (bad date/number formats, references to non-existent records, etc)
  • Random data (Monte-Carlo)
  • Malicious data (buffer overflow, SQLi, XSS, CSRF, de-serialization, and many other payloads)

Formal Software Quality programs are now practical. All Quality programs such as ISO9001 have the following three components:

  1. Enforceable Standard Methods and Procedures: The collection of software kits rapidly converges to a set of software engineering standard libraries for the organization.
  2. A Measure of Quality: The Monte-Carlo Test capability provides a means of evaluating the resistance of modules and parts to errors in the design phase of the project.
  3. A means of updated the Standard methods or Quality measure: The responsible organization can easily develop all of the defining files for the PSDE. There are no required “silent partners”.