La mia opinione sarebbe che dipende molto dalla natura del progetto, perché alcuni progetti si prestano a test più automatizzati. Ad esempio, un pacchetto di contabilità ospitato non ha bisogno di accontentarsi di un numero elevato di ambienti e i tipi di test che devono verificarsi sono script complicati che coinvolgono scenari forniti dal lato aziendale.
D'altra parte, se stai sviluppando un'applicazione per Android, probabilmente vorrai che le persone testino fisicamente su un'ampia varietà di telefoni comuni, operazione che non è facile da automatizzare.
Ho lavorato in due posti in cui ho sentito il giusto rapporto con il tester. La mia attuale compagnia non ha tester: tutto è un test automatizzato, JUnit, RSpec, Selenium o Capybara. Questo funziona per i nostri processi e la nostra cultura.
Una società precedente aveva circa 1 tester per forse 4 ingegneri che scrivevano codice. Questo ha funzionato bene perché la pianificazione ha funzionato in modo tale che alcuni dei test fluttuassero tra i progetti a seconda della parte del ciclo in cui si trovavano e avremmo finito con 1 per 2-3 coder durante la stabilizzazione del codice.
Alcuni QA erano in India, il che era anche bello. Avremmo finito di fare cose alla fine della giornata, e quando arriveremo il giorno dopo avremmo ricevuto un nuovo feedback dal QA.