Unit testing as a cornerstone of SAS application development
Dante Di Tommaso, F. Hoffmann-La Roche · Pharmaceutical Programming · 2011
Confidence in software is good, but certainty is better. The test strategy at the heart of a validation plan determines the level of certainty a software project achieves. Ad hoc testing may momentarily convince a developer that a program is complete, but is inappropriate for programs and results intended for others. Perfect testing, on the opposite end of the spectrum, is rarely achievable. Testing is an exercise in both discipline and balance. Learning, adopting, and adapting testing practices refined by software professionals can strengthen a programming team even more than pursuing subtle new programming techniques. The benefits to a development project can be dramatic. Unit testing has proven invaluable as a cornerstone of the validation plan for an ongoing SAS® development project, rewarding the team with efficiency and confidence just short of certainty. The following discussion summarizes the awareness and advantages we have gained from these recent experiences, and encourages the reader to explore and promote these practices in their own environments. While our examples and discussion are based on SAS, the concepts are generally relevant to software development.