Szybka realizacja usług zapewniania jakości

Od zapewniania do wspomagania jakości

Laura Daly Laura Daly
Przeglądaj tematy

Trudno dostosować tradycyjne metody testowania do kultury Agile. Zespoły odczuwają przymus szybkiego dostarczenia swojego produktu, nawet kosztem jakości.

Aby wyjść naprzeciw tym problemom, zespoły Atlassian opracowały inne, nowatorskie podejście do testowania według modelu Agile — wspomaganie jakości. Zamiast tworzenia odrębnego zespołu testowego odpowiedzialnego za jakość, niewielki zespół techników wspomagania jakości uczy zrównoważonych metod testowania w całym zespole programistycznym. Dowiedz się więcej na temat tej transformacji oraz tego, jak:

  • tworzyć kulturę jakości,
  • przenieść obowiązek testowania z powrotem na programistów,
  • unikać błędów zamiast je wykrywać.

Pytania i odpowiedzi

Zapoznaj się z serią pytań i odpowiedzi zawartych w tej prezentacji, aby dowiedzieć się, jak zespół 65 inżynierów tworzy i szybko dostarcza produkt wysokiej jakości z pomocą jedynie 6 inżynierów wspomagania jakości.

P1: Jak długo programista przestawia się na ten rodzaj myślenia?

O1: Trudniej zmienić kulturę całego zespołu niż poszczególne jednostki. Zespół Jira Software dochodził do obecnego poziomu nastawienia do jakości przez pięć lat, jednak każdy nowy programista dość szybko zaczyna sprawnie poruszać się w tym obszarze. Nowi programiści szybko przejmują nastawienie swoich kolegów i wkrótce dzięki pracy w parach oraz warsztatom zyskują potrzebne umiejętności testowania. Najtrudniej jest zgromadzić całą wiedzę na temat ryzyka oraz produktu. Może to trwać lata, jednak ograniczamy ten problem poprzez udostępnianie wiedzy w formie pakietów startowych oraz demonstracji wspomagania jakości.

P2: Czy nadal potrzebne są przypadki testowe, czy służą one wyłącznie do testów regresyjnych/zautomatyzowanych?

O2: Nasza strategia w ogóle nie obejmuje ręcznie napisanych przypadków testowych. Jeśli test jest jedynie „kontrolny”, czyli składa się ze wstępnie zdefiniowanych etapów oraz określonych stwierdzeń, znacznie sprawniej będzie powierzyć jego wykonanie komputerowi. W ten sposób liczba błędów także się zmniejszy. Jeśli natomiast test jest faktycznie testem, co oznacza, że wymaga krytycznego myślenia, swobodnej analizy i oceny ryzyka, lepiej wykonać go w ramach testów eksploracyjnych, aby uwzględnić ten pierwiastek swobody i inteligencji.

P3: Wynagrodzenie programistów jest zazwyczaj większe niż testerów. Czy wykorzystanie programistów zamiast testerów nie jest marnotrawieniem budżetu i siły roboczej?

O3: Zdecydowanie jest. Zaangażowanie programistów do roli testerów w ramach odrębnego etapu testowania byłoby drogie i zmarnowałoby ich czas. Jednak samo wdrożenie odrębnego etapu testowania, nawet jeśli realizują go testerzy, jest drogie i marnuje czas programistów. Każde odesłanie przez testerów story lub błędu do programistów oznacza nie tylko koszt testu, ale także koszt pracy programisty. Obniżając wskaźnik odrzuceń ze 100% do 4%, udało nam się zaoszczędzić mnóstwo czasu programistów, który normalnie tracili na przerabianie elementów story i naprawianie głupich błędów przed publikacją. Zaoszczędziliśmy czas spędzany na analizowaniu, tworzeniu raportów, segregowaniu, ocenianiu, odtwarzaniu i naprawianiu wykrytych wewnętrznie błędów. Dodatkowo kod tworzy się od podstaw w taki sposób, by dało się go łatwiej testować, ponieważ programiści wiedzą, że to na nich będzie spoczywał obowiązek przeprowadzania testów. Stadium DoTing (testujący programista) stanowiło etap pośredni na drodze do poprawy jakości, umożliwiając nam całkowite wyeliminowanie odrębnego etapu testowania. Była to inwestycja tymczasowa, która okazała się bardziej niż opłacalna.

P4: Mamy programistów i testerów, którzy zapewniają jakość w różnych strefach czasowych. Czy ten model sprawdzi się tylko w jednej strefie czasowej? W jaki sposób współpracujecie z zespołami zdalnymi?

O4: Realizowaliśmy proces zdalnego wspomagania jakości z zespołami w Polsce i Wietnamie, którym kierował inżynier wspomagania jakości z Australii. Nie jest to tak efektywne jak posiadanie wykwalifikowanego zespołu ds. wspomagania jakości na miejscu, ponieważ ważną częścią pracy inżyniera wspomagania jakości jest nawiązanie prywatnych relacji z programistami. Inżynier wspomagania jakości pracujący zdalnie może łatwo wypaść z obiegu, a ponadto znacznie trudniej jest mu ocenić ogólną kulturę zespołu. Mimo to udało nam się pomyślnie przeprowadzić zdalne demonstracje i wdrożenia wspomagania jakości, a także sesje w parach za pośrednictwem wideorozmów. W tym celu nawiązaliśmy bezpośrednie połączenie między komputerami programisty i inżyniera wspomagania jakości oraz skorzystaliśmy z funkcji udostępnienia ekranu.

P5: Czy uwagi w ramach wspomagania jakości tworzy się dla każdego elementu story, czy też tworzycie bazę wiedzy zawierającą takie uwagi? Jak radzicie sobie z nawracającymi zagrożeniami?

O5: Uwagi w ramach wspomagania jakości tworzy się dla poszczególnych elementów story, więc to zazwyczaj inżynierowie wspomagania jakości wychwytują wzorce nawracających zagrożeń. Z biegiem lat staje się to coraz trudniejsze, ponieważ nasz zespół wspomagania jakości obsługujący Jira Software się powiększył, a poszczególni inżynierowie wspomagania jakości nie zawsze wiedzą to samo, co inni. Do tej pory unikaliśmy tego problemu, organizując cotygodniowe spotkania informacyjne i korzystając ze stron wiki zawierających bieżące informacje o często występujących i niespodziewanych zagrożeniach. Dochodzimy do momentu, w którym to się już nie skaluje. Obecnie trwają prace nad lepiej zorganizowaną bazą wiedzy, w której znajdzie się baza danych reguł uruchamianych przy każdym poleceniu commit. Jeśli inżynier zauważy, że w kodzie Jira Software użyto obiektu Użytkownik, może dodać komentarz do zgłoszenia z informacją „Obiekt Użytkownik może mieć wartość null, jeśli bieżący użytkownik jest anonimowy. Pamiętaj o uwzględnieniu tej sytuacji”. To pomoże nam wydobyć wiedzę, jaką dysponują osoby zajmujące się wspomaganiem jakości, a w najlepszym przypadku wyeliminuje konieczność demonstracji i wdrożeń wspomagania jakości. To byłaby duża pomoc!