TTT - Test, Tools and Tips - jug roma

Preview:

DESCRIPTION

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

Citation preview

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