Penso che dipenda davvero dal tipo di progetto e dal tipo di decisioni che devi prendere. Ad esempio, qual è lo scopo del piano di test per te.
Qui condividerò alcune esperienze riguardanti il nostro progetto.
Nel nostro progetto e test del nostro team si intende:
- preparazione degli ambienti di test, richiesta per i test di sistema
- preparazione dei dati di test: acquisizione di dati reali dalla produzione o simulazione
- automatizzazione dei test a livello di unità, integrazione, sistema, integrazione di sistema.
- scrivere mock, driver di test, simulatori di dati, framework di test
- dimostrazione dell'output di sviluppo
Quindi i test di pianificazione riguardano decisioni di alto livello da chiarire in precedenza. Ad esempio, decidiamo se il QA deve testare end-to-end una determinata storia, o è meglio se aumenta la copertura del test a livello di unità, estendendo in questo modo i test scritti dagli sviluppatori. Ottenere dati di test spesso significa entrare in contatto con clienti, analisi di business e altre parti interessate per ottenere l'accesso ad essi. I test end-to-end spesso richiedono il know-how di più esperti tester, business analytics e delivery guys, quindi dobbiamo pianificare una formazione in anticipo. I tester spesso presentano ciò che il team ha raggiunto, quindi a volte pianifichiamo quali test preparare per la demo.
L'automazione è una storia a parte. Abbiamo stabilito la metodologia e le strutture per il test, quindi test significa implementare ed eseguire casi di test. Dall'altro lato, stiamo sviluppando un nuovo framework di test, ovvero un progetto di sviluppo separato parallelo a quello principale. Anche questo deve essere pianificato, non può essere fatto ad hoc, ma impariamo ancora dagli altri team come pianificare in modo efficace.
Di solito sappiamo cosa faremo nella versione attuale o in uscita, quindi i test di pianificazione vengono eseguiti in anticipo per diverse iterazioni.
Di solito pianifichiamo i test con il resto del team, quando inizia l'iterazione. Non scriviamo sempre tutte le decisioni sui test, ma pianifichiamo ancora il processo di test.
A volte, come tester, dobbiamo supportare sia l'iterazione corrente che i test di regressione. Quindi dobbiamo pianificare quanto la nostra capacità può essere dedicata all'attuale iterazione e se gli sviluppatori possono coprire i nostri test, se siamo troppo occupati con altre responsabilità. Questo è agile, quindi gli sviluppatori possono fare alcuni test, ma dobbiamo ancora programmarlo in qualche modo.