In my firm, we have the practice that the test phase is made by the same people who develop the software and you are responsible for what the client does.
The organization has 2-3 software packages with a lot of code that is always modified every day in each part or we add new functions to them.
Please can you tell me what the professionals (if there are) do to leave all the development and test to the same people (1) and the tests and what are the cons (if there are) to assigning testing to another person or team?
Can you show me a model of the testing process that has been successfully applied and that works well in a firm of 50 people who work on different projects, divided into teams of 3-4 people?