Testing Programs With Inputs