JavaRush /Java Blog /Random-IT /Come iniziare con i test automatizzati, parte 1

Come iniziare con i test automatizzati, parte 1

Pubblicato nel gruppo Random-IT
Ti invitiamo a leggere l'adattamento russo di un articolo di Tim Ebie, fondatore di https://testdemy.teachable.com/ , una piattaforma di QA per test di software online, creata per aiutare coloro che stanno iniziando il loro viaggio nei test automatizzati
Come iniziare con i test automatizzati, parte 1 - 1
Stiamo assistendo a un aumento dell’interesse e alla crescita del numero di applicazioni web sul mercato. Con loro arrivano sempre più lavori che richiedono programmazione, competenze tecniche e varie competenze di automazione. Di conseguenza, i tester manuali, per rimanere richiesti, vedono la necessità di passare dai test manuali puri al controllo qualità (QA) e stanno guardando ai test automatizzati. Passare dai test manuali a quelli automatizzati è una scelta intelligente, poiché molte posizioni di QA richiedono una serie di competenze tecniche relative alla scrittura del codice. Per coloro a cui non piace il cambiamento, tale cambiamento può essere scomodo. Altri sviluppatori, invece, vedono questo “momento di cambiamento” come un’opportunità per portare la propria carriera e le proprie competenze a un livello superiore e aumentare la propria rilevanza. Ogni volta che le richieste aumentano, le possibilità si espandono. Gli sviluppatori con le giuste competenze possono saltare sul treno e avere carriere fantastiche e ben pagate. Se stai cercando di passare dai test manuali all'automazione, o anche solo considerando il passaggio da un altro campo di sviluppo software, è opportuno compiere alcuni passaggi per aiutarti ad avere successo.

Fase 1: valutazione del mercato

“L’abitudine numero due” dal libro del Dr. Stephen A. Covey “7 Habits of Highly Effective People” dice : “Inizia con la fine in mente”. Credo che questo principio sia vero quando si tratta di iniziare con i test automatizzati. Inizia con una valutazione del mercato delle esigenze di coloro che assumono ingegneri dell’automazione. Una volta acquisita una comprensione delle esigenze tecniche dei datori di lavoro, è possibile acquisire le competenze appropriate. Un buon punto di partenza è guardare le descrizioni delle offerte di lavoro su qualsiasi sito (ad esempio Indeed.com , Dice , Monster , LinkedIn , ecc.).
Come iniziare con i test automatizzati, parte 1 - 2
Ecco alcuni esempi di parole di ricerca che possono essere utilizzate per generare una valutazione di mercato:
  • Ingegnere dell'automazione dei test;
  • Sviluppatore di automazione;
  • test/tester automatizzati (test automatizzato) (Test di automazione/Tester di automazione);
  • Ingegnere dell'automazione QA ;
  • Ingegnere di sviluppo software in test (SDET).
Per capire come pensano i datori di lavoro e cosa si aspettano realmente dai candidati, tieni a mente le seguenti domande durante la ricerca:
  • Quali competenze e tecnologie specifiche stanno menzionando?
  • Vedete un insieme separato o un "blocco" di competenze o tecnologie per queste competenze?
  • Quanti anni di esperienza sono richiesti, se ce ne sono?
  • Ci sono alcuni settori che tendono ad assumere più ingegneri dell’automazione rispetto ad altri?
  • Che stipendio puoi aspettarti?
  • Gli strumenti o le tecnologie che ci interessano sono principalmente ad accesso aperto o prodotti commerciali?
Ora diamo uno sguardo più da vicino ad alcune descrizioni di lavoro per avere un'idea di ciò che il mercato sta cercando. Tieni presente che i lavori in questione si trovano negli Stati Uniti. Se non vivi negli Stati Uniti, consulta gli strumenti di ricerca di lavoro nel tuo Paese. Sviluppatore di automazione software I:
  • ha una chiara conoscenza dei linguaggi di programmazione orientati agli oggetti ;
  • familiarità con Jenkins , Test Complete, VersionOne, Git, Visual Studio, Oracle, MSSQL, Hyper-V, AQTime;
  • Lavora a stretto contatto con sviluppatori, analisti aziendali e altri tester per identificare i componenti di automazione dei test che verranno utilizzati per verificare i requisiti per il software sviluppato.
Come iniziare con i test automatizzati, parte 1 - 3
Tester QA (test automatizzato):
  • salva i test automatizzati nei sistemi di controllo della versione appropriati: TFS, GitHub , ecc.;
  • segue standard di automazione predefiniti e standard DevOps per l'automazione, nonché processi di integrazione e distribuzione continui;
  • Esperienza con strumenti ALM (TFS, Jira, HP QC) e strumenti di automazione dei test (preferibilmente Selenium WebDriver) .
Ingegnere dell'automazione del controllo qualità - QA ( Ingegnere dell'automazione del controllo qualità ):
  • Esperienza con Selenium WebDriver ;
  • capacità di programmazione in Python, Java o linguaggi simili;
  • esperienza di test mobile / Appium .
Sviluppatore di software di test:
  • aggiornamento ed ampliamento dell'ambiente di test e degli strumenti di test in C#, TypeScript, JavaScript ...;
  • Forti capacità di programmazione in C# o Java e/o JavaScript insieme ad una chiara comprensione dei concetti di programmazione orientata agli oggetti ;
  • Esperienza con Visual Studio, Subversion, GitHub, Unity, Teamcity, Jira Cloud, Confluence.
Come iniziare con i test automatizzati, parte 1 - 4
Ecco alcuni suggerimenti chiave da queste descrizioni di lavoro. Ruoli ibridi/misti: prestare molta attenzione ai titoli professionali e al modo in cui queste aziende vedono i test automatizzati del software. Questo può essere visto dai nomi dei ruoli che elencano (Sviluppatore di automazione software, Sviluppatore software in test, ecc. Notate uno schema? Queste aziende si riferiscono più o meno agli ingegneri del QA come sviluppatori Software: per i tester manuali, questo significa che è ora di imparare come scrivere codice per trasformare casi di test manuali in script di test automatizzati. Per gli sviluppatori che desiderano passare ai test automatizzati, ciò significa che dovresti imparare di più sulle metodologie di test del software, testare il ciclo di vita del software e imparare come creare casi di test automatizzati per supportare questi cicli di vita.Non perdere questo cambiamento critico o rimarrai indietro.Con l'avvento delle metodologie Agile e dei progetti basati su Agile, sempre più organizzazioni stanno unendo QA e sviluppatori in uno solo. Quindi è tempo che ti prepari per il tuo nuove responsabilità. Gli individui che hanno una formazione di base nel mondo del test del software e allo stesso tempo hanno una buona conoscenza delle competenze di uno sviluppatore di software valgono oro. Tecnologie Open Source/Linguaggi di programmazione: Si prega di notare le tecnologie e i linguaggi di programmazione evidenziati in grassetto nelle descrizioni . Queste tecnologie e linguaggi sono mirati, è necessario apprenderli per essere richiesti sul mercato. Scegli una tecnologia molto richiesta e inizia a sviluppare le tue competenze mettendole in pratica e partecipando ad applicazioni e progetti pratici nel mondo reale. Questo accelererà il tuo apprendimento. Se non sei sicuro con quale linguaggio di programmazione iniziare , restringiamo un po' il campo.

Passaggio 2: padroneggiare un linguaggio di programmazione orientato agli oggetti (OOP)

Ammettiamolo: la maggior parte dei tester manuali ha paura di programmare. Il solo pensiero di andare sotto il cofano e vedere come funzionano effettivamente i sistemi e le applicazioni spaventa molti tester manuali. Questa paura è principalmente il motivo per cui sono diventati tester manuali.
Come iniziare con i test automatizzati, parte 1 - 5
La programmazione è la base dei test automatizzati. Se vuoi entrare nei test di automazione, devi essere in grado di programmare e quanto più sei bravo a programmare, maggiore sarà il successo che avrai nei test di automazione o nello sviluppo dell'automazione. Pertanto, se vuoi rimanere competitivo in questo mondo in continua evoluzione di sviluppo e tecnologia, devi risolvere questa paura e diventare uno sviluppatore di test automatizzati molto richiesto. La cosa buona è che con una guida minima da parte di un collega più esperto, applicando tenacia e perseveranza, esercitandosi costantemente (come facciamo in JavaRush), puoi sicuramente migliorare le tue capacità di programmazione. La prossima domanda logica è: quale linguaggio di programmazione dovrei imparare? Sulla base della nostra valutazione del mercato, sappiamo che i datori di lavoro vogliono assumere persone "con una forte conoscenza dei linguaggi di programmazione orientati agli oggetti". E secondo la nostra analisi, possiamo vedere diversi linguaggi di programmazione orientati agli oggetti a cui fanno riferimento. Ad esempio, Java, C#, JavaScript e Python. Puoi iniziare con uno qualsiasi di essi. Se stai iniziando a imparare un linguaggio OOP, ecco alcuni concetti da padroneggiare per diventare più esperti nei test automatizzati:
  • programmazione orientata agli oggetti (classi, oggetti, istanze, ereditarietà, attributi, ecc.);
  • Moduli, librerie standard (in qualunque lingua tu scelga);
  • strutture dati (dizionari, liste, tuple, ecc.);
  • tipi di dati (stringhe, caratteri, numeri interi, virgola mobile, tipi logici o booleani, NoneType, ecc.);
  • variabili;
  • gestione degli errori/eccezioni;
  • operatori aritmetici/ordine di precedenza;
  • confronto, operatori logici booleani;
  • procedure/funzioni/metodi;
  • flusso di controllo: istruzioni If, cicli for, cicli while, ecc.
  • leggere/scrivere su file;
La programmazione è la base dei test automatizzati. Impara a programmare e imparerai ad automatizzare.

Passaggio 3: padroneggiare gli strumenti di automazione

Continuo a dirlo: meglio puoi programmare, meglio puoi automatizzare. Una volta che hai iniziato a imparare un linguaggio di programmazione, il passo successivo è imparare a utilizzare gli strumenti di automazione. Perché la maggior parte delle aziende si sta orientando verso strumenti di automazione open source (o software gratuito) piuttosto che su prodotti con licenza commerciale per ragioni di costo.
Come iniziare con i test automatizzati, parte 1 - 6
Uno strumento eccellente che può essere trovato di pubblico dominio è Selenium WebDriver. Selenium ha diversi collegamenti linguistici (Python, Java, C#, Ruby, PHP, JavaScript, ecc.), quindi imparare uno di questi linguaggi di programmazione fornirà una base eccellente per costruire una solida carriera nell'automazione. Alcuni concetti chiave che devi padroneggiare per creare casi di test automatizzati affidabili, funzionali ed efficienti:
  • design pattern: modello a oggetti della pagina;
  • ricerca degli elementi della pagina web utilizzando diversi locatori (CSS Selector, XPATH, ID, Nome, ecc.);
  • cambiare Windows/iFrame;
  • refactoring;
  • test unitari;
  • test sul cloud/test parallelo;
  • controllo dei dati;
  • test su diversi browser web (Firefox, Internet Explorer, Chrome, Safari, Opera, ecc.);
  • aspettative implicite ed esplicite;
  • catene di azioni
Se hai scelto un linguaggio di programmazione orientato agli oggetti e ti sei affidato a strumenti di automazione per valutare il mercato, il passo logico successivo è... Cosa ne penseresti?...

Passaggio 4: pratica, pratica, pratica

Qualunque cosa tu faccia, non mollare mai. Imparare qualcosa di nuovo è sempre una sfida. Ma ogni sfida può essere superata con sufficiente pratica e dedizione. Il tempo necessario per apprendere nuove competenze e tecnologie dipende interamente da te e da quanta pratica e dedizione dedicherai per padroneggiare tali competenze.
Come iniziare con i test automatizzati, parte 1 - 7
Qualsiasi atleta professionista dirà di aver raggiunto l'apice del suo viaggio attraverso il lavoro e lo sforzo del suo allenamento. Dicono che Michael Jordan abbia giocato duro, ma si sia allenato ancora più duramente. Questo approccio dovrebbe essere adottato da chiunque voglia automatizzare: esercitarsi, esercitarsi, esercitare le proprie nuove competenze finché non diventeranno una seconda natura. Questo è l'unico modo per migliorare le tue capacità ed essere richiesto come tester. Uno dei modi migliori per formarsi è imparare attivamente un linguaggio di programmazione e contemporaneamente strumenti di automazione, “giocando” con essi. In altre parole, scrivere piccoli programmi o script di test automatizzati, romperli, modificarli e vedere come funziona ora. Impara da quello che hai fatto e riprova. Esercitati giocando, facendo e imparando. Fallo e la tua curva di apprendimento aumenterà.

È ora di iniziare

La cosa più importante in una nuova attività è iniziare. Tutte le volte che procrastiniamo o non riusciamo a iniziare, è perché non abbiamo una road map o un piano di gioco che ci aiuti a tracciare il nostro percorso.
Come iniziare con i test automatizzati, parte 1 - 8
Anche se tentare di cambiare radicalmente la direzione della tua carriera può sembrare scoraggiante, essere apprezzati e commerciabili è essenziale. È necessario sviluppare nuove competenze per rimanere al passo con il mondo in continua evoluzione dello sviluppo software ed essere ciò che i datori di lavoro stanno effettivamente cercando. Inizia in piccolo: valuta le esigenze del mercato, apprendi gli strumenti di programmazione e automazione orientati agli oggetti e fai pratica costantemente. E sarai preparato per nuove opportunità di lavoro prima che tu te ne accorga. Fonte: https://simpleprogrammer.com/2017/07/28/start-automation-testing-part-1/
Commenti
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION