Testowanie zwinne - śledzenie działań
Status testu można przekazać -
- Podczas codziennych spotkań na stojąco
- Korzystanie ze standardowych narzędzi do zarządzania testami
- Za pośrednictwem komunikatorów
Status testu określony na podstawie statusu zaliczenia testu jest kluczowy przy podejmowaniu decyzji, czy zadanie jest „Ukończone”. Gotowe oznacza wszystkie testy do zaliczenia zadania.
Postęp testów
Postęp testów można śledzić za pomocą -
- Tablice Scrum (tablice zadań Agile)
- Wykresy wypalania
- Wyniki testów automatycznych
Postęp testów ma również bezpośredni wpływ na postępy w rozwoju. Dzieje się tak, ponieważ można przenieść historię użytkownika doDonestatus dopiero po osiągnięciu Kryteriów akceptacji. O tym z kolei decyduje Status testu, ponieważ kryteria akceptacji są oceniane na podstawie statusu testu.
Jeśli są jakieś opóźnienia lub blokady w toku testów, cały zespół omawia i współpracuje, aby rozwiązać ten sam problem.
W projektach zwinnych zmiany zachodzą dość często. W przypadku wielu zmian możemy oczekiwać, że stan testów, postęp testów i jakość produktu będą stale ewoluować. Testerzy Agile muszą przekazać te informacje zespołowi, aby można było podjąć właściwe decyzje we właściwym czasie, aby pozostać na dobrej drodze do pomyślnego zakończenia każdej iteracji.
Zmiany zachodzące mogą wpłynąć na istniejące funkcje z poprzednich iteracji. W takich przypadkach testy ręczne i automatyczne muszą zostać zaktualizowane, aby skutecznie radzić sobie z ryzykiem regresji. Potrzebne są również testy regresji.
Jakość produktu
Wskaźniki jakości produktu obejmują -
- Testy zaliczone / niezaliczone
- Znalezione / naprawione usterki
- Pokrycie testowe
- Wskaźniki wyniku pozytywnego / negatywnego testu
- Wskaźniki wykrywania wad
- Gęstość defektów
Automatyzacja gromadzenia i raportowania wskaźników jakości produktu pomaga w -
- Zachowanie przejrzystości.
- Zbieranie wszystkich istotnych i wymaganych wskaźników we właściwym czasie.
- Natychmiastowe raportowanie bez opóźnień w komunikacji.
- Umożliwienie testerom skupienia się na testowaniu.
- Filtrowanie niewłaściwego użycia metryk.
Aby zapewnić ogólną jakość produktu, zespół Agile musi uzyskać od klientów informacje zwrotne na temat tego, czy produkt spełnia oczekiwania klientów. Należy to przeprowadzić na końcu każdej iteracji, a informacja zwrotna będzie stanowić dane wejściowe dla kolejnych iteracji.
Kluczowe czynniki sukcesu
W projektach zwinnych produkty wysokiej jakości mogą być dostarczane, jeśli testy zwinne zakończą się pomyślnie.
Aby pomyślnie przeprowadzić testy zwinne, należy wziąć pod uwagę następujące punkty:
Testowanie zwinne opiera się na podejściu testowym i ciągłym. W związku z tym tradycyjne narzędzia testujące, które są oparte na podejściu test-last, mogą nie być odpowiednie. Dlatego przy wyborze narzędzi testowych w projektach zwinnych należy zweryfikować zgodność z testowaniem zwinnym.
Skróć całkowity czas testowania, automatyzując testy na wcześniejszym etapie cyklu rozwojowego.
Testerzy zwinni muszą utrzymywać tempo, aby dostosować się do harmonogramu wydawania programów. W związku z tym właściwe planowanie, śledzenie i ponowne planowanie czynności testowych należy wykonywać w locie, mając na celu jakość produktu.
Testowanie ręczne stanowi 80% testów w projektach. Dlatego testerzy z doświadczeniem muszą być częścią zespołu Agile.
Udział tych testerów z doświadczeniem w całym cyklu rozwoju sprawia, że cały zespół koncentruje się na jakości produktu spełniającego oczekiwania klientów.
Definiowanie historyjek użytkowników podkreślających zachowanie produktu oczekiwane przez użytkowników końcowych.
Identyfikacja kryteriów akceptacji na poziomie historyjek użytkownika / poziomu zadania zgodnie z oczekiwaniami klienta.
Szacowanie nakładu pracy i czasu trwania czynności testowych.
Planowanie czynności testowych.
Współpraca z zespołem programistów w celu zapewnienia produkcji kodu spełniającego wymagania dzięki wstępnemu projektowi testów.
Najpierw przetestuj i kontynuuj testowanie, aby upewnić się, że stan ukończenia został osiągnięty i spełnia kryteria akceptacji w oczekiwanym czasie.
Zapewnienie testów na wszystkich poziomach sprintu.
Testowanie regresji na koniec każdego sprintu.
Zbieranie i analizowanie metryk produktu, które są przydatne dla powodzenia projektu.
Analiza defektów w celu określenia, które należy naprawić w bieżącym Sprincie, a które można opóźnić do kolejnych Sprintów.
Skupienie się na tym, co jest ważne z punktu widzenia Klienta.
Lisa Crispin zdefiniowała siedem kluczowych czynników sukcesu testów zwinnych -
Whole Team approach- W takim podejściu programiści szkolą testerów, a testerzy szkolą innych członków zespołu. Pomaga to każdemu zrozumieć każde zadanie w projekcie, dzięki czemu współpraca i wkład przyniosą maksymalne korzyści. Współpraca testerów z klientami jest również ważnym czynnikiem, aby już na początku ustalić ich oczekiwania i przełożyć kryteria akceptacji na wymagane do zdania testu.
Agile Testing Mindset - Testerzy są proaktywni w ciągłym doskonaleniu jakości i stałej współpracy z resztą zespołu.
Automate Regression Testing- Projektuj pod kątem testowalności i rozwijaj napęd za pomocą testów. Zacznij prosto i pozwól zespołowi wybrać narzędzia. Bądź gotów udzielić porady.
Provide and Obtain Feedback- Ponieważ jest to podstawowa wartość Agile, cały zespół powinien być otwarty na opinie. Ponieważ testerzy są ekspertami w dostarczaniu informacji zwrotnych, muszą skupić się na istotnych i niezbędnych informacjach. W zamian za otrzymanie informacji zwrotnej należy uwzględnić zmiany przypadków testowych i testowanie.
Build a Foundation of Core Agile Practices - Skoncentruj się na testowaniu obok kodowania, ciągłej integracji, środowiskach testowych opartych na współpracy, pracy przyrostowej, akceptacji zmian, utrzymaniu synergii.
Collaborate with Customers - Pozyskiwanie przykładów, zrozumienie i sprawdzanie mapowania wymagań w zachowaniu produktu, ustalanie kryteriów akceptacji, uzyskiwanie informacji zwrotnych.
Look at the Big Picture - Prowadź rozwój dzięki testom i przykładom skierowanym do biznesu, wykorzystując rzeczywiste dane testowe i myśląc o wpływie na inne obszary.