smoke testing
functional tests exercise the complete program with various inputs. unit tests individual functions subroutines object methods