Come adattare i test in Scrum Sprint e come scrivere storie utente in Scrum

15

Sono il team di sviluppo a capo di un nuovo progetto nella mia azienda. Questo è il primo progetto in cui la società utilizzerà Scrum. Abbiamo una cascata / SDLC iterativo. I documenti sui requisiti di scrittura dei BAs, consegnano a dev e test, dev sviluppano lo sviluppo e verranno rilasciati a test in iterazioni. I collaudatori impiegano molto tempo per testare una versione con cui gli sviluppatori continuano lo sviluppo ma anche correzioni di bug per la versione corrente. Ho alcune domande

  1. In uno sprint con dire 5 storie quando rilasci per il test? È appena una storia è completata da dev o dopo che tutte le storie sono state completate, ma prima della fine dello sprint, testando il tempo necessario per testare.
  2. Se il BA scrive storie di utenti, quale dovrebbe essere il dettaglio. Tradizionalmente ci vuole molto tempo per scrivere una specifica con tutto il layout dell'interfaccia utente, il comportamento, il testo ecc. Da finalizzare. Credo che la mia domanda sia come scrivere storie che siano implementabili e testabili.
  3. Il nostro team di test non è tecnico. Quanto è importante avere un test dell'interfaccia utente automatizzato per Scrum. L'interfaccia utente è basata su WPF.

Ho una solida esperienza nello sviluppo usando metodi agili (TDD, revisioni di codice, refactoring ecc.) ma nuovo per la mischia.

modifica:. Con iterazioni voglio dire che se ci sono 100 richieste di prenotazione può rilasciare al test quando abbiamo finito 30, 35, 35 requisiti piuttosto che aspettare fino a tutti i 100 requisiti sono stati completati

    
posta softveda 29.12.2011 - 10:27
fonte

5 risposte

11

Se il test è separato dallo sviluppo, hai due team scrum separati. È una cattiva idea avere una mano per l'altra.

I tuoi sviluppatori devono scrivere i propri test, separati da questo altro team. Devi trattare questo altro team di "test" come i tuoi clienti.

In a sprint ... when do you release for testing ?

Quando lo sprint è finito. Completamente fatto. Ciò significa che hai eseguito i test delle tue unità e sei sicuro che funziona. Una volta completato il tuo team di sviluppo, lo rilascerai ad altri team per "test" o "distribuzione" o qualsiasi altra cosa succeda nell'organizzazione.

I guess my question is how to write stories that are implementable and testable.

Questo varia da squadra a squadra. Il BA fa parte del team di sviluppo. Devi lavorare su questo come team (sviluppatori BA più) per ottenere la giusta quantità di dettagli. È uno sforzo di squadra per ottenere le informazioni giuste da BA al resto del team.

How important it is to have automated UI testing for Scrum.

Essential. Completamente richiesto per qualsiasi sviluppo dell'interfaccia utente. Gli sviluppatori devono eseguire tutti i test stessi prima vengono dati al "team di test". Se c'è un'interfaccia utente, devono testarla. Se non esiste un'interfaccia utente, non è necessario eseguire il test dell'interfaccia utente automatico. È richiesto un test e un'interfaccia utente deve essere testata. I test automatici sono la migliore pratica corrente.

Linea di fondo. Un team separato di "test" e un BA che scrive ogni piccolo dettaglio non è un'organizzazione ottimale per Scrum. Scrum significa che devi ripensare alla tua organizzazione e ai tuoi processi.

    
risposta data 29.12.2011 - 13:15
fonte
9

La maggior parte delle risposte che fornirò si riferiscono a un metodo Agile di sviluppo software rispetto a un metodo Iterative Waterfall. Scrum sembra essere una popolare implementazione Agile.

  1. Nel tipico Scrum non esiste una fase di test separata, poiché i test formali dovrebbero avvenire durante l'intero sprint. Quando uno sviluppatore termina una User Story, la risorsa QA dovrebbe già preparare i suoi casi di test e iniziare a testare a quel punto. Se passano i loro casi di test, accettano la storia dell'utente e passano alla successiva. Una volta che tutte le User Story sono state completate e accettate, lo sprint è finito e inizi il successivo. Tutto dipende ovviamente dall'integrazione continua, quindi le modifiche allo sviluppo sono immediatamente disponibili per il controllo qualità. Ulteriori sviluppi dovrebbero seguire le linee guida TDD per garantire che i test di regressione siano il più rapidi e indolore possibile.

  2. È una buona idea per BA scrivere storie di utenti, ma per un controllo più dettagliato e specifico, le User Story possono accompagnare i documenti dei Requisiti formali. La User Story dovrebbe essere scritta dal punto di vista di un singolo utente per ruolo. Esprime un'esigenza dal punto di vista dell'utente, quindi in modo abbastanza naturale se il software soddisfa attualmente tutti gli aspetti di tale necessità, allora la storia dell'utente viene soddisfatta. Le storie degli utenti possono essere composte da storie di utenti secondari e attività assegnabili. Potrebbero esserci sovrapposizioni in Attività per più storie di utenti.

  3. I test dell'interfaccia utente automatizzati possono essere una buona cosa, ma personalmente ritengo che sia più importante uno sforzo maggiore sui metodi TDD e una copertura del 100% dei test unitari di tutta la Business Logic. La maggior parte dei team di sviluppo software non sembra avere una copertura del 100% di Business Logic, quindi secondo me il test automatico UI sarebbe uno spreco di tempo prezioso che potrebbe essere utilizzato per scrivere più test unitari per BL. È un lusso che non è necessario secondo me.

risposta data 29.12.2011 - 13:26
fonte
4
  1. In Scrum, dovresti produrre un incremento del software potenzialmente trasferibile alla fine di ogni sprint. Di conseguenza, Scrum promuove il concetto di team intero o team interfunzionale in cui tutte le abilità necessarie per condurre una determinata user story da fare devono essere presenti nel team.

    Nel mio progetto attuale, poiché una storia completamente testata è parte della nostra definizione di fatto, abbiamo incorporato i tester nei team. Durante i primi giorni di uno sprint, mentre gli sviluppatori iniziano a lavorare sui primi user story, i tester preparano scenari di test e impostano alcuni dati di test. Appena lo sviluppatore per una delle user story è terminato, lo testeranno.

  2. Questa è una delle maggiori difficoltà in Scrum IMO. Devi trovare la giusta quantità di specifiche necessarie per ottenere una user story verificabile e implementabile. Troppe analisi iniziali, documentazione e specifiche comporteranno un piano rigido che inevitabilmente si rivelerà errato nel corso dello sprint. Viceversa, una user story che non è stata chiaramente definita ed espressa dal Product Owner porterà ad una saturazione della larghezza di banda di comunicazione tra gli sviluppatori e l'OP durante lo Sprint e ritardi nello sviluppo mentre l'OP prende decisioni sulle storie degli utenti a metà dello sprint .

    Nel nostro caso, abbiamo definito la giusta quantità di dettagli per una storia utente da 1 / una descrizione sotto forma di "come ... voglio ... così che ..." e 2 / a serie di criteri di accettazione. Raramente facciamo dei prototipi dell'interfaccia utente, può succedere durante le fasi di sprint, ma sono più schizzi che vengono scartati in seguito.

  3. Secondo la mia esperienza, i test dell'interfaccia utente automatizzati sono estremamente dispendiosi in termini di tempo ed estremamente fragili. Ci sono modi per farlo in WPF ma vorrei riflettere attentamente sul costo di mantenimento di tali test con i benefici prima di andare in quel modo.

risposta data 01.02.2012 - 14:23
fonte
2

Lavorare in iterazioni più brevi e più brevi rende tutti questi handoff sempre più costosi. Puoi ridurre questi costi seguendo una regola stupida e semplice: taglia le dimensioni del lotto a metà, cambia il modo di lavorare per renderlo constrongvole, ripeti fino a renderlo felice.

Porta il tuo esempio di sprint a 5 piani. Se i tuoi team sono abituati a scrivere il codice per tutte e 5 le storie, quindi testare tutte e 5 le storie, la dimensione del batch è di 5 storie. Taglia quello a metà. Nel prossimo sprint, lavora prima sulle 3 storie più urgenti, preparandole a testare il prima possibile. Mentre i tester testano queste 3 storie, il resto può preparare le restanti 2 storie per i test. Ciò causerà alcuni dolori in crescita. Cambia il modo di lavorare per renderlo più constrongvole.

For example, more people will work on each story together, so try more pairing and see if that helps you work more steadily. Or, perhaps, the testers will find problems in story 2 that distracts some programmers while they're trying to work on story 5, so encourage the programmers and testers next sprint to discuss earlier how to test one of the story in the "first batch" so that the programmers are less likely to make a mistake that a tester can easy catch with a test.

Potrebbero essere necessari alcuni sprint per risolvere i grossi problemi associati ai tester che testano una piccola serie di storie mentre i programmatori lavorano alla prossima serie di storie. Una volta che diventa constrongvole, tagliare di nuovo le dimensioni del lotto a metà. E di nuovo. Entro un anno circa, il team testerà comodamente le storie poiché i programmatori ritengono di aver finito con loro e probabilmente facendo meno errori lungo la strada. Ogni storia sarà fatta prima.

Naturalmente, a questo punto, ora puoi fare la stessa cosa con i batch che il team riceve dai proprietari del prodotto o che il team spedisce all'organizzazione operativa. E così via. A questo punto, puoi affrontare "quanti dettagli dovrebbero scrivere i BA per le storie?" problema.

A proposito: affinché i tester siano in grado di ridurre i tempi di risposta, dovranno adottare un po 'di automazione, combinando l'apprendimento automatico e i programmatori che li aiutano ad automatizzare. Mentre cerchi di ridurre le dimensioni del batch, scoprirai quando è necessario risolvere questi problemi. Non aggiungere l'automazione solo perché un libro dice che ne hai bisogno.

Spero di aiutarti.

    
risposta data 30.10.2014 - 02:16
fonte
0

Voglio solo condividere alcune esperienze come di seguito, spero che sia utile per te.

In a sprint with say 5 stories when do you release for testing ? Is it as soon as a story is completed by dev or after all stories are completed but before end of sprint giving test the required time to test.

Per ciascuna grande storia di utenti, dovrebbe essere suddivisa in molte sotto-attività e quando le sotto-attività sono completamente svolte dallo sviluppatore, dovrebbero essere rilasciate a QC per essere testate immediatamente. Il difetto dovrebbe essere corretto dopo il test per le attività secondarie che terminano il test.

If the BA writes user stories what should be the detail. Traditionally it takes long time to write a spec with all UI layout, behaviour, text etc to be finalised. I guess my question is how to write stories that are implementable and testable.

In Scrum, le storie degli utenti dovrebbero essere in qualsiasi formato, purché le conversazioni che circondano le storie si verifichino e non siano previste che siano completate o statiche. Una piccola storia, chiamata semplicemente una user story, è una storia ben compresa e può essere implementata in uno sprint.  La priorità di una storia può essere basata sul ROI, sul valore aziendale o su qualsiasi altra cosa che l'utente è d'accordo. Questa è attività per PO.

Our test team is non-technical. How important it is to have automated UI testing for Scrum. The UI is based on WPF

Applicare i test di automazione in Scrum è un'attività piuttosto difficile. Poiché tutte le funzioni sono implementate in modo incompleto e non sono realmente stabili per consentire a QC di implementare il caso di test con uno strumento di auto-test. Dovrebbe essere fatto per uno sprint chiamato: regression.

    
risposta data 26.10.2014 - 03:44
fonte

Leggi altre domande sui tag