FortranCon2021: Your Requirements Specification as an Executable Test Suite
Channel: FortranCon
Date: 2021-11-15

Speaker: Brad Richardson
Material: https://tcevents.chem.uzh.ch/event/14/contributions/77/

Automated testing is a well established best practice in software development, so you are writing test suites for your Fortran projects right? But how useful is your test suite after you have finished writing it? Does it help you to pinpoint the source of bugs? Does it help you to make changes to functionality, or get in the way? Would a new developer find it useful for getting their bearings in your project? Can you tell which requirement a given test is meant to verify?
 Experience in the nuclear power industry, with its emphasis on quality assurance and high standards for verification, provides motivation to always have satisfactory answers to these questions. This presentation provides guidance for writing a wellorganized suite of tests that leads to positive answers to the previous questions. The primary lesson is that a test suite organized as an executable verification of the requirements of the project provides long term value in the form of easier on-boarding for new team members and increased developer productivity during maintenance activities. Examples and demonstrations are provided using the Vegetables Unit Testing Framework, which has been designed to aid in writing test suites of the form described above.