Whether end users or QA engineers believe it or not all developers perform tests on their code. Sometimes it might not be as accurate or detailed as it should be, and sometimes it's not even documented. A developer knows the use cases they are coding for and can be sure to test for those cases. Handing an app over to QA may not always include a list of the tests performed or the expected results. This somehow needs to be captured by the product manager and/or the developer depending on the organization structure.