Test agili - Tester in team

Lo sviluppo agile è incentrato sul team e sviluppatori e tester prendono parte a tutte le attività di progetto e sviluppo. Il lavoro di squadra massimizza il successo dei test nei progetti Agile.

Un team di Tester in Agile deve partecipare e contribuire a tutte le attività del progetto e allo stesso tempo deve far leva sull'esperienza nel testing.

Un tester Agile dovrebbe avere capacità di test tradizionali. Inoltre, Agile tester necessita di:

  • Buone capacità interpersonali.

  • Capacità di agire in modo positivo e orientato alla soluzione con i membri del team e le parti interessate.

  • Capacità di mostrare un pensiero critico, orientato alla qualità e scettico sul prodotto.

  • Attitudine ad essere proattivi per acquisire attivamente informazioni dagli stakeholder.

  • Capacità di lavorare efficacemente con clienti e stakeholder nella definizione di User Story verificabili, i Criteri di Accettazione.

  • Talento per essere un buon membro del team che lavora con gli sviluppatori nella produzione di codice di qualità.

  • Usabilità delle abilità di test per avere i casi di test giusti al momento giusto e al giusto livello ed eseguirli bene entro la durata dello sprint.

  • Capacità di valutare e riportare i risultati dei test, lo stato di avanzamento dei test e la qualità del prodotto.

  • Disponibilità a rispondere rapidamente ai cambiamenti, inclusa la modifica, l'aggiunta o il miglioramento dei casi di test.

  • Potenziale di auto-organizzazione del lavoro.

  • Entusiasmo per la continua crescita delle competenze.

  • Competenza in Test Automation, Test-driven Development (TDD), Acceptance Test-driven Development (ATDD), Behavior Driven Development (BDD) e Test basati sull'esperienza.

Ruolo del Tester in Agile Team

Tester in Agile Team partecipa a tutte le attività di progetto e sviluppo per contribuire al meglio delle competenze di test.

Le attività di Agile Tester includono:

  • Garantire un uso corretto degli strumenti di test.

  • Configurazione, utilizzo e gestione degli ambienti di test e dei dati di test.

  • Mentoring altri membri del team in aspetti rilevanti del test.

  • Garantire che le attività di test appropriate siano programmate durante la pianificazione del rilascio e dello sprint.

  • Comprensione, implementazione e aggiornamento della strategia di test.

  • Collaborare con sviluppatori, clienti e stakeholder per chiarire i requisiti, in termini di testabilità, coerenza e completezza.

  • Eseguire i test giusti al momento giusto e ai livelli di test giusti.

  • Segnalare i difetti e lavorare con il team per risolverli.

  • Misurazione e reporting della copertura del test su tutte le dimensioni di copertura applicabili.

  • Partecipare a retrospettive di sprint, suggerendo e implementando proattivamente miglioramenti.

Nell'Agile Lifecycle, un tester svolge un ruolo significativo in:

  • Teamwork
  • Pianificazione dei test
  • Sprint Zero
  • Integration
  • Pratiche di test agili

Lavoro di squadra

Nello sviluppo agile, il lavoro di squadra è fondamentale e quindi richiede quanto segue:

  • Collaborative Approach- Lavorare con i membri del team interfunzionale su strategia di test, pianificazione dei test, specifiche dei test, esecuzione dei test, valutazione dei test e report dei risultati dei test. Contribuire l'esperienza di test insieme ad altre attività del team.

  • Self-organizing - Pianificare e organizzare bene gli sprint per raggiungere gli obiettivi dei test amalgamando le competenze anche degli altri membri del team.

  • Empowerment - Prendere decisioni tecniche appropriate per raggiungere gli obiettivi del team.

  • Commitment - Impegnarsi a comprendere e valutare il comportamento e le caratteristiche del prodotto come richiesto dai clienti e dalle parti interessate.

  • Transparent - Aperto, Comunicante e Responsabile.

  • Credibility- Garantire la credibilità della strategia di test, la sua implementazione e l'esecuzione. Tenere i clienti e le parti interessate informati sulla strategia di test.

  • Open to Feedback- Partecipare a sprint retrospettive per imparare sia dai successi che dai fallimenti. Cercare il feedback dei clienti e agire rapidamente e in modo appropriato per garantire risultati di qualità.

  • Resilient - Rispondere ai cambiamenti.

Pianificazione dei test

La pianificazione del test dovrebbe iniziare durante la pianificazione del rilascio e l'aggiornamento durante ogni sprint. La pianificazione dei test dovrebbe coprire le seguenti attività:

  • Definizione dell'ambito del test, estensione del test, obiettivi di test e sprint.

  • Decidere l'ambiente di test, gli strumenti di test, i dati di test e le configurazioni.

  • Assegnazione di test di funzionalità e caratteristiche.

  • Pianificazione delle attività di test e definizione della frequenza dei test.

  • Identificazione di metodi, tecniche, strumenti e dati di test.

  • Accertamento di prerequisiti quali compiti predecessori, competenza e formazione.

  • Identificazione di dipendenze come funzioni, codice, componenti di sistema, fornitore, tecnologia, strumenti, attività, attività, team, tipi di test, livelli di test e vincoli.

  • Stabilire le priorità considerando l'importanza e le dipendenze del cliente / utente.

  • Arrivando alla durata del tempo e allo sforzo richiesto per testare.

  • Identificazione dei compiti ad ogni pianificazione dello sprint.

Sprint Zero

Sprint Zero prevede attività di preparazione prima del primo sprint. Un tester deve collaborare con il team nelle seguenti attività:

  • Identificazione dell'ambito
  • Suddivisione delle user story in sprint
  • Creazione dell'architettura di sistema
  • Pianificazione, acquisizione e installazione di strumenti (inclusi strumenti di test)
  • Creazione della strategia di test iniziale per tutti i livelli di test
  • Definizione delle metriche di test
  • Specificare i criteri di accettazione, chiamati anche la definizione di "Fatto"
  • Definizione dei criteri di uscita
  • Creazione della scheda Scrum
  • Stabilire la direzione per i test durante gli sprint

Integrazione

In Agile, un prodotto funzionante di qualità dovrebbe essere pronto per il rilascio in qualsiasi momento del ciclo di vita dello sviluppo. Ciò implica l'integrazione continua come parte dello sviluppo. Un tester Agile deve supportare l'integrazione continua con test continui.

Per fare ciò, un tester deve:

  • Comprendere la strategia di integrazione.
  • Identifica tutte le dipendenze tra funzioni e caratteristiche.

Pratiche di test agili

Un tester Agile deve adattare le pratiche Agile per i test in un progetto Agile.

  • Pairing- Due membri del team lavorano insieme sulla stessa tastiera. Mentre uno di loro verifica, l'altro esamina / analizza i test. I due membri del team possono essere

    • Un tester e uno sviluppatore

    • Un tester e un analista aziendale

    • Due tester

  • Incremental Test Design - I casi di test sono costruiti dalle storie degli utenti, iniziando con test semplici e passando a test più complessi.

  • Mind Mapping- Una mappa mentale è un diagramma per organizzare visivamente le informazioni. La mappatura mentale può essere utilizzata come uno strumento efficace nei test Agile, utilizzando le informazioni che possono essere organizzate sulle sessioni di test necessarie, le strategie di test ei dati di test.