SlideShare a Scribd company logo
TTT (T3) - Test, Tools and Tips
per tester e non…
Cos'è il testing?
Il Testing è una attività sistematica che, utilizzando
metodologie riconosciute,
cerca di ridurre il numero di difetti in un prodotto
software
Cosa ci viene in mente quando parliamo
di tester?
La reazione di un DEV, quando gli dicono
che deve testare qualcosa
Come mi vedo io
Punti importanti quando si fa del testing
 Assicurarsi che l’applicazione rispetti le richieste e la visione del cliente
 Analizzare e sviluppare dei piani di test, (evitare regressioni)
 Fare da ponte tra gli attori che compongono il nostro prodotto
 Essere un ingegnere creativo ;-)
 Tenere aggiornati i test e la documentazione (evitare il paradosso del pesticida)
 Diplomazia e doti relazionali (teorema dello scarafone)
 Avere doti decisionali
 Automatizzare il più possibile.
Perché è cosi importante il test
 Diminuisce il costo di eventuali bug che
andrebbero in produzione
 Si assicura che il prodotto rispetti le
specifiche richieste dal cliente
 Accorcia i tempi tra scoperta e
risoluzione del bug
 Tiene sotto controllo il context switching
 Minimizza la creazione di costi nascosti
 Fornisce importanti indicatori dello stato
dei lavori (supporto a decisioni
strategiche)
Mitologia sul testing e tester
 Se vi sono dei test e questi vanno bene allora non sono presenti i bug;
 Il lavoro del tester può essere fatto tranquillamente dallo sviluppatore, analista oppure
delegato al cliente con il Q&A
 Il tester non costruisce, anzi distrugge, perciò rallenta il team ed è un costo inutile;
 Il tester è un costo, period!
TT (T2) – Tools & Tips
Problemi, scenari e soluzioni
Scenario 1:
1. voglio analizzare la comunicazione tra la mia pagina e il mio server
2. voglio analizzare il comportamento di html, js e css
3. Voglio eseguire al volo delle prove sulla mia pagina html
Soluzione: Webtools 1/2
Chrome Webtools FireBug (Firefox)
Soluzione: Webtools 2/2
Barra Strumenti di IE
 Gestione del HTML, CSS e cookies;
 Gestione degli script JS;
 Assente la gestione della comunicazione
http
Il nostro arci nemico….. IE6
1. voglio analizzare la comunicazione tra la mia pagina/applicazione e il mio server;
2. Esiste sempre uno scenario che segue il primo e precede il terzo;
3. Voglio testare il comportamento del mio server, in maniera agnostica della mia
applicazione
Scenario 2:
Soluzione: Web proxy debugger
Fiddler 2
 Registra la comunicazione di rete
 E’ possibile eseguire un’analisi
approfondita delle varie chiamate e
della risposta del server.
Soluzione: Web proxy debugger
Charles
 Tutte le funzionalità di Fiddler 2
 E’ possibile modificare le chiamate
manualmente
 E’ possibile effettuare un debug passo a
passo delle chiamate/risposte
 E’ possibile effettuare un re-writing dei
parametri tramite regole
 Licenza di 50$.
 Devo testare il comportamento della mia applicazione su vari browser legacy: IE6,
IE7, ma possiedo versioni più recenti di IE
Scenario 3:
Simulatore di Browser
IE Tester
 Multipli motori di IE, partendo da IE 5.5
 Totalmente Free
 Permette l’analisi del DOM, dei JS e del
traffico http con un’altra app chiamata
DEBUG BAR (a pagamento)
Simulatore di Browser
IE Tab Chrome / Firefox
 Estensione che permette direttamente
dal browser di simulare IE 7+
 Non permette l’utilizzo dei webtools
 Free
Tips test in IE
 Utilizzare Macchine virtuali con la versione
di IE da testare
 Stare molto (ma molto) attenti alla
modalità compatibilità di IE.
 Voglio eseguire dei test di carico (stress test) sulla mia applicazione
 Devo registrare molte navigazioni di test sulla mia applicazione che poi verranno
passate ai test di carico
Scenario 4:
Soluzione: JMeter + Badboy
BadBoy
 Permette di registrare la navigazione
della nostra applicazione;
 Permette di rieseguire la navigazione;
 Permette di esportare in JMeter lo script di
navigazione
 Licenza: Gratuita
JMeter
 Permette di registrare la navigazione di
un sito (spartano rispetto a BadBoy)
 Permette di eseguire stress test e affini di
applicazioni http/https (ma anche SOAP,
Mongo, SMTP, ecc..)
 Offre tools di reportistica per supportare le
nostre analisi relativo all’esito dei test
 Licenza: Apache, Gratuita
 Devo testare sempre certe parti dell’applicazione per verificare che niente di già
presente nell’applicazione si sia rotto;
 Ogni volta devo effettuare una serie di test banali, noiosi e ripetitivi.
Scenario 5:
Soluzione: Selenium
 Permette la registrazione di una
navigazione (senza l’utilizzo di
conoscenze da dev);
 Permette di esportare gli script in JUnit o
.Net, per rieseguire la navigazione
salvata;
 Devo creare dei mockup per il cliente;
 Non sono un grafico;
 Mi servono velocemente.
Scenario 6:
Balsamiq Mockups
 Permette la creazione veloce di
mockups;
 Non necessita conoscenze da grafico;
 Veloci da creare e modificare;
 A pagamento
di ‘voglio farti una domanda’ un altra volta, di
‘voglio farti una domanda’ un altra volta, ti
sfido, 2 volte, ti sfido.
Ezechiele 25:17
Grazie
Diego Mauricio Lagos Morales
 Linkedin: https://www.linkedin.com/pub/diego-mauricio-lagos-morales/8/815/676
 Mail: diegomauricio777+tester[at]gmail.com

More Related Content

TTT - Test, Tools and Tips - jug roma

  • 1. TTT (T3) - Test, Tools and Tips per tester e non…
  • 2. Cos'è il testing? Il Testing è una attività sistematica che, utilizzando metodologie riconosciute, cerca di ridurre il numero di difetti in un prodotto software
  • 3. Cosa ci viene in mente quando parliamo di tester?
  • 4. La reazione di un DEV, quando gli dicono che deve testare qualcosa
  • 6. Punti importanti quando si fa del testing  Assicurarsi che l’applicazione rispetti le richieste e la visione del cliente  Analizzare e sviluppare dei piani di test, (evitare regressioni)  Fare da ponte tra gli attori che compongono il nostro prodotto  Essere un ingegnere creativo ;-)  Tenere aggiornati i test e la documentazione (evitare il paradosso del pesticida)  Diplomazia e doti relazionali (teorema dello scarafone)  Avere doti decisionali  Automatizzare il più possibile.
  • 7. Perché è cosi importante il test  Diminuisce il costo di eventuali bug che andrebbero in produzione  Si assicura che il prodotto rispetti le specifiche richieste dal cliente  Accorcia i tempi tra scoperta e risoluzione del bug  Tiene sotto controllo il context switching  Minimizza la creazione di costi nascosti  Fornisce importanti indicatori dello stato dei lavori (supporto a decisioni strategiche)
  • 8. Mitologia sul testing e tester  Se vi sono dei test e questi vanno bene allora non sono presenti i bug;  Il lavoro del tester può essere fatto tranquillamente dallo sviluppatore, analista oppure delegato al cliente con il Q&A  Il tester non costruisce, anzi distrugge, perciò rallenta il team ed è un costo inutile;  Il tester è un costo, period!
  • 9. TT (T2) – Tools & Tips Problemi, scenari e soluzioni
  • 10. Scenario 1: 1. voglio analizzare la comunicazione tra la mia pagina e il mio server 2. voglio analizzare il comportamento di html, js e css 3. Voglio eseguire al volo delle prove sulla mia pagina html
  • 11. Soluzione: Webtools 1/2 Chrome Webtools FireBug (Firefox)
  • 12. Soluzione: Webtools 2/2 Barra Strumenti di IE  Gestione del HTML, CSS e cookies;  Gestione degli script JS;  Assente la gestione della comunicazione http
  • 13. Il nostro arci nemico….. IE6
  • 14. 1. voglio analizzare la comunicazione tra la mia pagina/applicazione e il mio server; 2. Esiste sempre uno scenario che segue il primo e precede il terzo; 3. Voglio testare il comportamento del mio server, in maniera agnostica della mia applicazione Scenario 2:
  • 15. Soluzione: Web proxy debugger Fiddler 2  Registra la comunicazione di rete  E’ possibile eseguire un’analisi approfondita delle varie chiamate e della risposta del server.
  • 16. Soluzione: Web proxy debugger Charles  Tutte le funzionalità di Fiddler 2  E’ possibile modificare le chiamate manualmente  E’ possibile effettuare un debug passo a passo delle chiamate/risposte  E’ possibile effettuare un re-writing dei parametri tramite regole  Licenza di 50$.
  • 17.  Devo testare il comportamento della mia applicazione su vari browser legacy: IE6, IE7, ma possiedo versioni più recenti di IE Scenario 3:
  • 18. Simulatore di Browser IE Tester  Multipli motori di IE, partendo da IE 5.5  Totalmente Free  Permette l’analisi del DOM, dei JS e del traffico http con un’altra app chiamata DEBUG BAR (a pagamento)
  • 19. Simulatore di Browser IE Tab Chrome / Firefox  Estensione che permette direttamente dal browser di simulare IE 7+  Non permette l’utilizzo dei webtools  Free
  • 20. Tips test in IE  Utilizzare Macchine virtuali con la versione di IE da testare  Stare molto (ma molto) attenti alla modalità compatibilità di IE.
  • 21.  Voglio eseguire dei test di carico (stress test) sulla mia applicazione  Devo registrare molte navigazioni di test sulla mia applicazione che poi verranno passate ai test di carico Scenario 4:
  • 22. Soluzione: JMeter + Badboy BadBoy  Permette di registrare la navigazione della nostra applicazione;  Permette di rieseguire la navigazione;  Permette di esportare in JMeter lo script di navigazione  Licenza: Gratuita JMeter  Permette di registrare la navigazione di un sito (spartano rispetto a BadBoy)  Permette di eseguire stress test e affini di applicazioni http/https (ma anche SOAP, Mongo, SMTP, ecc..)  Offre tools di reportistica per supportare le nostre analisi relativo all’esito dei test  Licenza: Apache, Gratuita
  • 23.  Devo testare sempre certe parti dell’applicazione per verificare che niente di già presente nell’applicazione si sia rotto;  Ogni volta devo effettuare una serie di test banali, noiosi e ripetitivi. Scenario 5:
  • 24. Soluzione: Selenium  Permette la registrazione di una navigazione (senza l’utilizzo di conoscenze da dev);  Permette di esportare gli script in JUnit o .Net, per rieseguire la navigazione salvata;
  • 25.  Devo creare dei mockup per il cliente;  Non sono un grafico;  Mi servono velocemente. Scenario 6:
  • 26. Balsamiq Mockups  Permette la creazione veloce di mockups;  Non necessita conoscenze da grafico;  Veloci da creare e modificare;  A pagamento
  • 27. di ‘voglio farti una domanda’ un altra volta, di ‘voglio farti una domanda’ un altra volta, ti sfido, 2 volte, ti sfido. Ezechiele 25:17
  • 28. Grazie Diego Mauricio Lagos Morales  Linkedin: https://www.linkedin.com/pub/diego-mauricio-lagos-morales/8/815/676  Mail: diegomauricio777+tester[at]gmail.com