Wyobraź sobie, że najważniejsze oprogramowanie w Twojej firmie nagle przestaje działać. Co by się stało? Zamówienia mogłyby się zgubić, terminy mogłyby zostać przekroczone, a klienci na pewno by się skarżyli.
Tego koszmarnego scenariusza można uniknąć, wdrażając ciągły i rygorystyczny proces testowania, który wykrywa problemy, zanim spowodują chaos. Wdrożenie takiego procesu w organizacji jest jednak łatwiejsze do powiedzenia niż do zrobienia.
Z tego dokumentu dowiesz się, o czym musisz pamiętać, gdy zaczynasz testowanie w swojej firmie, i jak możesz czerpać z niego korzyści w dłuższej perspektywie.
Sprawdzone metody testowania dla zespołów ds. produktu
Pierwsza część tego dokumentu opisuje proces wdrażania testowania w Twoim procesie pracy.
Wdrażanie kultury testowania w zespole
Aby skutecznie wprowadzić testowanie w zespole, wszyscy muszą mieć wspólne podejście i postrzegać jakość nie jako obciążenie, ale jako inwestycję. Jest to proces, który, jak każda inna zmiana kulturowa, wymaga czasu i konsekwencji.
W kształtowaniu tej kultury mogą pomóc regularne spotkania, na których omawiane są błędy, ich wpływ, przyczyny i sposób ich naprawienia. Pomaga to uświadomić sobie, dlaczego warto zapobiegać takim błędom.
Szansę na sukces może znacznie zwiększyć wyznaczenie w zespole osoby, która będzie nadzorować i kierować tymi działaniami. Osoba ta będzie określać wytyczne dla zespołu lub nawet całej organizacji, zbierać sprawdzone metody, udostępniać je i promować te działania na wszystkich poziomach.
Innym przydatnym narzędziem może być rotacja roli wsparcia produktu. Bezpośrednie, niefiltrowane informacje od klientów i poznawanie codziennych problemów, z jakimi się borykają, mogą być cennym doświadczeniem dla menedżerów produktu, projektantów i programistów.
Celem jest, aby wszyscy w zespole rozumieli, że jakość jest funkcją, tak samo ważną jak każda inna funkcja, którą tworzysz dla swojego produktu. Gdy wszyscy przyjmą takie podejście, naturalne będzie zrozumienie, że testy też są funkcją. Testy zapewniają bowiem jakość produktu.
Proces testowania krok po kroku
Gdy różne zespoły zaangażowane w tworzenie produktu osiągną porozumienie, możesz sformalizować istnienie i używanie testów.
Włączenie testów do definicji ukończenia
Dodając testy jako wymaganie dotyczące funkcji, stwierdzasz, że funkcja nie jest gotowa do wdrożenia, dopóki nie zostanie prawidłowo i automatycznie przetestowana.
Regularne przeprowadzanie testów
Po wdrożeniu testy automatyczne mogą być zabezpieczeniem na każdym etapie procesu tworzenia. Nie wymagają interwencji człowieka i można je uruchamiać na każdym krytycznym etapie procesu tworzenia. Na przykład:
- Przy każdym zatwierdzeniu.
- Przy każdym żądaniu pull.
- Po każdej pełnej wersji lub zmianie środowiska.
Jeśli w środowisku produkcyjnym korzystasz z usług innych firm, warto nawet przeprowadzać testy w środowisku produkcyjnym, aby mieć pewność, że interfejsy API innych firm działają zgodnie z oczekiwaniami.
Definiowanie i zbieranie danych
Zdefiniowanie zestawu danych jest ważne, aby móc mierzyć skuteczność testów i wpływ procesów testowania na Twoją firmę. Oto kilka przykładów danych, których możesz używać:
- Liczba wydań miesięcznie: większa liczba wydań miesięcznie może wskazywać na bardziej elastyczny proces tworzenia. Testowanie automatyczne odgrywa tu kluczową rolę, ponieważ zapewnia, że wydania mogą być przeprowadzane bez obaw.
- Raporty o błędach: malejąca liczba raportów o błędach może być pozytywnym sygnałem że procesy testowania (i tworzenia) są skuteczne.
- Pokrycie testami: choć nie jest to dokładny wskaźnik, pokrycie może być dobrym wskaźnikiem tego, jak dokładnie testujesz krytyczne przypadki użycia.
Pamiętaj, że na te dane wpływają też inne czynniki, które mogą je zniekształcać. Na przykład liczba wydań może się zmniejszyć w okresie świątecznym, a liczba raportów o błędach może wzrosnąć. Nie polegaj więc tylko na kilku danych i pamiętaj, aby porównywać je z innymi danymi dostępnymi dla Twojego zespołu.
Jeśli skutecznie wdrożysz te kroki w swoim zespole, stan Twojego produktu na pewno się poprawi w dłuższej perspektywie. Ale możesz zrobić jeszcze więcej.
Sprawdzone metody testowania dla administratorów systemów
Zespoły ds. produktu nie mogą pracować samodzielnie. Polegają na sprzęcie, narzędziach i infrastrukturze utrzymywanej przez administratorów systemów. Administratorzy systemów zwykle nie biorą bezpośredniego udziału w tworzeniu produktu, ale mogą pozytywnie wpływać na proces tworzenia. Na przykład aktywnie zarządzając wersją przeglądarki, z której korzystają określone grupy użytkowników w firmie.
Druga część tego artykułu wyjaśnia, jak to działa, na przykładzie kanałów wersji Chrome i zasad dla firm.
Kanały wersji Chrome
Dostępne są 4 kanały wersji: stabilny, beta, deweloperski i Canary.
Więcej informacji znajdziesz w artykule Kanały wersji Chrome.
Korzystanie z kanałów w przykładowej organizacji
Struktura zespołów ds. produktu różni się w zależności od organizacji, ponieważ nie ma jednego uniwersalnego podejścia do tworzenia oprogramowania. Na przykład załóżmy, że zespół składa się z następujących ról: zarządzanie produktem, UX i UI, inżynieria, operacje i wsparcie.
W takiej organizacji możesz rozważyć następujący podział kanałów:
- Zarządzanie produktem: menedżerowie produktu mogą zwykle korzystać z kanału stabilnego, aby używać tej samej wersji co większość użytkowników. Czasami mogą korzystać z kanału beta lub deweloperskiego , jeśli pracują nad funkcją, która wymaga interfejsu API, który nie został jeszcze uruchomiony.
- Inżynieria i UX: część tych zespołów może korzystać z kanału deweloperskiego, aby mieć dostęp do najnowszych funkcji, takich jak przejścia widoku, jeszcze zanim trafią one do wersji stabilnej.
- Operacje: mogą korzystać z kanału beta, aby przewidzieć problemy, które mogą mieć wpływ na użytkowników.
- Wsparcie: może pozostać na kanale stabilnym, aby mieć pewność, że korzysta z produktu w tej samej przeglądarce co większość klientów.

Zarządzanie kanałami za pomocą zasad dla firm
Chrome oferuje też narzędzia dla firm i administracji, które umożliwiają aktywne zarządzanie kanałem, z którego korzysta każdy użytkownik, zamiast tylko podawać wytyczne i pozostawiać decyzję o tym, którego kanału używać. Jest to przydatne, ponieważ natychmiast zwiększa powierzchnię testową z kilku osób do określonego zestawu użytkowników, co pomaga jak najszybciej wykrywać problemy i śledzić ich przyczyny.
Jeśli chcesz korzystać z tego poziomu kontroli, zalecamy następującą konfigurację:
- Pracownicy (użytkownicy aplikacji): aby zminimalizować ryzyko zakłócenia działania, większość pracowników powinna korzystać z wersji stabilnej, który został w pełni przetestowany przez zespół testerów Chrome. Dodatkowo niewielki odsetek użytkowników (od 5 do 10%) może korzystać z kanału beta. Ten kanał udostępnia funkcje 4–6 tygodni wcześniej niż kanał stabilny i może pomóc administratorom w wykryciu potencjalnych problemów z wydaniem, co daje więcej czasu na ich rozwiązanie, zanim ta wersja zostanie udostępniona wszystkim użytkownikom.
- Dział IT: członkowie działu IT, w tym sami administratorzy systemów , mogą korzystać z kanału beta lub deweloperskiego, aby mieć dostęp do funkcji 4–6 lub 9–12 tygodni wcześniej niż w wersji stabilnej Chrome.

Kanały wersji długoterminowych
Tworzenie produktu może nie przebiegać tak szybko, jak planowano, a miesięczny cykl wydawania Chrome może być zbyt krótki. W takim przypadku Chrome udostępnia rozszerzony kanał stabilny, który umożliwia rzadsze otrzymywanie aktualizacji funkcji, ale nadal otrzymywanie poprawek zabezpieczeń. Ten kanał jest aktualizowany co 8 tygodni.
Poniższy schemat pokazuje, jak różne wersje główne przechodzą przez różne kanały wersji Chrome:

- Przez pierwsze 4 tygodnie wersje stabilna i rozszerzona stabilna są takie same, a potem się różnią.
- Nie ma rozszerzonego kanału beta. Zamiast tego do stabilizacji wersji stabilnej i rozszerzonej stabilnej używany jest standardowy 4-tygodniowy cykl beta. Firmy, które zdecydują się na 8-tygodniowy rozszerzony kanał stabilny, powinny nadal korzystać z kanału beta, aby proaktywnie identyfikować problemy, które mogą mieć wpływ na ich środowiska.
Dalsze znaczenie kanałów deweloperskiego i beta dla użytkowników rozszerzonego kanału stabilnego
Chociaż kanał stabilny przyspiesza do 2-tygodniowego cyklu wydawania, a Twoja organizacja wdraża 8-tygodniowy rozszerzony cykl stabilny, aby zyskać więcej czasu na testowanie, nadal ważne jest korzystanie z kanałów deweloperskiego i beta. Nie ma oddzielnych kanałów „rozszerzony deweloperski” ani „rozszerzony beta”. Standardowe kanały deweloperski i beta służą do stabilizacji zarówno wersji stabilnej, jak i rozszerzonej stabilnej.
Dzięki dalszemu korzystaniu z kanałów deweloperskiego i beta firmy mogą proaktywnie identyfikować problemy, które mogą mieć wpływ na ich środowiska. Kanały deweloperski i beta udostępniają funkcje 4 tygodnie wcześniej niż kanał stabilny. W przypadku użytkowników rozszerzonego kanału stabilnego ten okres podglądu jest niezbędny do wykrywania i rozwiązywania potencjalnych problemów z wyprzedzeniem przed 8-tygodniową aktualizacją funkcji.
Kanały deweloperski i beta działają zasadniczo jako główny system wczesnego ostrzegania o wszelkich zmianach wprowadzanych w 8-tygodniowym rozszerzonym środowisku stabilnym, co zapewnia zgodność aplikacji firmowych. Administratorzy systemów mogą nadal przypisywać niewielką, określoną grupę użytkowników (np. 5–10% użytkowników aplikacji) do kanałów deweloperskiego i beta, aby zmaksymalizować tę korzyść.
Podsumowanie
Testowanie jest kluczowym elementem firm zajmujących się tworzeniem oprogramowania, ponieważ zapewnia jakość ich produktów. Jest też ważnym krokiem dla administratorów systemów, ponieważ umożliwia pracownikom organizacji dostęp do oprogramowania wysokiej jakości i pozwala uniknąć zakłóceń w procesach biznesowych.
Aby skutecznie wdrożyć proces testowania w organizacji, ważne jest, aby wszyscy mieli wspólne podejście, że jakość, a co za tym idzie testowanie, jest funkcją.
W tym dokumencie omówiliśmy różne sposoby integracji sprawdzonych metod testowania w organizacji. Szczegółowe informacje o dostępnych narzędziach do testowania znajdziesz w artykule Narzędzia Chrome do bezproblemowego testowania automatycznego.
Wskazówki dotyczące testowania od początku do końca znajdziesz też w naszym najnowszym kursie Learn Testing oraz w sprawdzonych metodach automatyzacji testów na stronie web.dev.