What is the difference between system level tests and component level tests in software testing (functional)?