devops testing tutorial
Tutorial sul test DevOps: Un recente sondaggio di RightScale ha rilevato che il 54% delle aziende ha adottato DevOps e l'interesse per DevOps è in rapido aumento.
In questo articolo, impareremo come questa nuova metodologia di sviluppo software avrà un impatto sul controllo di qualità e come la funzione di controllo della qualità nel suo complesso dovrebbe evolversi per abbracciare questo cambiamento.
quanto costa toast pos
Controlla => Serie completa di tutorial DevOps
In questo articolo, impareremo di più su DevOps e su come influirà sul controllo di qualità e sulle sue funzioni.
Cosa imparerai:
Cos'è DevOps?
DevOps: è una combinazione di Development &Suerazioni - è una metodologia di sviluppo software che cerca di integrare tutte le funzioni di sviluppo software dallo sviluppo alle operazioni all'interno dello stesso ciclo.
Ciò richiede un più alto livello di coordinamento all'interno dei vari stakeholder nel processo di sviluppo del software (vale a dire Sviluppo, controllo qualità e operazioni )
Ciclo DevOps
Un ciclo DevOps ideale inizierebbe da:
- Il codice di scrittura Dev
- Creazione e distribuzione di file binari in un ambiente QA
- Esecuzione di casi di test e infine
- Distribuzione in produzione in un flusso integrato fluido.
Ovviamente, questo approccio pone una grande enfasi sull'automazione di Build, Deployment e Testing. L'uso di strumenti di integrazione continua (CI), strumenti di test di automazione diventano una norma in a DevOps ciclo.
Perché DevOps?
Sebbene ci siano sottili differenze tra Test Agile e DevOps , coloro che lavorano con Agile troveranno DevOps un po 'più familiare con cui lavorare (e alla fine adottare). Sebbene i principi Agile siano applicati con successo nelle iterazioni di sviluppo e QA, è una storia completamente diversa (e spesso oggetto di controversia) sul lato delle operazioni. DevOps propone di correggere questa lacuna.
Ora, invece di integrazione continua, DevOps implica lo 'sviluppo continuo' , dove il codice è stato scritto e affidato al controllo della versione, verrà creato, distribuito, testato e installato nell'ambiente di produzione pronto per essere utilizzato dall'utente finale.
Questo processo aiuta tutti nell'intera catena poiché ambienti e processi sono standardizzati. Ogni azione nella catena è automatizzata. Offre inoltre la libertà a tutte le parti interessate di concentrare i propri sforzi sulla progettazione e la codifica di un deliverable di alta qualità piuttosto che preoccuparsi dei vari processi di costruzione, operazioni e QA.
Riduce drasticamente il time-to-live a circa 3-4 ore, dal momento in cui il codice temporale viene scritto e impegnato, all'implementazione in produzione per il consumo dell'utente finale.
In poche parole, DevOps è un'estensione di Agile o mi piace chiamarlo 'Agile on Steroids'.
Ruolo modificato del QA in DevOps
Tradizionalmente, il QA otterrebbe una build che viene distribuita nell'ambiente designato e il QA inizierebbe quindi il loro Funzionale & Test di regressione . La build idealmente starebbe con il QA per un paio di giorni prima dell'approvazione del QA sulla build. Tutti questi passaggi cambiano in DevOps.
Modifiche al QA per i test DevOps:
- Il QA è necessario per allineare i propri sforzi nel ciclo DevOps.
- Devono assicurarsi che tutti i loro casi di test siano automatizzati e ottenere una copertura del codice prossima al 100%.
- Devono assicurarsi che i loro ambienti siano standardizzati e che l'implementazione sulle loro caselle QA sia automatizzata.
- Tutte le loro attività di pre-test, pulizia, attività di post-test, ecc. Sono automatizzate e allineate con il ciclo di integrazione continua.
Come già accennato, DevOps richiede un alto livello di coordinamento tra le varie funzioni della catena dei deliverable. Ciò significa anche che i confini tra i vari ruoli dei contributori nella catena diventano porosi.
java vs c ++ che è meglio
DevOps incoraggia tutti a contribuire alla catena . Quindi, tra le altre cose, uno sviluppatore può configurare le distribuzioni. Gli ingegneri dell'implementazione possono aggiungere casi di test al repository QA. Gli ingegneri del controllo qualità possono configurare i loro casi di test di automazione nella catena DevOps.
Collettivamente, tutti nella catena sono responsabili della qualità e della tempestività dei risultati.
DevOps e automazione del test
Per ottenere tale velocità e agilità, è importante automatizzare tutti i processi di test e configurarli per l'esecuzione automatica quando la distribuzione è completata nell'ambiente QA. Per ottenere questa integrazione vengono utilizzati strumenti di test di automazione specializzati e strumenti di integrazione continua.
Ciò richiede anche la creazione di un framework maturo di test di automazione attraverso il quale è possibile creare rapidamente script per nuovi casi di test.
Strategia di test DevOps: suggerimenti per il successo DevOps
- I casi di test che devono essere eseguiti per una particolare build devono essere identificati.
- L'esecuzione del test dovrebbe essere essenzialmente snella.
- Il QA e lo sviluppatore devono sedersi insieme e identificare le aree interessate a causa di una particolare build ed eseguire quei casi di test correlati più un test di sanità mentale.
- È inoltre necessario configurare analisi del codice specializzate e strumenti di copertura per assicurarsi di ottenere una copertura del codice prossima al 100%.
- Il concetto di esecuzione tutti I casi di test di regressione per un test superato stanno presto diventando obsoleti.
- La strategia per testare nuove funzionalità deve essere formalizzata e le build provvisorie possono essere fornite al QA che, a sua volta, creerebbe script di test ed eseguirà questi test di automazione sulle build provvisorie finché il codice non diventa abbastanza stabile da essere distribuito nell'ambiente di produzione .
- Tutti gli ambienti richiesti per i test devono essere standardizzati e le distribuzioni devono essere automatizzate.
- Utilizzando varie tecniche di automazione, il QA dovrebbe essere in grado di eseguire test di automazione su vari ambienti multipiattaforma (e cross-browser in caso di applicazioni web).
- L'esecuzione parallela dei test aiuta a ridurre il time-to-live, che a sua volta è il punto cruciale di un'implementazione DevOps di successo.
- I criteri di uscita devono essere impostati per ogni esecuzione in modo che, quando i risultati dei test vengono inviati alla catena, venga presa una decisione go / no-go per la produzione.
- I bug bloccanti o critici trovati devono essere segnalati e corretti e passati attraverso la stessa catena di eventi prima che il codice venga distribuito nell'ambiente di produzione.
Monitoraggio delle applicazioni
Il controllo qualità dovrebbe anche essere in grado di rilevare tempestivamente i problemi e segnalarli in modo proattivo. Per ottenere ciò, devono configurare il monitoraggio nell'ambiente di produzione per poter esporre i bug prima che causino un errore.
L'impostazione di contatori specializzati come tempi di risposta, utilizzo della memoria e della CPU, ecc. Può fornire molte informazioni sull'esperienza dell'utente finale.
Per esempio , se il tempo di risposta medio per l'accesso aumenta gradualmente nelle varie build, il QA dovrebbe segnalare in modo proattivo questo problema per ottimizzare il codice di accesso, altrimenti le build future potrebbero causare frustrazione all'utente finale a causa dei tempi di risposta elevati.
Il controllo qualità può anche utilizzare un piccolo sottoinsieme di casi di test ad alta priorità esistenti da eseguire periodicamente in produzione, per monitorare attivamente l'ambiente. Bug come 'Questo bug compare a volte' o ' Impossibile riprodurre ”Può essere catturato attraverso questa strategia che, alla fine, rende l'applicazione più stabile e ottiene anche utenti finali più soddisfatti.
Anche in questo caso, questi monitor devono essere configurati per essere eseguiti automaticamente con report dettagliati (come log e screenshot di errori, ecc.).
Conclusione
Waterfall ha lasciato il posto a V-Model che a sua volta è stato sostituito da Agile come scelta preferita per lo sviluppo del software.
DevOps è il futuro. È un ciclo di miglioramento continuo che i modelli di sviluppo software subiscono di volta in volta. Devi abbracciarlo, capirlo e inculcarlo.
Devi padroneggiare i vari strumenti di automazione e integrazione continua in modo che i tuoi sforzi di automazione aggiungano valore alla catena e siano abbastanza snelli da adattarsi rapidamente ai cambiamenti. Potresti lavorare su progetti che potrebbero coinvolgere alfa , beta e UAT prima di essere distribuito nell'ambiente di produzione.
Il concetto rimane essenzialmente lo stesso. L'automazione e più automazione sono il fulcro di un ciclo DevOps di successo. Ma come QA dovresti anche essere in grado di tracciare una linea su quanta automazione è troppa automazione.
Circa l'autore: Aniket Deshpande lavora come QA Manager presso AFour Technologies , Pune e ha lavorato nel campo del test del software negli ultimi 9+ anni in vari domini e piattaforme. È appassionato di DevOps e lavora come consulente per guidare le organizzazioni nell'adozione di strategie di test DevOps.
Se sei interessato a saperne di più o stai cercando di implementare DevOps e l'approccio di test associato nella tua organizzazione, sentiti libero di contatto l'autore.
Cosa ne pensate dei test DevOps? Pensi che la collaborazione tra sviluppatori e operatori possa portare benefici al progetto?
c'è un'app per programmare i post di Instagram
Fateci sapere i vostri commenti / suggerimenti su questo articolo.
Tutorial PREV | PROSSIMO Tutorial
Lettura consigliata
- Test continuo in DevOps
- Tutorial DevOps: la guida definitiva a DevOps (oltre 25 tutorial)
- Demistificazione di DevOps: tutorial video (parte 1)
- I 10 migliori strumenti di test continuo per i test DevOps [Elenco 2021]
- Migliori strumenti di test del software 2021 [Strumenti di automazione del test QA]
- Che cos'è il test del software? Oltre 100 tutorial gratuiti sui test manuali
- Test funzionale vs test non funzionale
- Alpha test e beta test (una guida completa)