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.
1. 30 maggio 2020 -#avv2020
Felice Pescatore
@ƒelicepescatore
AGILOZZI LE TESTA TUTTE
il testing secondo il ragioniere dell’Agilità
@agilozzi#agilozzi
2. Il Continuous Testing consiste
nell’ANTICIPARE I TEST, integrandoli
STRUTTURALMENTE nella pipeline di delivery
CONTINUOUS TESTING
3. Cultura, Pratiche e Strumenti sono i pillars che
aiutano a mitigare i rischi e ridurre gli incident
durante l’attraversamento della pipeline di delivery.
AUTOMAZIONE NON IMPLICA
AUTOMATICAMENTE CONTINUOUS TESTING
anche se ne rappresenta un aspetto fondamentale e abilitante
4. Agilozzi Antipattern: BEST UNIVERSAL PRACTICES
NON ESISTE UN UNICO MODO DI
APPROCCIARE IL CONTINUOUS TESTING
anche se un approccio di Guided Continuous Improvement è un buon punto di partenza
Bisogna sempre CONTESTUALIZZARE il tutto in modo da garantire la migliore
combinazione di azioni, possibili e sostenibili.
5. AUMENTARE LA QUALITÀ DI DELIVERY
aiuta a ridurre il debito tecnico e funzionale.
L’aggiunta di nuove funzionalità deve accompagnarsi ad una
ROBUSTA STRATEGIA di test che promuove un mix di VISIONE
LOCALE e GLOBALE per poter azionare quanto serve quando serve.
6. TESTARE NON SIGNIFICA FARE DEBUGGING
ma è un asset essenziale dell’azione di delivery
OBIETTIVI NOBILE del Continuous Testing è evitare la costituzione
dei fantomatici team di «support/debug» che immancabilmente
demotivano chi ci lavora, creando dei «tecnici kamikaze»
7. RIPETERE OGNI VOLTA TUTTI I
TEST NON È RAGIONEVOLE
in primis per una questione di tempi e costi
Continuous Testing non vuol dire ripetere per ogni modifica tutti i test
annessi al prodotto, ma avere una OPPORTUNA SEGMENTAZIONE E
COESIONE di essi per poterli eseguire in modo localizzato
8. NO DEVOPS WITHOUT TESTING
il testing è essenziale per sviluppare un vero approccio in chiave DevOps
Sposare DevOps senza una opportuna strategia di Testing annessa è come
spingere sull’acceleratore senza disporre di una strada sicura!
9. Flow, Feedback, Continuous Learning & Experimentation
Testiamo per…
…. far scorrere le attività senza intoppi, rimuovendo gli impedimenti (waste)
…. avere feedback rapidi
… validare ipotesi e assunzioni
THE 3 WAYS OF DEVOPS...
…TAILORED FOR TESTING
10. • Built-in Quality
• More Testing Automation
• Actionable Metrics
• Keep Communication Transparent
• Qualifying Architecture
• Valuable Tools
• Multi-Layers Tests
• Shift Left Testing
Un buon punto di partenza in ottica di Guided Continuous Improvement
• Stable Lab and Test Environment
CONTINUOUS TESTING MINDSET
gli aspetti portanti per sviluppare il Continuous Testing
11. Agilozzi Antipattern: EXTERNAL QUALITY
BUILT-IN QUALITY
testare tutto, dalla sostenibilità della soluzione all’operatività in produzione
Il test non è solo relativo al codice, ma deve guardare al prodotto, contemplando
tutta la filiera a supporto, dalla validazione della sostenibilità al monitoraggio
continuo di come sta rispondendo agli utenti finali
12. Agilozzi Antipattern: ONE-BIG FINAL TEST
SHIFT LEFT TESTING
anticipare il più possibile il testing
Anticipare il più possibile le diverse azioni di validazione, rendendo l’identificazione
di eventuali difetti più facile e meno costoso di quanto avvenga una volta in
produzione
13. Agilozzi Antipattern: MANUAL – TESTING
MORE TESTING AUTOMATION
non è possibile fare continuous testing senza automazione
L'automazione aumenta l’attendibilità, la copertura e la velocità dei test ed è
fondamentale renderla fattivamente parte del processo di delivery
14. Agilozzi Antipattern: COLLECT NUMBERS NOT TRENDS
ACTIONABLE METRICS
metriche quantificabili per tracciare il tasso di successo o fallimento durante i test
L’approccio al Continuous Testing produce dati misurabili il cui trend, più che il valore
puntuale, aiuta ad implementare una strategia di test migliorativa ed adattativa
15. Agilozzi Antipattern: TELL-O-MATIC
special guest: rag. FiLEAN
KEEP COMMUNICATION TRANSPARENT
comunicazione trasparente per evitare che la pipeline di test si frammenti in silos
La comunicazione trasparente ed attiva è la chiave per raggiungere l'equilibrio
necessario tra le varie azioni di testing dei diversi work-center, mitigando il rischio
di generare colli di bottiglia che vanno a minare l’efficienza complessiva
16. Agilozzi Antipattern: MONOLITHIC ARCHITECTURE
special guest: geom. Calboni
QUALIFYING ARCHITECTURE
architetture modulari e disaccoppiate rendono il testing mirato e sostenibile
Un’architettura modulare e scomponibile consente di concentrare gli sforzi sulle
sezioni specifiche impattate dalle modifiche effettuate, riducendo notevolmente
l’effort di analisi relativa
17. Agilozzi Antipattern: UNPREDICTABLE TOOLS
VALUABLE TOOLS
strumenti adeguati per rendere il processo di test più semplice, rapido, completo ed efficace
I tool e le piattaforme utilizzate devono integrarsi tra loro andando a rimuovere il
più possibile l’overhead manuale. L’obiettivo primario deve essere quello di
automatizzare le operazioni banali consentendo di concentrarsi su ciò che è
realmente importante: il test!
18. Agilozzi Antipattern: BIG-BANG TESTING
special guest: rag. FiLEAN
MULTI-LAYERS TESTS
test a diversi livelli permettono di coprire le diverse fasi ed aree del ciclo di vita dell’applicazione
Applicare strategie come la Test Pyramid permette di specializzare la specificità
dell’azione di test ed aver un approccio multi-strato che aiuta a contenere la
complessità ed individuare puntualmente i difetti e concentrare le azioni di
miglioramento.
19. Agilozzi Antipattern: UNRELIABLE ENVIRONMENTS
STABLE LAB AND TEST ENVIRONMENTS
ambienti lavoro stabili e conformi a quelli di produzione
Gli ambienti di test devono essere conformi, a livello tecnologico e di configurazione,
agli ambienti di produzione, con differenze prestazionali misurabili
20. Unitamente è volto a stemperare la PAURA che ad ogni rilascio ci sia
comunemente qualcosa che non funzioni
Il Continuous Testing è quindi un approccio
fondamentale per garantire che il prodotto sia
INTRINSECAMENTE DOTATO DI UN’ADEGUATA QUALITÀ
21. Il Continuous Testing non si sviluppa utilizzando
extra time per lo scopo specifico, ma attraverso
l’EFFICIENTAMENTO dei team
In tal modo i membri del team disporranno di PIÙ TEMPO per la
condivisione delle conoscenze, lo sviluppo individuale e gli impegni privati
Tell-o-Matic: creare un discroso artificioso per gli altri solo per rispettare la necessità di dire qualcosa, senza preoccuparsi dell’utilità e comprensibilità
(o-matic deriva dalla parola "automatic" e indica l’automatizzazione del sostantivo)