Abstract: Over the past two decades, the emergence of highly effective software testing frameworks has greatly simplified the development and use of unit tests and has led to new software development paradigms such as test driven development. However, scientific computing introduces a number of unique testing challenges, including numerical algorithms, distributed parallelism, and exascale environments. This presentation will begin with a brief introduction to unit testing, testing frameworks, and some simple examples using pFUnit, a unit testing framework for Fortran+MPI. I will then take a closer look at several of the obstacles one faces when testing technical software and suggest methodologies that can mitigate these difficulties.
Bio: Dr. Thomas Clune currently serves as the Lead for the Software Integration Team within the Global Modeling and Assimilation Office at NASA's Goddard Space Flight Center and also as NASA's representative on the Fortran Standards Committee. Much of his recent activities have been focused on leveraging object-oriented features of modern Fortran to provide Fortran developers with analogs of useful capabilities available in other software communities. His open source projects include pFUnit (parallel unit testing for Fortran), gFTL (poor-man’s container templates for Fortran), fArgParse (command line processing), and pFlogger (an MPI-enhanced analog of Python's logging package).
This lecture will also be available online.