getting started with fitnesse collaboration tool
Ora il mondo si sta muovendo verso Agile. Un feedback tempestivo e continuo è fondamentale per qualsiasi team di mischia. Poiché il mondo sta cambiando, anche la mentalità dei tester deve essere cambiata.
Invece di 'trovare bug, rompere il software, misurare i requisiti', i tester stanno ora pensando di 'fornire la qualità, proprio alla prima volta, testare senza l'interfaccia utente o testare anche prima che l'interfaccia utente sia disponibile'.
I tester sono ora tenuti a rispondere al cambiamento, e quindi è importante uscire dalla tecnica di test della scatola nera e non aspettare fino a quando non viene sviluppata l'interfaccia utente; invece, inizia a testare anche i risultati intermedi.
Cosa imparerai:
unire l'ordinamento c ++ esempio
- Ma perché?
- Cos'è FitNesse?
- Perché dovrei usare FitNesse?
- Quindi cosa posso creare?
- Download e configurazione di FitNesse:
- Esempio FitNesse - Le cose da testare:
- Scrivere il test in FitNesse:
- Alcuni approfondimenti sugli stili di Fixture / Table:
- Raccomandazione:
- Conclusione
- Lettura consigliata
Ma perché?
'ORA QUESTA È UNA PROSPETTIVA MOLTO AGILE'.
Ogni volta che creiamo software, i livelli più bassi di test vengono mantenuti a livello di unità / componente. I test unitari vengono eseguiti dal team di sviluppo. Questi test unitari sono molto orientati alla tecnologia e per lo più scritti nella stessa lingua con il sistema in esame.
Questi test unitari sono scritti con ' X unità 'Strumento di test. Lo diciamo nel mondo dei test se il nostro test unitario è solido come una roccia , i difetti vengono identificati molto prima e il test al di sopra del livello di unit test diventa facile in un ambiente stabile. E quando parliamo in Agile, diciamo che se un team conosce l'arte del TDD (Test Driven Development), i test a livello di unità forniscono il feedback più rapido.
Il livello sopra il livello unità / componente è il livello dei test di accettazione che viene svolto dall'attività. Questi sono test funzionali hanno una copertura maggiore rispetto ai test unitari e sono spesso eseguiti da non sviluppatori. Questi test testano il livello dietro il livello di presentazione o le API. Queste API o metodi quando vengono testati forniscono un rapido feedback e quando la GUI viene sviluppata, la maggior parte delle funzionalità viene testata.
FitNesse è un esempio di questo livello di test di accettazione automatizzata.
Cos'è FitNesse?
FitNesse è 'Un wiki standalone completamente integrato e framework di test di accettazione'. È il server web wiki open source. Wiki- perché consente di creare le proprie pagine web su cui vengono create le tabelle di test. Queste tabelle di prova non sono altro che i file dati di test .
La sua intenzione è di supportare uno stile agile di accettazione della scatola nera e test di regressione. È anche uno strumento di collaborazione perché i tester collaborano con gli sviluppatori per preparare la suite di test.
Perché dovrei usare FitNesse?
Il team di test Agile può utilizzare FitNesse per preparare tute di prova che testeranno i metodi nel codice. FitNesse è analogo a Junit in un modo che verifica anche i metodi, ma è diverso da Junit perché i test sono sotto forma di semplici tabelle che possono essere utilizzate sia dagli sviluppatori che dai non sviluppatori.
Benefici:
- Feedback tempestivo, eseguendo i test di accettazione automatizzati tutte le volte che è necessario.
- I risultati dei test sono deterministici perché sono evidenziati in rosso o in verde.
- I dati dei test possono essere progettati per soddisfare le esigenze di qualità.
- I test sono scritti in un linguaggio semplice e di facile comprensione poiché sono scritti in forma tabellare.
- Queste tabelle sono definite in termini di input e output attesi.
- Vedi tutto FitNesse funziona qui.
Quindi cosa posso creare?
In FitNesse, puoi creare test e suite. I termini sono molto simili a quelli usati nel mondo dei test. I test sono script singoli e il seme è la raccolta / gruppo di test. Quando crei un seme e lo esegui, il vantaggio è che vengono eseguiti tutti i test in quel seme. Quindi è necessaria una pianificazione adeguata per organizzare i test in una tuta.
Download e configurazione di FitNesse:
=> Per scaricare FitNesse, Clicca qui
(Nota: Fare clic su qualsiasi immagine per ingrandirla)
Scarica l'ultima versione di fitnesse-standalone.jar e salvalo sull'unità locale.
Apri un prompt dei comandi ed esegui il file jar. Per comodità, ho creato un file batch:
Una volta eseguito il file jar, FitNesse viene avviato come mostrato di seguito: (clicca sull'immagine per ingrandirla)
Per aprire FitNesse, apri il browser e digita: http: // localhost: . In questo caso, il numero di porta è 2222.
La pagina ricevuta è mostrata di seguito: (clicca sull'immagine per ingrandirla)
Quindi qui, se puoi vedere il menu a discesa Test, possiamo creare una 'pagina Suite' così come una 'Pagina di test'. Quando crei una suite, verranno eseguiti tutti gli script di test all'interno di quella suite.
A scopo illustrativo, sto prendendo un esempio di pagina di test.
Esempio FitNesse - Le cose da testare:
A partire da ora, stiamo testando un semplice programma di calcolo mostrato di seguito.
Ecco il codice in java, che ha 4 metodi:
- addizione ()
- meno ()
- moltiplicare ()
- dividere ()
(Tieni presente che FitNesse funziona con qualsiasi lingua di tua scelta. Per la spiegazione, ho usato java)
Questo codice nel mondo FitNesse si chiama 'Fixture'.
I dispositivi non sono altro che il codice di esempio - o un collegamento tra FitNesse e l'applicazione in prova. Quindi, ogni volta che vogliamo testare un metodo, dobbiamo scrivere un dispositivo e questo dispositivo invocherà e testerà il metodo.
Quindi il codice 'Fixture' per il nostro esempio è il seguente:
publicclass Calculator { privateint first,second; publicvoid setFirst(int first) { this.first=first; } publicvoid setSecond(int second) { this.second=second; } publicint addition() { return (first+second); } publicint minus() { return (first-second); } publicint multiply() { return (first*second); } publicfloatdivide() { return (first/second); } }
Il codice in eclipse è mostrato come: (clicca sull'immagine per ingrandirla)
Avremmo bisogno del file di classe, quindi assicurati di compilarlo.
Scrivere il test in FitNesse:
Passo 1) Torniamo al browser dove abbiamo la prima pagina di FitNesse.
Nella prima pagina, fare clic su 'Pagina di test', immettere il nome del test e fare clic sul pulsante 'Salva'. Nel nostro caso, è 'Calcolatrice'
Passo 2) Nell'URL, aggiungi il nome del test con un punto '.' Operatore.
Piace: http: // localhost: 2222 / FrontPage.Calculator
Passaggio 3) Fare clic sul pulsante Modifica e immettere le righe mostrate di seguito
Ecco le linee inserite:
! definisci TEST_SYSTEM {slim}
! percorso F: Eclipse TestFitness bin
! | Calcolatrice |
| primo | secondo | addizione? | meno? | moltiplicare? | dividere? |
| 4 | 2 | 6 | 2 | 8 | 2.0 |
| 10 | 5 | 15 | 5 | 50 | 2.0 |
| 10 | 10 | 20 | 0 | 100 | 1.0 |
Comprendiamo le righe una per una.
per) La prima riga dice che FitNesse utilizza il sistema di test SLIM.
( SOTTILE - È l'acronimo di Simple List Invocation Method. Dicendo il sistema di test SLIM, tutta l'elaborazione della tabella viene eseguita da FitNesse. SLIM ha SLIM Runner e SLIM Executer. SLIM Runner suddivide le pagine di test in semplici istruzioni e queste istruzioni vengono passate a SLIM Executer che indirizza il codice del dispositivo per chiamare il sistema in prova)
b) La seconda riga definisce la posizione del file di classe. In questo caso, il codice java viene compilato e il file di classe viene mantenuto nella posizione 'percorso F: Eclipse TestFitness bin'
c) La terza riga indica il nome della classe. Nel nostro caso è 'Calcolatrice'
d) Ora arriva la quarta riga:
Le prime due colonne| primo | secondo |sono i parametri o gli input per il metodo java.
Le 4 colonne successive che sono seguite da '?'addizione? | meno? | moltiplicare? | dividere? | sono i metodi nella classe java. Questi metodi restituiranno un valore che verrebbe confrontato con i valori attesi.
e) Le linee:
| 4 | 2 | 6 | 2 | 8 | 2.0 |
| 10 | 5 | 15 | 5 | 50 | 2.0 |
| 10 | 10 | 20 | 0 | 100 | 1.0 |
Sono i casi di test o dovrei dire Dati di test per il nostro metodo.
La prima riga:
| primo | secondo | addizione? | meno? | moltiplicare? | dividere? |
| 4 | 2 | 6 | 2 | 8 | 2.0 |
Prenderà 4 come primo parametro e 2 come secondo parametro e passerà questi due valori nel metodo di addizione della classe java. Il metodo verrà eseguito e restituirà un valore. Questo valore restituito verrà confrontato con il valore previsto scritto sotto 'addizione?' che è| 6 |
Allo stesso modo, FitNesse passerà i primi 2 parametri in meno? Metodo della classe java e restituisce un valore. Questo valore verrà confrontato con il valore atteso rispetto a | 2 |
Allo stesso modo, moltiplicare? e dividere? funzionerà prendendo i valori del primo e del secondo parametro e restituirà il valore con cui viene confrontato| 8 | 2.0 |rispettivamente
Allo stesso modo, vengono eseguite le 2 righe sottostanti (o dovrei dire i casi di test).
| 10 | 5 | 15 | 5 | 50 | 2.0 |
| 10 | 10 | 20 | 0 | 100 | 1.0 |
Passaggio 4) Dopo aver modificato i test, fai clic sul pulsante Salva e la tua pagina avrà il seguente aspetto:
come rippare DVD gratuitamente
Passaggio 5) Per eseguire i test, fare clic sul pulsante Test e otteniamo il risultato come segue: (clicca sull'immagine per ingrandirla)
Per la prima riga (che è il nostro primo caso di test), il colore verde evidenzia che i valori, restituiti dal metodo addizione (), meno (), moltiplicare () e dividere () corrispondono a quanto previsto, ovvero 6, 2 , 8 e 2.0 rispettivamente. Allo stesso modo, per la seconda riga (che è il secondo caso di test) tutti i valori restituiti dai metodi corrispondono.
Passaggio # 6) Ora per dimostrare, lasciami cambiare alcuni dei valori attesi con altri valori (i valori non sono corretti, ma l'ho fatto apposta per la spiegazione)
A partire da ora, ho:
- Modificato il valore atteso per l'addizione () per il primo caso di test in 7
- Modificato il valore atteso per meno () per il secondo caso di test
- Modificato il valore atteso per divide () per il terzo caso di test.
Passaggio 7) Eseguire il test facendo clic sul pulsante 'Test'. I test precedenti dovrebbero fallire. (clicca sull'immagine per ingrandirla)
Il colore rosso evidenzia che questi test sono falliti.
Alcuni approfondimenti sugli stili di Fixture / Table:
Abbiamo visto che in FitNesse i test vengono eseguiti eseguendo righe in una tabella. Quindi per eseguire diversi tipi di test (o dovrei dire per testare diversi tipi di metodi), avremmo bisogno di utilizzare diversi tipi di tabelle. Usiamo i seguenti stili di Fixture / table più spesso:
- Apparecchio a colonna - è il più utilizzato (ed è utilizzato nell'esempio sopra). Qui le righe di dati rappresentano diversi set di input e il relativo output previsto.
- Row Fixtures - Viene utilizzato per testare query che restituiscono una serie di valori.
- Dispositivi di azione - Viene utilizzato per eseguire test per una sequenza di eventi. Questi eventi possono essere come fare clic su un pulsante, controllare i valori
Raccomandazione:
Ho provato a dimostrare i concetti in modo che possiamo iniziare a esplorare di più su FitNesse. Anche la mentalità del tester deve essere cambiata e ampliata. Dobbiamo smetterla di limitarci a guardare dentro il codice. Io sento; alla fine stiamo testando il codice, quindi perché non proviamo a vedere il codice e testarlo lì e lì?
Inizia ad affinare le tue capacità di programmazione e enfatizza maggiormente la costruzione della logica e piuttosto l'apprendimento della sintassi. Una volta che hai acquisito familiarità con i concetti di programmazione e hai fatto pratica per implementarli, esplorare FitNesse diventerà più facile.
Conclusione
Il test in agile è disponibile in 4 gusti:
- Test di unità automatizzati: utilizzando Junit
- Test di verifica dell'accettazione automatizzato: utilizzando FitNesse
- UI automatizzati / test di regressione - utilizzando Selenium o QTP
- Test manuale
Dovremmo cercare di spingere al massimo i nostri test nell'unità e nel livello di accettazione . Fino ad ora abbiamo cercato di mantenere la maggior parte dei nostri test per il livello dell'interfaccia utente utilizzando strumenti come QTP e Selenium, ma lo svantaggio qui è che queste funzionalità non possono essere testate a meno che l'interfaccia utente non sia sviluppata. Quando trovi un difetto, gli sviluppatori sono passati allo sviluppo di altre funzionalità.
D'altra parte, se siamo in grado di testare le API subito dopo che è stato scritto, gli sviluppatori possono risolverlo immediatamente. Ciò risulterebbe anche in uno sforzo minore quando testiamo la GUI. Poiché tutte le funzionalità vengono testate, testare la GUI diventa facile.
Con Agile, anche la mentalità dei tester ha bisogno di un cambiamento e devono uscire dal loro set di test di routine e ora dovresti guardare il codice e cercare di identificare i difetti anche se l'interfaccia utente non è disponibile.
Circa l'autore: Questo è un articolo ospite del membro del team STH Shilpa C. Roy. Ha lavorato nel campo del test del software negli ultimi 9+ anni in domini come pubblicità su Internet, Investment Banking e Telecom.
Fateci sapere le vostre domande nei commenti qui sotto.
Lettura consigliata
- Gli sviluppatori non sono buoni tester. Cosa dici?
- Utile strumento gratuito di cattura dello schermo e annotatore per i tester - Recensione di qSnap
- I 10 strumenti di revisione del codice più popolari per sviluppatori e tester
- Revisione di WebLOAD - Introduzione allo strumento di test di carico WebLOAD
- I 15 migliori strumenti di test SOA per tester
- Come mantenere viva la motivazione nei tester di software?
- TestLodge Test Management Tool Review
- Soft Skill per tester: come migliorare la capacità di comunicazione