QA o Quality Assurance engineer è generalmente una persona la cui preoccupazione principale è massimizzare la qualità del prodotto finale.
Ogni azienda in cui ho lavorato aveva diversi ruoli sotto questo nome. Per alcuni questo è solo un tester manuale che controlla se il programma funziona come specificato dal business.
Per altri queste persone mantengono anche i test automatizzati.
Molto raramente (solo due volte nella mia breve carriera) ho incontrato e lavorato con persone che effettivamente hanno preso a cuore questa parte della qualità. Queste persone non solo erano interessate alla logica di business (quindi come funzionano i calcoli, i flussi di lavoro, ecc.), ma anche a concetti strani come la sensazione estetica del sito o l'esperienza dell'utente - quindi quanto facile e veloce da imparare, per non parlare dell'efficienza con cui l'utente utilizza il software. Uno di loro è anche raddoppiato nei processi di lavoro per migliorare la qualità prima che arrivi nelle loro mani.
Purtroppo per la maggior parte delle aziende che conosco, il QA è un semplice tester manuale, o al massimo manuale + test automatico e di solito è sovraccarico di lavoro (troppi programmatori per persone QA, così sono a malapena in grado di finire solo i test veloci della logica di business).
C'è un sacco di conoscenza di cui un buon QA ha bisogno, ma con l'attuale hype per i programmatori e meh per QA rende estremamente difficile trovare persone corrette per questo post.