Geant4 Testing and Quality Assurance and User Support
Report to Workshop and TSB - September 1999

John Allison, 13th September 1999
A separate document reviews current status and plans at July 1999.
A thorough survey of system testing tools and recommendations for development was submitted to the Collaboration and presented at the Geant4 Workshop by Fred Jones in September 1999.

The Geant4.0.1 Release

  • Some new functionality (improvements to photon evaporation, low energy electromagnetic processes)
  • Automated build with granular libraries (recommended as default)
  • RogueWave emulation with the "STL Interface"
  • Extensive bug fixing (some thrown up by the STL Interface, some left over from Geant4.0, some new ones)
  • All tests run successfully except:
  • reading STEP file on DEC (see comments on DEC below)
  • exampleN04 loop on DEC in optimised mode (see comments on DEC below)
  • intermittent bus error on HP when using integral-approach electromagnetic processes
  • Some remaining platform problems:
  • AIX compiler very slow
  • AIX compiler produces very big object files
  • DEC miscompiles min and max in some cases (a new compiler is available which seems to fix it but not yet tested)
  • SG neglected partly because of hardware problems on SI group machine and partly because no manifest user demand
  • Successfully implemented on HP, Linux, NT (under Cygwin) and SUN
  • Optimised binary libraries released for HP, Linux and SUN for both RogueWave and STL versions.
  • BUT...
  • No new system tests since Geant4.0 (except for low energy electromagnetic processes)
  • Existing system tests not very demanding
  • It was 6 weeks late
  • Release Post Mortem

    A special meeting on 29th July identified some issues:
  • New code (low energy) not brought too late into system testing
  • Resources not fully deployed
  • Insufficient training of new members of the T & QA team
  • Over-use of talent from other working groups
  • System testing of visualization, user interfaces and environments undertaken but not reported
  • Inadequate or not-followed procedures (it is already the best documented of all our activities)
  • Software process compromised (sometimes you have to)
  • and recommended:
  • Clearly identifying what needs to go into the release and design corresponding tests
  • Improving the tests by:
  • increasing their scope
  • using "statistical tests", i.e., calculating quantities such as mean energy deposition which can be compared with expectation using statistical significance tests (obviates insignificant platform dependencies and code changes which change only the detail)
  • Training new members
  • Review and document procedures
  • Include the use of tools such as Insure++, CodeWizard, SUN Workshop
  • Plans

  • All the above recommendations
  • Development Plan proposed by Fred Jones (following talk):
  • Adoption of "browsers" - Bonsai and LXR
  • Adoption of automatic testing system based on Tinderbox: with customisation for Geant4 (tagged code)
  • Issues

  • Collaboration with category coordinators on test design and development
  • QA