Poradnik metodologii testowania Scrum

Scrum w testowaniu oprogramowania

Scrum w testowaniu oprogramowania jest metodologią tworzenia złożonych aplikacji oprogramowania. Zapewnia łatwe rozwiązania do wykonywania skomplikowanych zadań. Scrum pomaga zespołowi programistów skupić się na wszystkich aspektach rozwoju produktu oprogramowania, takich jak jakość, wydajność, użyteczność itd. Zapewnia przejrzystość, inspekcję i adaptację podczas rozwoju oprogramowania, aby uniknąć złożoności.

Testowanie Scrumowe

Testowanie Scrumowe jest testowaniem przeprowadzanym w metodologii scrum w celu weryfikacji spełnienia wymagań aplikacji oprogramowania. Obejmuje sprawdzanie parametrów niefunkcjonalnych, takich jak bezpieczeństwo, użyteczność, wydajność itp. W procesie nie ma aktywnej roli testera, więc zwykle wykonują go programiści z Unit Test. Czasami potrzebne są dedykowane zespoły testowe w zależności od charakteru i złożoności projektu.

Kluczowe cechy metodologii Scrum

Poniżej przedstawiono kluczowe cechy metodyki Scrum:

  • Scrum ma krótki, ustalony harmonogram cykli wydawniczych z regulowanym zakresem, znanym jako sprinty aby sprostać szybko zmieniającym się potrzebom rozwojowym. Każde wydanie może mieć wiele sprintów. Każdy projekt Scrum może mieć wiele cykli wydań.
  • Powtarzająca się sekwencja spotkania, wydarzenia i kamienie milowe
  • Praktyka testowania i wdrażania nowych wymagań, tzw historie, aby mieć pewność, że po każdym sprincie część pracy zostanie udostępniona w formie gotowej

Scrum opiera się na następujących 3 filarach:

Kluczowe cechy metodologii Scrum

Przyjrzyjmy się jeden po drugim

1. Role w Scrumie

W testowaniu Scrum istnieją trzy główne role – właściciel produktu, mistrz Scrum i zespół programistów. Przeanalizujmy je szczegółowo

Product Owner Scrum Master Zespół
Określa cechy produktu. Zarządza zespołem i dba o produktywność zespołu Zespół liczy zwykle około 5-9 członków
Właściciel produktu decyduje o dacie wydania i odpowiednich funkcjach Utrzymuje listę zablokowanych i usuwa bariery w rozwoju Obejmuje programistów, projektantów, a czasami testerów itp.
Priorytetyzują cechy zgodnie z wartością rynkową i rentownością produktu Koordynuje wszystkie role i funkcje Zespół samodzielnie organizuje i planuje swoją pracę
Odpowiada za rentowność produktu Chroni zespół przed zakłóceniami zewnętrznymi Ma prawo zrobić wszystko w ramach projektu, aby osiągnąć cel sprintu
Może zaakceptować lub odrzucić wynik elementu pracy Zaproszenia na codzienne spotkania scrumowe, przeglądy sprintów i spotkania planistyczne Aktywnie uczestnicz w codziennych ceremoniach

2. Artefakty Scruma

Artefakty Scruma

Proces scrumowy obejmuje

  • Historie użytkownika: Stanowią krótkie objaśnienie funkcjonalności testowanego systemu. Przykład dla Ubezpieczyciela brzmi – „Składkę można opłacić za pomocą systemu online”.
  • Rejestr Produktu: Jest to zbiór historii użytkowników przechwyconych na potrzeby produktu scrumowego. Właściciel produktu przygotowuje i utrzymuje rejestr produktu. Priorytet jest ustalany przez właściciela produktu i każdy może coś do niego dodać za zgodą właściciela produktu.
  • Zaległość wydania: Wydanie to przedział czasowy, w którym ukończono określoną liczbę iteracji. Koordynuje właściciel produktu ze scrum masterem, aby zdecydować, które historie powinny zostać opublikowane. Historie znajdujące się w rejestrze wydań mają zostać ukończone w wydaniu.
  • Sprints: Jest to ustalony okres czasu na ukończenie historii użytkownika, o którym decyduje właściciel produktu i zespół programistów, zwykle 2-4 tygodnie.
  • Sprint Zaległości w pracy: To zestaw historii użytkownika, które mają zostać ukończone w sprincie. Podczas backlogu sprintu praca nigdy nie jest przydzielana, a zespół zgłasza się do pracy na własną rękę. Jest własnością zespołu i jest przez niego zarządzany, podczas gdy szacowana pozostała praca jest aktualizowana codziennie. Jest to lista zadań, które muszą zostać wykonane w Sprint
  • Lista zablokowanych: Jest to lista bloków i niepodjętych decyzji, będąca własnością scrum mastera i aktualizowana codziennie
  • Wykres spalania: Wykres wypalenia przedstawia ogólny postęp prac w toku i prac ukończonych w trakcie procesu. Przedstawia w formie wykresu historie i funkcje, które nie zostały ukończone

3. Ceremonie (procesy) w Scrumie

  • Sprint Planowanie: Sprint rozpoczyna się od zaimportowania przez zespół historii z backlogu wydania do backlogu sprintu; hostem jest scrum master. Testerzy szacują wysiłek włożony w przetestowanie różnych historii w Sprint Zaległości.
  • Codzienny Scrum: Jest prowadzony przez scrum mastera i trwa około 15 minut. Podczas Daily Scrum członkowie będą omawiać pracę ukończoną poprzedniego dnia, zaplanowaną pracę na następny dzień i problemy napotkane podczas sprintu. Podczas codziennego spotkania stand-up śledzony jest postęp zespołu.
  • Sprint Revwidok/Retrospektywa: Spotkanie prowadzi również Scrum Master, trwa ono od 2 do 4 godzin i polega na omówieniu osiągnięć zespołu w ostatnim sprincie oraz wyciągnięciu wniosków.

Rola testera w Scrumie

Rola testera w Scrumie

W Scrumie nie ma aktywnej roli Testera Proces. Zazwyczaj testowanie jest przeprowadzane przez programistę za pomocą Unit Test. Właściciel produktu jest również często zaangażowany w proces testowania podczas każdego sprintu. W niektórych projektach Scrum istnieją dedykowane zespoły testowe, w zależności od charakteru i złożoności projektu.

Następne pytanie brzmi, co tester robi w scrum? Poniższa notatka odpowie

Testowanie działań w Scrumie

Testerzy wykonują następujące czynności na różnych etapach Scrum:

Sprint Planowanie

  • Podczas planowania sprintu tester powinien wybrać z rejestru produktu historię użytkownika, która będzie testowana.
  • Jako tester powinien on/ona zdecydować, ile godzin (szacunkowa ilość pracy) powinno to zająć skończyć testowanie każdej z wybranych historyjek użytkownika.
  • Jako tester musi wiedzieć, jakie są cele sprintu.
  • Jako tester weź udział w procesie ustalania priorytetów

Sprint

  • Wsparcie programistów w testach jednostkowych
  • Po zakończeniu przetestuj historię użytkownika. Wykonywane jest wykonanie testu w laboratorium, w którym zarówno tester, jak i programista pracują ramię w ramię. Wada jest zalogowana Narzędzie do zarządzania defektami które są śledzone codziennie. Wady można zgłaszać i analizować podczas spotkania scrumowego. Wady są testowane ponownie niezwłocznie po ich pojawieniu się zdecydowany i wdrożono do testów
  • Jako tester uczestniczy we wszystkich codziennych spotkaniach stand-up, aby zabrać głos
  • Jako tester może przenieść dowolny element zaległości, którego nie można ukończyć w bieżącym sprincie, do następnego sprintu
  • Tester odpowiada za tworzenie skryptów automatyzujących. Planuje testy automatyczne za pomocą System ciągłej integracji (CI).. Automatyzacja zyskuje na znaczeniu ze względu na krótkie terminy dostaw. Automatyzację testów można przeprowadzić, wykorzystując różne narzędzia open source lub płatne dostępne na rynku. To okazuje się skuteczne w zapewnieniu, że uwzględniono wszystko, co wymagało przetestowania. Wystarczający zakres testów można osiągnąć dzięki ścisłej komunikacji z zespołem.
  • Revprzeglądaj wyniki automatyzacji CI i wysyłaj raporty do interesariuszy
  • Przeprowadzanie testów niefunkcjonalnych dla zatwierdzonych historyjek użytkowników
  • Koordynuj współpracę z klientem i właścicielem produktu w celu zdefiniowania kryteriów akceptacji testów akceptacyjnych
  • Pod koniec sprintu tester w niektórych przypadkach przeprowadza również testy akceptacyjne (UAT) i potwierdza kompletność testów dla bieżącego sprintu

Sprint Retrospektywa

  • Jako tester będzie w stanie ustalić, co poszło źle, a co poszło dobrze w bieżącym sprincie
  • Jako tester identyfikuje wyciągnięte wnioski i najlepsze praktyki

Raportowanie testowe

Raportowanie metryk testów Scrum zapewnia interesariuszom przejrzystość i widoczność projektu. Raportowane wskaźniki pozwalają zespołowi analizować postępy i planować przyszłą strategię udoskonalania produktu. Do raportowania często używa się dwóch wskaźników.

Wykres spalania: Każdego dnia Scrum Master rejestruje szacowaną pozostałą pracę dla sprintu. To nic innego jak Burn Down Chart. Jest aktualizowany codziennie.

Wykres wypalenia daje szybki przegląd postępów projektu. Na wykresie znajdują się informacje, takie jak całkowita ilość pracy, która musi zostać wykonana w projekcie, ilość pracy wykonanej w każdym sprincie itd.

Raportowanie testowe

Wykres historii prędkości: Wykres historii prędkości przewiduje prędkość, jaką zespół osiągnął w każdym sprincie. Jest to wykres słupkowy i przedstawia, jak wyniki zespołu zmieniały się w czasie.

Dodatkowe wskaźniki, które mogą być przydatne, to wykorzystanie harmonogramu, wykorzystanie budżetu, procent ukończenia motywu, ukończone historie – pozostałe historie i tak dalej.

To wszystko dotyczy Scruma w inżynierii oprogramowania