Si parla tanto di DevOps e alle conferenze gli argomenti più gettonati sono build pipeline, continuous integration/delivery/deploy, deploy automation e monitoring.
Ci stiamo dimenticando qualcosa... i test! dove sono i test? perché non si parla quasi mai di test? in questo fantastico mondo DevOps come si inseriscono i test?
I test sono solo un passo della pipeline di build? se la pensassi così il titolo del mio intervento sarebbe stato "Continuous Testing in DevOps", non credete?
Le operazioni di testing possono richiedere molto tempo e possono implicare ingenti costi per le imprese. Per questo motivo è di fondamentale importanza individuare sul mercato le migliori soluzioni disponibili, al fine di ridurre al minimo gli effort impiegati per testare le proprie applicazioni.
TestComplete di SmartBear centra appieno questi obiettivi: TestComplete, infatti, offre una piattaforma di test per creare, eseguire e mantenere in modo semplice test automatici per applicazioni software di tipo desktop, Web, mobile, e client-server, favorendo un’elevata riduzione dei tempi e dei costi dedicati alle operazioni di testing.
In questo webinar uno dei Testing Guru di Emerasoft mostra come sfruttare al meglio le potenzialità offerte dal testing automatico grazie all’utilizzo di TestComplete.
Guarda il webinar on demand: https://www.youtube.com/watch?v=N7aTTfSoREI
Andrea Cirioni e Nicola Zangrandi ci hanno presentato un esempio di deploy automatizzato e ripetibile, realizzato con Octopus e la sua integrazione con PowerShell. Ci hanno dimostrato come sia possibile rilasciare nei vari ambienti del cliente gli applicativi con un solo click.
Le operazioni di testing possono richiedere molto tempo e possono implicare ingenti costi per le imprese. Per questo motivo è di fondamentale importanza individuare sul mercato le migliori soluzioni disponibili, al fine di ridurre al minimo gli effort impiegati per testare le proprie applicazioni.
TestComplete di SmartBear centra appieno questi obiettivi: TestComplete, infatti, offre una piattaforma di test per creare, eseguire e mantenere in modo semplice test automatici per applicazioni software di tipo desktop, Web, mobile, e client-server, favorendo un’elevata riduzione dei tempi e dei costi dedicati alle operazioni di testing.
In questo webinar uno dei Testing Guru di Emerasoft mostra come sfruttare al meglio le potenzialità offerte dal testing automatico grazie all’utilizzo di TestComplete.
Guarda il webinar on demand: https://www.youtube.com/watch?v=N7aTTfSoREI
Andrea Cirioni e Nicola Zangrandi ci hanno presentato un esempio di deploy automatizzato e ripetibile, realizzato con Octopus e la sua integrazione con PowerShell. Ci hanno dimostrato come sia possibile rilasciare nei vari ambienti del cliente gli applicativi con un solo click.
Il Continuous Testing secondo il ragioniere dell'Agilità. Scopriamo insieme, con l'uso di metafore, cosa fare e non fare per approcciare sistematicamente al testing.
Agile requirements - alla ricerca del filo rosso (iad 2013)Fabio Armani
requisiti rappresentano, a mio avviso, il ‘fil rouge’ di tutto lo sviluppo software, sia che si tratti di applicazioni web o mobile, sia che siano coinvolti grandi sistemi Enterprise. Cerchiamo di capire perché.
Possiamo affermare che Lean Agile sta di fatto divenendo uno delle metodologie più adottate (se non il main-stream stesso) in ambito informatico e conseguentemente anche in ambiti connessi con l’informatica.
Nel mio talk (che spero possa trasformarsi in una tavola rotonda sul tema degli agile requirements e di ciò che ruota attorno ad essi) desidero presentare le varie possibilità di gestire i requisiti in modo agile e di seguire ad esempio il percorso delle “user story” (uno dei più efficaci metodi inventati in ambito agile o meglio nella metodologia eXtreme Programming per gestire i requisiti) in tutte le diverse fasi della loro ‘vita’ : a partire da ‘theme’, ‘epic’ e poi ‘story’ realizzata durante una determinata iterazione, fino al loro testing mediante Acceptance Test Driven Development e convalida business sul campo con gli utenti finali e i diversi stakeholder.
Bene… per poter effettuare questo affascinante itinerario cosa e chi viene coinvolto? Scopriremo assieme (ed argomenteremo le diverse soluzioni) che un’intera organizzazione Enterprise si dovrà plasmare per consentire ad una storia di divenire parte di una nuova funzionalità di successo.
Per avere realmente successo dovremmo scomodare molte metodologie tra le quali Lean , Agile, Lean StartUp, Lean UX e questo ci porterà nuovamente al punto di partenza. Perché vogliamo realizzare proprio questa storia? Quale era il requisito da cui siamo partiti. A quale Vision ci siamo ispirati?
Sono certo che il tema è affascinante e sarà interessante affrontarlo collettivamente, specialmente se trattato in ambito di round table.
Tdd e continuous delivery sull'infrastrutturaCodemotion
by Filippo Liverani - Grazie al fatto che molti dei valori e dei principi del movimento DevOps sono in comune con quelli di Extreme Programming, negli ultimi siamo riusciti ad applicare anche molte dellle pratiche in un contesto più ampio di quello nel quale erano state concepite. In questa sessione mi piacerebbe condividere il percorso che ho seguito per sviluppare una nuova infrastruttura in TDD e per arrivare ad un processo automatico in grado di deployare in produzione tutti i cambiamenti con un click.
Grazie al fatto che molti dei valori e dei principi del movimento DevOps sono in comune con quelli di Extreme Programming, negli ultimi siamo riusciti ad applicare anche molte dellle pratiche in un contesto più ampio di quello nel quale erano state concepite. In questa sessione mi piacerebbe condividere il percorso che ho seguito per sviluppare una nuova infrastruttura in TDD e per arrivare ad un processo automatico in grado di deployare in produzione tutti i cambiamenti con un click.
E se vi chiedessi:
Cosa lega le ultime tendenze del cloud alla programmazione degli anni 80?
Quali sono le cose realmente importanti da tenere a mente quando si realizza un'applicazione?
Qual'è la strategia migliore per "inseguire professionalmente" le novità e non diventare rapidamente "obsoleto"?
Cosa si intende per "Pensiero Analogico e Azione Digitale"?
Questo e altro nel nuovo seminario di Pasquale Camastra (che si terrà presso la nostra sede il 14/09/2017 alle ore 17:30), che, questa volta nelle vesti di Evolutionary Architect, racconterà come affrontare le nuovissime tendenze delle Architetture Applicative in Cloud con lo spirito pionieristico di chi ha conosciuto l'informatica grazie al Commodor 64
Test, Tools and Tips per tester e non.
Consigli su come affrontare il testing e come comportarsi con applicazioni di tipo web, con scenari e possibili soluzioni con vari tools a disposizione
Slide del decimo Meetup di Milano, che si è tenuto il 26 Gennaio dalle ore 10:30 alle ore 12:00 in formato virtuale.
Abbiamo parlato insieme a Davide Bonaciti di come ha realizzato un caso d'uso di automazione e CI/CD. Stefano Bernardini, Serena Galassi e Lorenzo Ornella, invece, ci parleranno di DataGraph e ci mostreranno una demo di implementazione per realizzare un'asta del fantacalcio 2.0.
L’implementazione del DevSecOps può avere un grande impatto sulla creazione di un ambiente resiliente e sicuro. Se implementato correttamente, questo approccio permette agli sviluppatori di avere al momento giusto gli strumenti giusti e l’intuizione giusta per ottimizzare la sicurezza delle applicazioni in uso.
Il Continuous Testing secondo il ragioniere dell'Agilità. Scopriamo insieme, con l'uso di metafore, cosa fare e non fare per approcciare sistematicamente al testing.
Agile requirements - alla ricerca del filo rosso (iad 2013)Fabio Armani
requisiti rappresentano, a mio avviso, il ‘fil rouge’ di tutto lo sviluppo software, sia che si tratti di applicazioni web o mobile, sia che siano coinvolti grandi sistemi Enterprise. Cerchiamo di capire perché.
Possiamo affermare che Lean Agile sta di fatto divenendo uno delle metodologie più adottate (se non il main-stream stesso) in ambito informatico e conseguentemente anche in ambiti connessi con l’informatica.
Nel mio talk (che spero possa trasformarsi in una tavola rotonda sul tema degli agile requirements e di ciò che ruota attorno ad essi) desidero presentare le varie possibilità di gestire i requisiti in modo agile e di seguire ad esempio il percorso delle “user story” (uno dei più efficaci metodi inventati in ambito agile o meglio nella metodologia eXtreme Programming per gestire i requisiti) in tutte le diverse fasi della loro ‘vita’ : a partire da ‘theme’, ‘epic’ e poi ‘story’ realizzata durante una determinata iterazione, fino al loro testing mediante Acceptance Test Driven Development e convalida business sul campo con gli utenti finali e i diversi stakeholder.
Bene… per poter effettuare questo affascinante itinerario cosa e chi viene coinvolto? Scopriremo assieme (ed argomenteremo le diverse soluzioni) che un’intera organizzazione Enterprise si dovrà plasmare per consentire ad una storia di divenire parte di una nuova funzionalità di successo.
Per avere realmente successo dovremmo scomodare molte metodologie tra le quali Lean , Agile, Lean StartUp, Lean UX e questo ci porterà nuovamente al punto di partenza. Perché vogliamo realizzare proprio questa storia? Quale era il requisito da cui siamo partiti. A quale Vision ci siamo ispirati?
Sono certo che il tema è affascinante e sarà interessante affrontarlo collettivamente, specialmente se trattato in ambito di round table.
Tdd e continuous delivery sull'infrastrutturaCodemotion
by Filippo Liverani - Grazie al fatto che molti dei valori e dei principi del movimento DevOps sono in comune con quelli di Extreme Programming, negli ultimi siamo riusciti ad applicare anche molte dellle pratiche in un contesto più ampio di quello nel quale erano state concepite. In questa sessione mi piacerebbe condividere il percorso che ho seguito per sviluppare una nuova infrastruttura in TDD e per arrivare ad un processo automatico in grado di deployare in produzione tutti i cambiamenti con un click.
Grazie al fatto che molti dei valori e dei principi del movimento DevOps sono in comune con quelli di Extreme Programming, negli ultimi siamo riusciti ad applicare anche molte dellle pratiche in un contesto più ampio di quello nel quale erano state concepite. In questa sessione mi piacerebbe condividere il percorso che ho seguito per sviluppare una nuova infrastruttura in TDD e per arrivare ad un processo automatico in grado di deployare in produzione tutti i cambiamenti con un click.
E se vi chiedessi:
Cosa lega le ultime tendenze del cloud alla programmazione degli anni 80?
Quali sono le cose realmente importanti da tenere a mente quando si realizza un'applicazione?
Qual'è la strategia migliore per "inseguire professionalmente" le novità e non diventare rapidamente "obsoleto"?
Cosa si intende per "Pensiero Analogico e Azione Digitale"?
Questo e altro nel nuovo seminario di Pasquale Camastra (che si terrà presso la nostra sede il 14/09/2017 alle ore 17:30), che, questa volta nelle vesti di Evolutionary Architect, racconterà come affrontare le nuovissime tendenze delle Architetture Applicative in Cloud con lo spirito pionieristico di chi ha conosciuto l'informatica grazie al Commodor 64
Test, Tools and Tips per tester e non.
Consigli su come affrontare il testing e come comportarsi con applicazioni di tipo web, con scenari e possibili soluzioni con vari tools a disposizione
Slide del decimo Meetup di Milano, che si è tenuto il 26 Gennaio dalle ore 10:30 alle ore 12:00 in formato virtuale.
Abbiamo parlato insieme a Davide Bonaciti di come ha realizzato un caso d'uso di automazione e CI/CD. Stefano Bernardini, Serena Galassi e Lorenzo Ornella, invece, ci parleranno di DataGraph e ci mostreranno una demo di implementazione per realizzare un'asta del fantacalcio 2.0.
L’implementazione del DevSecOps può avere un grande impatto sulla creazione di un ambiente resiliente e sicuro. Se implementato correttamente, questo approccio permette agli sviluppatori di avere al momento giusto gli strumenti giusti e l’intuizione giusta per ottimizzare la sicurezza delle applicazioni in uso.
Emerasoft, partner italiano di Perfecto Mobile, presenta un webinar per mostrarvi come testare le vostre app su dispositivi mobili reali e garantire agli utenti la massima usabilità su qualsiasi device o browser.
Uno dei Testing Guru di Emerasoft illustra le principali problematiche del test sui dispositivi mobili, evidenziando come Perfecto Mobile sia il tool ideale in grado di testare le performance delle app, consentendo di ottenere un risultato all’altezza delle aspettative degli utenti.
Visualizza il webinar alla seguente pagina: https://www.youtube.com/watch?v=1gq6MayO4_w
Durante l'ottavo Meetup di Milano, tenutosi il 19 Maggio dalle ore 10:30, si è potuto approfondire con Paolo Petronzi tutte le metodologie di testing e automazione con MUnit, invce con Luca Bonaldo, il nostro Mulesoft Mentor in Italia, c'è stato un focus sull'integrazione con Salesforce.
Rich client application: MVC4 + MVVM = Knockout.jsGiorgio Di Nardo
La sempre maggiore diffusione di device diversificati (PC, Notebook, Tablet, Smartphone, ecc.) su piattaforme diverse, rilancia l'utilizzo delle Web Application come strumento per raggiungere il maggior numero di potenziali clienti con il minimo sforzo. Le capacità avanzate dei nuovi device e le ultime tecnologie ci consentono però di evolvere il concetto classico di applicazione Web in una declinazione più veloce, più responsiva, più accattivante: vediamo come.
L’approccio IT bimodale, capace di integrare stabilità e sicurezza da un lato e agilità e velocità dall’altro, si configura come soluzione sostenibile per innovare e trasformare il business senza rallentarlo.
Scopri come integrare approccio bimodale e DevOps, per risparmiare tempo, denaro, ridurre i rischi e ottimizzare le risorse.
Segui il webinar on-demand: https://youtu.be/hVJ2Yk6Fd9U
Consigli su come sviluppare e rilasciare App di Qualità:
1 portare utenti finali nel progetto di sviluppo, 2 elementi da considerare in fase di testing, 3 progettare un'interaction design di successo, 4 dall'idea all'app di successo, 5 azzerare il tasso di abbandono.
Grazie a Team Foundation Build è possibile adottare pratiche di integrazione continua nel proprio progetto. In questa presentazione viene introdotta la struttura di tfs build assieme alle tecniche base per effettuare una customizzazione della build.
Ottava puntata del MuleSoft Meetup di Milano. Parliamo insieme a Paolo Petronzi di metodologie di testing e automazione con MUnit e poi con Luca Bonaldo, il nostro Mulesoft Mentor in Italia, dell'integrazione con Salesforce.
https://meetups.mulesoft.com/events/details/mulesoft-milano-presents-mulesoft-milano-meetup-8/
Continous Delivery e codice di Alta Qualità in PHP. Usare Git , Jenkins e diversi tool per realizzare codice di qualità e per effettuare il deploy in maniera automatica.
Presentazione effettuata al 5 incontro del Palermo PHP User Group al teatro Gregotti
DevOpsHeroes 2016 - Realizzare Continouous Integration con SQL Server e Visua...Alessandro Alpi
In questa serie di slide vedremo come creare i build step su Visual Studio Team Services sfruttando gli add-on forniti da Red Gate, come DLM Automation 2: Build.
5. THE SECONDTHE SECOND
WAYWAY
THE PRINCIPLES OFTHE PRINCIPLES OF
FEEDBACKFEEDBACK
The DevOps Handbook - Gene Kim, Jez Humble, Patrick
Debois, & John Willis
Total Testing in DevOps
5
7. Unit Test written by the programmers to convince
themselves that their programs work the way they think
the programs work.
Functional Test written by (or at least specified by) the
customers to convince themselves that the system as a
whole works the way they think the system as a whole
should work.
eXtreme Programming explained 1st ed - Kent Beck - p. 47
Total Testing in DevOps
7
11. AUTOMATED BUILD
FUNCTIONAL TESTFUNCTIONAL TEST
GOALGOAL
parte in automatico quando necessario
avvisa quando una build o i test falliscono
crea uno o più pacchetti software quando termina con
successo
Total Testing in DevOps
11 . 1
12. AUTOMATED BUILD
FUNCTIONAL TESTFUNCTIONAL TEST
TEST - FEEDBACKTEST - FEEDBACK
verifica manuale: trigger che avviano la build
verifica manuale: avvisi in caso di fallimento
verifica automatica: dei pacchetti creati
deploy dei pacchetti in ambiente di dev / test
esecuzione dei pacchetti in ambiente di dev / test
smoke / sanity test
Total Testing in DevOps
11 . 2
13. AUTOMATED BUILD
OTHER FEEDBACKOTHER FEEDBACK
usability: è facile e intuitivo usare il sistema di build?
lo stato delle build è chiaro? è facile identificare dove e
perché la build è fallita?
performance: la build è abbastanza rapida? possiamo
velocizzarla senza perdere affidabilità?
load il nostro sistema ci permette di effettuare più build
in contemporanea senza un significativo degrado delle
prestazioni?
Total Testing in DevOps
11 . 3
14. AUTOMATED BUILD
UNIT TESTUNIT TEST
La maggior parte degli strumenti di build ci
permettono di definire la build tramite un proprio DSL
oppure "scriverla" usando un linguaggio di
programmazione
BUILD AS CODE / PIPELINE AS CODEBUILD AS CODE / PIPELINE AS CODE
Total Testing in DevOps
11 . 4
15. DELIVERY
FUNCTIONAL TESTFUNCTIONAL TEST
lo schema di versionamento dei pacchetti è semplice ed
efficiente?
è facile distinguere i pacchetti validi da quelli non
installabili?
i pacchetti hanno un checksum per verificare che non
siano corrotti?
l'accesso all'artifactory rispetta i requisiti di sicurezza?
Total Testing in DevOps
12
16. CONF. MGMT & DEPLOY AUTOM.
FUNCTIONAL TESTFUNCTIONAL TEST
GOALGOAL
il deploy può essere lanciato premendo un pulsante
avvisa quando il deploy fallisce
permette i rollback delle configurazioni
permette i rollback delle versioni delle applicazioni
Total Testing in DevOps
13 . 1
17. CONF. MGMT & DEPLOY AUTOM.
FUNCTIONAL TESTFUNCTIONAL TEST
TEST - FEEDBACKTEST - FEEDBACK
verifica manuale: eventuali trigger che avviano il deploy
verifica manuale: avvisi in caso di fallimento
verifica (almeno manuale): rollback delle configurazioni
verifica (almeno manuale): rollback delle versioni
Total Testing in DevOps
13 . 2
18. CONF. MGMT & DEPLOY AUTOM.
OTHER FEEDBACK - PT.1OTHER FEEDBACK - PT.1
usability: le configurazioni sono facilmente
modificabili? è facile creare nuove configurazioni?
usability: è facile e intuitivo usare il sistema di deploy?
lo stato delle deploy è chiaro? è facile identificare dove
e perché il deploy è fallito?
Total Testing in DevOps
13 . 3
19. CONF. MGMT & DEPLOY AUTOM.
OTHER FEEDBACK - PT.2OTHER FEEDBACK - PT.2
performance: il deploy è abbastanza rapido?
possiamo velocizzarla senzo perdere affidabilità?
security: tutti i valori di configurazione sono presenti in
un VCS?
security: le configurazioni specifiche per i differenti
environment sono isolate tra loro? è possibile
configurare differenti livelli di accesso agli
environment?
Total Testing in DevOps
13 . 4
20. CONF. MGMT & DEPLOY AUTOM.
UNIT TESTUNIT TEST
La maggior parte degli strumenti di automazione dei
deploy e gestione delle configurazioni ci permettono
di definire il processo di deploy tramite un proprio
DSL ed esistono strumenti di test che verificano lo
stato di un server / container e.g. testinfra
DEPLOY AUTOMATION AS CODEDEPLOY AUTOMATION AS CODE
Total Testing in DevOps
13 . 5
21. OPERATE
Questa parte è specifica per ogni applicazione...
Operations significa amministrare e gestire il
funzionamento dell'applicazione e spesso necessita la
conoscienza del dominio applicativo
QUESTO NON SIGNIFICA CHE NON POSSAQUESTO NON SIGNIFICA CHE NON POSSA
ESSERE TESTATO E MIGLIORATO!ESSERE TESTATO E MIGLIORATO!
Total Testing in DevOps
14
22. MONITOR
Esso è un sistema molto potente per fornirci feedback e
informazioni relative alla nostra applicazione e su come
viene utilizzata.
Dovrebbe inviarci poche informazioni, ma esse devono
essere cariche di significato... se il sistema di monitoring
c'inviasse tutti i dati che raccogliesse sarebbe
praticamente inutile perché non sapremmo cosa farcene
di tutti quei dati.
Total Testing in DevOps
15 . 1
23. MONITOR
E' un argomento vasto e complesso e purtroppo non
abbiamo tempo per addentrarci nei dettagli.
Che informazioni può fornirci:
se una parte di codice rallenta la sua esecuzione
se una parte di codice genera più errori del normale
variazioni insolite del carico (sia positive che negative)
variazioni insolite nelle risorse utilizzate
Total Testing in DevOps
15 . 2
24. MONITOR
L'UTENTE È IL MIGLIOR "MONITOR" DELL'UTENTE È IL MIGLIOR "MONITOR" DEL
NOSTRO SISTEMA...NOSTRO SISTEMA...
Total Testing in DevOps
15 . 3
26. PLAN
La nostra applicazione ha una UI?
possiamo studiare la UX e testarla, prima di procedere
al design
Total Testing in DevOps
16 . 2
27. PLAN
Vogliamo lanciare una nuova funzionalità?
Possiamo testare l'idea tramite:
sondaggi rivolti agli utenti
landing page che mostrano la nuova funzionalità
Total Testing in DevOps
16 . 3
28. RIASSUMENDO
lo scopo non è automatizzare
lo scopo è ottenere feedback più rapidamente possibile
e prima che i problemi (bug / difetti) vadano in
produzione
possiamo testare l'applicazione e i processi che ci
permettono di metterla in produzione
Total Testing in DevOps
17 . 1
29. RIASSUMENDO
noi siamo gli utilizzatori dei tool, non il contrario!
noi siamo i "customer" del "ciclo infinito", quindi
definiamo i test funzionali e gli "acceptance test" del
nostro flusso di lavoro e dei tool che usiamo
tutto ciò che è codice (o considerabile tale), proviamo a
trattarlo come se lo fosse per davvero ... unit test, TDD,
branching model, etc.
Total Testing in DevOps
17 . 2