Test-Driven Development of Scientific Software

Date and Time: 
2014 April 8th @ 2:30pm
CG1 Auditorium
Thomas Clune

The software development process known as test-driven development (TDD) promises many advantages for developer productivity and software reliability and has become widely accepted among professional software engineers. As the name suggests, TDD alternates in phases between writing short automated tests and producing code to pass those tests. Although this overly simplified description will undoubtedly sound quite burdensome to many uninitiated developers, the advent of powerful unit-testing frameworks greatly reduces the effort required to produce and execute suites of tests systematically. By testimony, many developers discover TDD to be powerfully addicting after only a few days of exposure, and find it unthinkable to return to their previous modes of software development.

After a brief overview of the TDD process and my experience in applying the methodology for development activities at Goddard, I will delve more deeply into some of the unique challenges for TDD posed by numerical and scientific software.

Speaker Description: 

Thomas Clune, Ph.D., Chief, Software Systems Support Office, NASA Goddard Space Flight Center, and a principle developer of pFUnit.

PDF icon TDD_NCAR_April_2014.pdf1.05 MB

Event Category: