I have a development background and now I'm starting with software QA. While building a solution developers often create code which is shared among different platforms/applications. One example is the popular create-update-delete funcionality which is used accross the system for everything.
While developing the developer makes sure that when the funcion/method "save" is called, data is really saved in the database. This I'd call a lower testing layer in this question.
While testing the application (for example in the browser or a mobile app), I particularly don't think that the tester should test if data is saved when selecting "Save" options. Instead, the tester should test if "save" funcion/method is called. This I'd call a higher testing layer.
The question(s) is(are): How is it possible to test these different layers?