My understanding is that it’s advised testers are separate from developers, i.e you obviously have developers testing their code but then dedicated testers as well.
How does that actually work in practice on a small project, say 5 developers people or less? It seems unlikely you could keep a tester occupied full-time, and while you could bring in random short-term people I’d argue a tester should understand the app well – its intended usage, its users, its peculiarities – just like you don’t want developers to be transient on the project.
You can definitely keep a tester working full time – they should be testing the product throughout the development process, not just at the end. In fact leaving testing to the end of a project is absolutely the worst thing you can do.
I have worked in a couple of companies that have typically 1 tester for every 2 developers, and there has never been an issue with them running out of things to do – in fact quite the opposite.
Both of these have been small companies with 10-20 developers and 5-10 testers.