Test Agile - Quadranti

Come nel caso del test tradizionale, anche il test agile deve coprire tutti i livelli di test.

  • Test unitario
  • Test d'integrazione
  • Test di sistema
  • Test di accettazione dell'utente

Test unitario

  • Fatto insieme alla codifica, dallo sviluppatore
  • Supportato da Tester che scrive casi di test garantendo il 100% di copertura del progetto
  • I casi di unit test e i risultati degli unit test devono essere rivisti
  • I principali difetti irrisolti (secondo priorità e gravità) non vengono lasciati
  • Tutti i test unitari sono automatizzati

Test d'integrazione

  • Fatto insieme all'integrazione continua man mano che gli Sprint progrediscono
  • Fatto alla fine dopo che tutti gli Sprint sono stati completati
  • Tutti i requisiti funzionali vengono testati
  • Vengono testate tutte le interfacce tra le unità
  • Tutti i difetti vengono segnalati
  • I test sono automatizzati ove possibile

Test di sistema

  • Fatto mentre lo sviluppo avanza
  • Le storie, le caratteristiche e le funzioni degli utenti vengono testate
  • Test effettuati in ambiente di produzione
  • Vengono eseguiti test di qualità (prestazioni, affidabilità, ecc.)
  • Vengono segnalati difetti
  • I test sono automatizzati ove possibile

Test di accettazione dell'utente

  • Fatto alla fine di ogni Sprint e alla fine del progetto

  • Fatto dal Cliente. Il feedback è preso dal team

  • Il feedback sarà un input per gli Sprint successivi

  • Le User Story in uno Sprint sono pre-verificate per essere testabili e sono con criteri di accettazione definiti

Tipi di test

  • Test dei componenti (test unitari)
  • Test funzionali (test delle storie degli utenti)
  • Test non funzionali (prestazioni, carico, stress, ecc.)
  • Test di accettazione

I test possono essere completamente manuali, completamente automatizzati, combinazione di manuali e automatizzati o manuali supportati da strumenti.

Supportare la programmazione e testare i prodotti critici

I test possono essere per -

  • Supporting Development (Support Programming) - I test di programmazione di supporto vengono utilizzati dai programmatori.

    • Per decidere quale codice devono scrivere per realizzare un determinato comportamento di un sistema

    • Quali test devono essere eseguiti dopo la codifica per garantire che il nuovo codice non ostacoli il resto dei comportamenti del sistema

  • Verification only (Critique Product) - I test critici sul prodotto vengono utilizzati per scoprire le inadeguatezze del prodotto finito

Test di fronte agli affari e di fronte alla tecnologia

Per decidere quali test eseguire e quando, è necessario determinare se un test è:

  • Business Facing, o
  • Tecnologia di fronte

Test di fronte al business

Un test è un test rivolto all'azienda se risponde alle domande incorniciate con parole del dominio aziendale. Questi sono compresi dagli esperti di business e li interesserebbero in modo che il comportamento del sistema possa essere spiegato nello scenario in tempo reale.

Test di fronte alla tecnologia

Un test è un test rivolto alla tecnologia se risponde alle domande incorniciate con parole dal dominio della tecnologia. I programmatori capiscono cosa deve essere implementato sulla base dei chiarimenti sulla tecnologia.

Questi due aspetti dei tipi di test possono essere visualizzati utilizzando gli Agile Testing Quadrants definiti da Brian Marick.

Quadranti Agile Testing

Combinando i due aspetti dei tipi di test, i seguenti quadranti di test Agile sono derivati ​​da Brian Marick:

I quadranti di test Agile forniscono un'utile tassonomia per aiutare i team a identificare, pianificare ed eseguire i test necessari.

  • Quadrant Q1- Livello di unità, tecnologia di fronte e supporta gli sviluppatori. Gli unit test appartengono a questo quadrante. Questi test possono essere test automatici.

  • Quadrant Q2- Livello di sistema, approccio al business e comportamento del prodotto conforme. I test funzionali appartengono a questo quadrante. Questi test sono manuali o automatizzati.

  • Quadrant Q3- Livello di accettazione del sistema o dell'utente, Business Facing e focus su scenari in tempo reale. I test di accettazione utente appartengono a questo quadrante. Questi test sono manuali.

  • Quadrant Q4- Livello di accettazione del sistema o operativo, tecnologia di fronte e focus su prestazioni, carico, stress, manutenibilità, test di scalabilità. Strumenti speciali possono essere utilizzati per questi test insieme ai test di automazione.

Combinando questi, i quadranti di test Agile che riflettono What-Testing-When può essere visualizzato come segue: