Ultimo aggiornamento 18 marzo 2020
Come viene rilasciato un software senza bug? I tester QA! Cos’è il test QA e cosa fanno gli ingegneri QA? AJ Larson, Quality Assurance Bootcamp Director di Devmountain, spiega come il QA si inserisce nel ciclo di vita dello sviluppo del software, gli strumenti che devi conoscere per essere un tester QA, e la differenza tra i lavori di sviluppo web e i lavori QA.
Incontra l’esperto: AJ Larson
-
AJ Larson, direttore del programma Quality Assurance (QA) di Devmountain. Abbiamo dato il via al bootcamp QA nell’ottobre 2017.
-
AJ ha conseguito la sua laurea in Sistemi Informatici e il suo Master in Sistemi Informativi, ma dice che la maggior parte della sua esperienza di sviluppo e pratica QA non è derivata dalla sua laurea in CIS!
Cos’è il QA Testing?
QA sta per Quality Assurance. Ad alto livello, il test QA esiste per confermare che il prodotto che stai facendo è il prodotto che il cliente vuole e viene rilasciato senza bug.
In passato, gli sviluppatori di software costruivano il software, lo consegnavano ai tester QA, e i tester testavano manualmente il software e mandavano indietro una lista di bug da risolvere.
La nuova ondata di QA è più efficiente. A Devmountain, formiamo le persone per la nuova ondata di QA, il che significa che il QA è coinvolto in ogni passo del processo di sviluppo agile. I tester QA partecipano alle riunioni di progettazione, sono presenti nelle chiamate con i clienti, sono in tutti gli standup, e guardano il codice non appena gli sviluppatori lo scrivono, invece di aspettare che l’intero prodotto sia finito.
Un tester QA è specializzato nell’avere la mentalità del cliente, nel difendere i clienti e nel fare domande per assicurarsi che tutti siano sulla stessa pagina e non si perda nulla. A lungo termine, il QA fa risparmiare tempo e denaro.
Cosa rende un grande ingegnere QA?
Quando sto intervistando un ingegnere QA, cerco buone domande. A Devmountain, cerchiamo studenti che possano fare domande efficaci, individuare difetti e contraddizioni, notare i pezzi mancanti. Il tipo di persona che si diverte a risolvere i problemi. Qualcuno che può scavare a fondo e non essere soddisfatto della risposta facile.
Potresti essere adatto per l’AQ se:
-
Ti piace leggere un documento per copiarlo.
-
Sei quello che vede gli altri infrangere le regole di un gioco.
-
Sei disposto a fare ricerche per capire qualcosa.
-
Hai la voglia di imparare.
QA Testing: Strumenti e tecnologie
Gli strumenti che insegniamo ai nostri ingegneri QA sono:
-
JavaScript Automation
-
Nightwatch Framework
-
Page Object Models
-
Postman e Newman per test API
-
JReader
-
Github
A un livello alto, insegniamo essenzialmente come viene sviluppato il software e come possiamo inserirci nel ciclo di vita dello sviluppo per rappresentare il cliente e l’obiettivo finale. Gli studenti impareranno:
-
Diversi modi di testare il software e risolvere i problemi che trovano durante i loro test.
-
Come interpretare e scomporre i requisiti in criteri di accettazione testabili
-
Come sapere quando un prodotto è pronto per essere rilasciato.
-
Come ottenere i risultati dei loro test
-
Come comunicare efficacemente i risultati dei loro test
-
Come lavorare efficacemente con il team di sviluppo.
-
Come migliorare il prodotto e fare in modo che il cliente sia soddisfatto.
Devo saper codificare per essere un ingegnere QA?
Dipende. Ogni azienda ha un’idea diversa di come dovrebbe essere un ingegnere QA. Potresti trovare ingegneri QA o analisti QA di grande successo che non conoscono il codice. Troverai altre aziende che vogliono uno sviluppatore di livello medio-alto che sappia anche fare QA.
Ho insegnato a uno studente che gestiva un’attività di pulizia della casa e ora è un ingegnere di automazione. Ho avuto un altro studente il cui unico lavoro dopo la scuola superiore era consegnare ciambelle e ha finito per formare il suo intero reparto QA. Non c’è assolutamente bisogno di un background tecnico per entrare nel QA Testing. Puoi avere una carriera di successo con una piccola quantità di programmazione.
Ti renderà più vendibile conoscere almeno un linguaggio di programmazione. I quattro grandi (nella mia esperienza) sono Java, C#, JavaScript e Python. Penso che JS e Python siano più indulgenti con i nuovi arrivati, ma anche l’automazione è più indulgente dello sviluppo. Raccomando a molte delle persone a cui faccio da mentore dentro e fuori Devmountain di dare un’occhiata ai meetup e ai gruppi di utenti intorno a loro per vedere dove possono ottenere più supporto.
Il lavoro di ingegneria QA: Interviste, titoli di lavoro e stipendio
Cosa c’è nel curriculum o nel portfolio di un ingegnere QA?
Non esiste esattamente un “portfolio QA” standard. A Devmountain, dotiamo gli studenti di esperienza su diversi progetti. Dove possibile, otteniamo progetti del mondo reale su cui lavorare. Potrebbe essere un’azienda che invita i nostri studenti a testare i loro prodotti. Ci assicuriamo che abbiano dei buoni piani di test scritti da mostrare insieme a una buona automazione su Github che possono mostrare ai loro potenziali datori di lavoro. Queste esperienze possono essere usate come punti di conversazione nei colloqui.
Cosa aspettarsi in un tipico colloquio di lavoro QA:
Se c’è molta automazione elencata nella descrizione del lavoro, allora ci si dovrebbe aspettare una lavagna bianca nel colloquio. Tuttavia, le sfide sul codice sono più comuni nel QA. In tutte le interviste di QA, dovete aspettarvi di rispondere a situazioni campione. Potrebbero anche fornire esempi specifici relativi alla mancanza di offerta rispetto alla domanda di questi lavori. Esempi di domande di colloquio per ingegneri QA potrebbero essere:
-
Data questa situazione, cosa faresti?
-
Se il capo del QA è malato o la persona che stai sostituendo è stata via per qualche settimana, come farai ad accelerare e capire cosa è importante?
-
Con chi parlerai per pianificare il tuo approccio?
-
Qual è stato il tuo bug preferito e perché?
Lavori di test QA
Ti puoi aspettare titoli di lavoro come Automation Engineer, QA Tester, QA Engineer, QA Analyst, Software Test Engineer.
Quando gli studenti si laureano da Devmountain, tendono ad andare in ruoli di QA Analyst o QA Engineer. La maggior parte delle posizioni di automazione si aspettano che tu conosca molto più codice. Per i nostri studenti che conoscono già una buona quantità di codice, è possibile saltare direttamente in una posizione di automazione. I lavori con “automazione” nella descrizione tendono ad essere lavori di livello medio-alto quando si tratta di QA. Ho visto studenti con tre mesi di esperienza qualificarsi per quelle posizioni di medio livello una volta che hanno messo le mani e un po’ più di know-how.
Una descrizione del lavoro di ingegnere QA che cambia
Il lavoro continuerà a cambiare, ma il bisogno di questo lavoro è destinato a crescere insieme all’industria. Prima che arrivassi a Devmountain, la domanda superava l’offerta di ingegneri QA. Ho visto le aspettative cambiare molto di più con il QA che con altre posizioni all’interno del mondo tecnologico. Mentre lo sviluppo cambia, il QA deve cambiare con esso.
QA Engineering vs Web Development
Il test QA è più facile che diventare uno sviluppatore?
C’è sempre stato questo stigma: “Non ce la fai nello sviluppo? Basta andare in QA”. Questa mentalità non è del tutto sbagliata. Il QA tende ad essere più facile da iniziare rispetto allo sviluppo. Non c’è bisogno di imparare perfettamente lo sviluppo full-stack, quindi la pressione è minore nel QA. Ci sono molte persone che usano con successo il QA come un trampolino di lancio nel resto dell’industria tecnologica.
Decidere tra QA e sviluppo web
Una domanda che mi piace fare ai futuri studenti è: “Preferisci avere un progetto e poi costruire qualcosa che soddisfi quei requisiti? O preferireste ottenere il prodotto e provare se il progetto soddisfa i requisiti o no?” Ti divertirai di più a fare qualcosa che soddisfi le aspettative o a rompere qualcosa?
Salari Ingegnere QA vs Salari Sviluppatore Web
C’è un’idea sbagliata che l’ingegneria QA non sia così redditizia come lo sviluppo web. Se sei disposto a fare il lavoro per entrare nell’automazione, allora farai uno stipendio alla pari con uno sviluppatore web. Sei fondamentalmente uno sviluppatore che punta tutto sulla qualità,
Se ti attieni solo al QA manuale, allora potresti non fare tanto o essere in grado di crescere tanto quanto gli ingegneri QA più esperti di tecnologia. Lo stipendio medio per un Tester di QA manuale è di ~$78,566/anno, secondo Zip Recruiter.
Secondo me, è più facile crescere più velocemente in QA che nello sviluppo perché l’industria manca di persone con le competenze tecniche di QA mentre gli sviluppatori sono abbondanti.
Formazione di test QA per principianti
Ci sono siti come Guru99 o Meetups e organizzazioni come The Ministry of Testing. A livello locale, faccio parte di un gruppo di QA is the Point. Cercate un Meetup vicino a voi! Non ci sono molte grandi risorse per il QA.
Per scoprire se QA è una carriera che ti piace, ti consiglio di trovare un sito web e giocarci. Vedi se riesci a farlo rompere. Giocate con internet e i videogiochi per vedere se potete causare problemi. Se ti viene l’eccitazione, è un buon punto di partenza.
Scopri di più e leggi le recensioni di Devmountain su Course Report. Questo articolo è stato prodotto dal team di Course Report in collaborazione con Devmountain.
A proposito dell’autore
Liz è la cofondatrice di Course Report, la risorsa più completa per gli studenti che ricercano i bootcamp di codifica. La sua ricerca è stata citata nel New York Times, Wall Street Journal, TechCrunch e altri. Ama i tacos per la colazione e passare il tempo a conoscere gli ex allievi dei bootcamp e i fondatori di tutto il mondo. Scopri Liz & Course Report su Twitter, Quora e YouTube!