Unit testing versus system testing