Test Agile - Strumenti
Nei progetti Agile, i tester sono responsabili delle seguenti attività quotidiane:
Supportare gli sviluppatori nella codifica, con chiarimenti sul comportamento previsto del sistema.
Aiuta gli sviluppatori a creare unit test efficaci ed efficienti.
Sviluppa script di automazione.
Integra strumenti / script di test di automazione con l'integrazione continua per i test di regressione.
Per un'implementazione efficace e rapida di queste attività, nella maggior parte dei progetti Agile viene utilizzato un sistema di integrazione continua (CI) che supporta CI di codice e componenti di test.
I tester e gli sviluppatori in progetti agili possono beneficiare di vari strumenti per gestire le sessioni di test e per creare e inviare rapporti sui difetti. Oltre a strumenti specializzati per test agili, i team agili possono anche trarre vantaggio dall'automazione dei test e dagli strumenti di gestione dei test.
Note - Le soluzioni Record-and-Playback, Test-Last, Heavyweight e Test Automation non sono agili in quanto -
L'ultimo flusso di lavoro incoraggiato da tali strumenti non funziona per i team Agile.
Gli script non mantenibili creati con tali strumenti diventano un ostacolo al cambiamento
Tali strumenti specializzati creano la necessità di specialisti dell'automazione dei test e quindi favoriscono i silos
Gli strumenti ampiamente utilizzati sono:
S.No. | Strumento e scopo |
---|---|
1 | Hudson CI Framework |
2 | Selenium Test funzionale - Integrato con Hudson |
3 | CruiseControl CI Framework |
4 | Junit Java Unit Test |
5 | Nunit .Net Unit Test |
6 | Cobertura / JavaCodeCoverage / JFeature / JCover / Copertura del test Java |
7 | Jester Java - Test di mutazione / Seeding automatico degli errori |
8 | Gretel Strumento di monitoraggio della copertura dei test Java |
9 | TestCocoon C / C ++ o C #: riduce la quantità di test trovando test ridondanti e trova il codice morto |
10 | JAZZ Java - Copertura Branch, Node e Defuse e implementa una GUI, pianificatori di test, strumentazione dinamica e un analizzatore di test |
11 | Ant Java - Build automazione |
12 | Nant .Net - Build di automazione |
13 | Bonfire Componente aggiuntivo Agile Testing per JIRA |
Strumenti di automazione del test agile
Supporto efficace degli strumenti di automazione dei test Agile -
Automazione dei test iniziali utilizzando un approccio test-first.
Scrittura di codice di automazione del test utilizzando linguaggi reali, linguaggi specifici del dominio.
Concentrandosi sul comportamento previsto del sistema.
Separare l'essenza del test dai dettagli di implementazione, rendendolo così indipendente dalla tecnologia.
Promuovere la collaborazione.
I test di unità automatizzati (utilizzando Junit o NUnit) supportano l'approccio test-first per la codifica. Questi sono test white box e assicurano che il design sia corretto e che non ci siano difetti. Tali test vengono creati dagli sviluppatori con il supporto dei tester e possono essere indipendenti dalla funzionalità richiesta. Ciò si traduce nella fornitura di un prodotto che potrebbe non soddisfare i requisiti del cliente e quindi privo di valore aziendale.
Questa preoccupazione viene risolta automatizzando i test di accettazione scritti con la collaborazione del cliente, di altri stakeholder, tester e sviluppatori. I test di accettazione automatizzati sono scritti dai clienti o dai proprietari del prodotto / analisti aziendali che riflettono il comportamento previsto del prodotto. Il coinvolgimento degli sviluppatori garantisce la produzione del codice secondo i requisiti. Tuttavia, se il test si concentra solo sull'accettazione, il codice risultante potrebbe rimanere non estensibile.
Pertanto, i test di unità automatizzati e i test di accettazione automatizzati sono gratuiti ed entrambi sono necessari nello sviluppo agile.
Gli strumenti e i framework Agile che supportano i test di accettazione automatizzati sono:
- Fit
- Fitnesse
- Concordion
- Ruby
- Cucumber
In forma
Ward Cunningham ha sviluppato lo strumento Fit che può essere utilizzato per l'Acceptance Test Automation. La vestibilità consente:
Clienti o proprietari del prodotto per fornire esempi di comportamento del prodotto utilizzando Microsoft Word e Microsoft Excel
I programmatori per trasformare facilmente questi esempi in test automatizzati.
Fit 1.1 supporta sia Java che .NET.
FitNesse
FitNesse è un wiki, che è uno stile di server web che consente a qualsiasi visitatore di apportare modifiche, inclusa la modifica di pagine esistenti e la creazione di nuove pagine. Un semplice linguaggio di markup ti consente di creare facilmente titoli, rendere il testo in grassetto, sottolineato e corsivo, creare elenchi puntati e eseguire altri tipi di formattazione semplice.
In FitNesse, l'automazione del test di accettazione è la seguente:
Esprimere i test come tabelle di dati di input e dati di output previsti.
Usa FitNesse per inserire la tabella di test nella pagina che puoi modificare.
In alternativa, metti la tabella di prova in Microsoft Excel, copia negli appunti e quindi usa il file Spreadsheet to FitNesse comando per fare in modo che FitNesse formatta correttamente la tabella
Esegui il test
Si ottengono i risultati del test mediante la codifica a colori delle celle nella tabella del test
le celle verdi rappresentano che si ottengono i valori attesi
i globuli rossi rappresentano che si ottiene un valore diverso da quello atteso
le celle gialle indicano che è stata generata un'eccezione
Cetriolo
Cucumber è uno strumento basato sul framework Behaviour Driven Development (BDD). Le caratteristiche principali sono:
Viene utilizzato per scrivere test di accettazione per applicazioni web.
Consente l'automazione della convalida funzionale in un formato facilmente leggibile e comprensibile come l'inglese normale.
È stato implementato in Ruby e poi esteso al framework Java. Entrambi supportano Junit.
Supporta altri linguaggi come Perl, PHP, Python, .Net ecc.
Può essere utilizzato insieme a Selenio, Watir, Capybara, ecc.