DejaGnu is described as 'framework for testing other programs. It has a main script called runtest that goes through a directory looking at configuration files and then runs some tests with given criteria. The purpose of the DejaGnu package is to provide a single front end for all tests'. There are three alternatives to DejaGnu for Linux and Windows. The best alternative is Expect, which is both free and Open Source. Other great apps like DejaGnu are Check (Free, Open Source) and empty (Free, Open Source).
Check is a unit testing framework for C. It features a simple interface for defining unit tests. Tests are run in a separate address space, so Check can catch both assertion failures and code errors that cause segmentation faults or other signals.
empty is an utility that provides an interface to execute and/or interact with processes under pseudo-terminal sessions (PTYs). In some cases empty can be the simplest replacement for TCL/expect or other similar programming tools.