Wyobraź sobie, że najważniejsze oprogramowanie w Twojej firmie nagle przestaje działać. Co by się stało? Zamówienia mogą się zgubić, terminy mogą nie zostać dotrzymane, ale klienci na pewno będą się skarżyć.
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 artykułu dowiesz się, o czym musisz pamiętać, gdy zaczynasz testować w swojej firmie, i jakie korzyści możesz z tego czerpać w dłuższej perspektywie.
Sprawdzone metody testowania dla zespołów ds. produktów
W pierwszej części tego artykułu opisujemy proces rozpoczynania wdrażania testów w przepływie pracy.
Wprowadź w zespole kulturę testowania
Wprowadzenie testowania w zespole wymaga, aby wszyscy mieli wspólne podejście i traktowali 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, podczas których omawiane są błędy, ich wpływ, źródło i sposób naprawy. Pomoże to zwiększyć świadomość, dlaczego warto zapobiegać takim wadom.
Wyznaczenie w zespole osoby, która będzie nadzorować i koordynować te działania, może znacznie zwiększyć szanse na sukces. Osoba, która określa wytyczne dla zespołu lub całej organizacji, zbiera sprawdzone metody i się nimi dzieli oraz promuje te działania na wszystkich szczeblach.
Innym przydatnym narzędziem może być zmiana roli wsparcia produktu. Uzyskiwanie bezpośrednich, niefiltrowanych informacji od klientów i poznawanie codziennych problemów, z którymi się borykają podczas korzystania z Twojego produktu, może być cennym doświadczeniem dla menedżerów produktów, projektantów i programistów.
Chodzi o to, aby każdy członek zespołu rozumiał, że jakość jest funkcją, tak samo ważną jak każda inna funkcja, którą tworzysz dla swojego produktu. Gdy wszyscy przyjęli takie podejście, naturalną konsekwencją było zrozumienie, że testy są również funkcją. Testy zapewniają bowiem jakość dostarczanego produktu.
Proces testowania krok po kroku
Gdy zespoły zaangażowane w rozwój produktu osiągną porozumienie, możesz sformalizować istnienie i używanie testów.
Włącz testy 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ą stanowić zabezpieczenie na każdym etapie procesu tworzenia. Nie wymagają interwencji człowieka i można je uruchamiać na każdym krytycznym etapie potoku rozwoju. Na przykład:
- Przy każdej zmianie.
- W przypadku każdego żądania 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 wskaźników
Określenie zestawu danych jest ważne, aby mierzyć skuteczność testów i wpływ procesów testowania na Twoją firmę. Oto kilka przykładów danych, których możesz użyć:
- Wydania miesięcznie: większa liczba wydań miesięcznie może wskazywać na bardziej elastyczny proces rozwoju. Testy zautomatyzowane odgrywają tu kluczową rolę, ponieważ zapewniają, że publikowanie kolejnych wersji może przebiegać bez obaw.
- Raporty o błędach: malejąca liczba raportów o błędach może być pozytywnym sygnałem, że testowanie (i procesy programistyczne) są skuteczne.
- Pokrycie testami: choć nie jest to dokładny wskaźnik, może być dobrym wyznacznikiem tego, jak dokładnie testujesz kluczowe przypadki użycia.
Pamiętaj, że na te dane mają też wpływ inne czynniki, które mogą je zniekształcać. Na przykład w okresie świątecznym liczba wydań może się zmniejszyć, a liczba zgłoszeń błędów wzrosnąć. Nie polegaj tylko na kilku z nich i pamiętaj, aby porównywać je z innymi danymi dostępnymi dla Twojego zespołu.
Jeśli Twój zespół skutecznie wdroży te kroki, stan Twojego produktu z pewnością ulegnie poprawie w dłuższej perspektywie. Ale to nie wszystko, co możesz zrobić.
Sprawdzone metody testowania dla administratorów systemu
Zespoły ds. produktów nie mogą pracować samodzielnie. Korzystają one ze sprzętu, narzędzi i infrastruktury utrzymywanych przez administratorów systemów. Administratorzy systemów zwykle nie mają bezpośredniego wpływu na rozwój produktu, ale mogą pozytywnie wpływać na proces tworzenia. Możesz na przykład aktywnie zarządzać wersją przeglądarki, z której korzystają określone grupy użytkowników w firmie.
W drugiej części tego artykułu wyjaśniamy, jak to działa, korzystając z kanałów Chrome i zasad dla przedsiębiorstw.
Kanały wersji Chrome
Domyślnie Chrome aktualizuje się automatycznie, aby każdy użytkownik korzystał z najnowszej, najbardziej stabilnej i bezpiecznej wersji Chrome, w tym z najnowszych funkcji – wersji Chrome udostępnionej na kanale stabilnym.
Jako firma tworząca produkt internetowy możesz chcieć używać przeglądarki przed kanałem stabilnym, aby dać zespołom zajmującym się produktami czas na dostosowanie produktu do zmian na platformie internetowej.
W tym przypadku Chrome oferuje łącznie 4 kanały wersji przeznaczone dla różnych grup użytkowników.
W przypadku Chrome możesz używać różnych kanałów wersji, aby przewidywać przyszłe zmiany w przeglądarce i testować najnowsze funkcje, zanim staną się powszechnie dostępne:
- Wersja stabilna: korzysta z niej większość użytkowników. Kanał stabilny aktualizuje się automatycznie, gdy dostępna jest nowa wersja Chrome, co zdarza się co miesiąc.
- Wersja beta: ta wersja stanie się stabilna za 4–6 tygodni. Dzięki temu możesz przetestować nadchodzącą wersję stabilną i się do niej przygotować.
- Wersja deweloperska: nowa wersja Chrome jest udostępniana raz w tygodniu i zawiera wszystkie najnowsze poprawki, które ostatecznie trafią do wersji beta. Jak sugeruje nazwa kanału, jest on w fazie rozwoju, więc może niespodziewanie przestać działać. Zawiera jednak najnowsze funkcje, czasem na długo przed tym, zanim trafią one do wersji stabilnej. Dzięki temu kanał deweloperski jest doskonałym narzędziem do tworzenia prototypów i najnowocześniejszych rozwiązań.
- Kanał wersji do wczesnych testów: najbardziej eksperymentalny kanał, który zawiera wszystkie najnowsze funkcje, ale nie jest dokładnie testowany. Co najmniej raz dziennie.
Jeśli chcesz dowiedzieć się więcej o kanałach Chrome, obejrzyj odpowiedni odcinek Chrome Concepts.

Korzystanie z kanałów w przykładowej organizacji
Struktura zespołów produktowych różni się w zależności od organizacji, ponieważ nie ma jednego uniwersalnego podejścia do tworzenia oprogramowania. Załóżmy, że zespół składa się z osób pełniących te role: zarządzanie produktem, UX i UI, inżynieria, operacje i wsparcie.
W przypadku 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 dev, jeśli pracują nad funkcją, która wymaga interfejsu API, który nie został jeszcze wprowadzony.
- Inżynieria i UX: część tych zespołów może korzystać z wersji deweloperskiej, aby mieć dostęp do najnowszych funkcji, takich jak przejścia widoków, jeszcze zanim staną się stabilne.
- Operacje: mogą być w wersji beta, aby przewidzieć awarie, które mogą mieć wpływ na użytkowników.
- Obsługa: 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 przedsiębiorstw
Chrome nie tylko udostępnia wytyczne i pozostawia decyzję o tym, którego kanału używać, ale także oferuje narzędzia dla firm i administratorów, które umożliwiają aktywne zarządzanie tym, z którego kanału korzysta każdy użytkownik. Jest to przydatne, ponieważ natychmiast zwiększa obszar testowania z kilku osób do określonego zbioru użytkowników, co pomaga jak najszybciej wykrywać błędy w sposób umożliwiający śledzenie.
Jeśli chcesz korzystać z takiego poziomu kontroli, zalecamy następującą konfigurację:
- Pracownicy (użytkownicy aplikacji): aby zminimalizować ryzyko przerw w pracy, większość pracowników powinna korzystać z wersji stabilnej, która została w pełni przetestowana przez zespół testerów Chrome. Dodatkowo niewielki odsetek użytkowników (od 5 do 10%) może korzystać z kanału beta. Na tym kanale można uzyskać 4–6-tygodniowy podgląd wersji stabilnej. Może to pomóc administratorom w odkryciu potencjalnych problemów występujących w tej wersji, dzięki czemu będą mieć więcej czasu na ich rozwiązanie, zanim ta wersja zostanie udostępniona wszystkim użytkownikom.
- Dział IT: pracownicy działu IT, w tym administratorzy systemów, mogą korzystać z wersji beta lub deweloperskiej, aby uzyskać wcześniejszy dostęp do funkcji, które w ciągu 4–6 lub 9–12 tygodni trafią do wersji stabilnej Chrome.

Kanały wersji długoterminowych
Prace nad produktem mogą nie przebiegać tak szybko, jak planowano, a miesięczny cykl wydawniczy Chrome może być zbyt krótki. W tym przypadku Chrome udostępnia rozszerzoną wersję stabilną, która pozwala rzadziej otrzymywać aktualizacje funkcji, ale nadal otrzymywać poprawki zabezpieczeń. Ten kanał jest aktualizowany co 8 tygodni.
Poniższy diagram pokazuje, jak różne etapy przechodzą przez różne kanały wydawania Chrome:

- Wersje stabilna i rozszerzona stabilna są identyczne przez pierwsze 4 tygodnie, po czym zaczynają się różnić.
- Nie ma rozszerzonego kanału beta. Zamiast tego do stabilizowania wersji stabilnej i rozszerzonej wersji stabilnej używany jest standardowy 4-tygodniowy cykl beta. Firmy, które zdecydują się na 8-tygodniową wersję stabilną, powinny nadal korzystać z kanału beta, aby proaktywnie wykrywać problemy, które mogą mieć wpływ na ich środowiska.
Dalsze znaczenie kanałów deweloperskiego i beta dla użytkowników wersji stabilnej rozszerzonej
Wersja stabilna jest aktualizowana co 2 tygodnie, a Twoja organizacja korzysta z 8-tygodniowego cyklu rozszerzonej wersji stabilnej, aby zyskać więcej czasu na testowanie. Mimo to nadal ważne jest korzystanie z wersji deweloperskiej i beta. Nie ma osobnych kanałów „rozszerzona wersja deweloperska lub beta”; standardowe kanały deweloperski i beta służą do stabilizowania zarówno wersji stabilnej, jak i stabilnej rozszerzonej.
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 wersji deweloperskiej i beta udostępniają funkcje 4 tygodnie wcześniej niż kanał wersji stabilnej. W przypadku użytkowników korzystających z wersji stabilnej o wydłużonym okresie wsparcia ten okres podglądu jest niezbędny do wykrywania i usuwania potencjalnych problemów z wyprzedzeniem 8-tygodniowej aktualizacji funkcji.
Kanały deweloperski i beta działają w zasadzie jako główny system wczesnego ostrzegania o wszelkich zmianach, które mają zostać wprowadzone w 8-tygodniowym rozszerzonym środowisku stabilnym, dzięki czemu aplikacje firmowe pozostaną kompatybilne. Aby w pełni wykorzystać tę zaletę, administratorzy systemów mogą nadal przypisywać do kanałów deweloperskiego i beta małą, deterministyczną grupę użytkowników (np. 5–10% użytkowników aplikacji).
Podsumowanie
Testowanie jest kluczowym elementem pracy firm zajmujących się tworzeniem oprogramowania, ponieważ pozwala zapewnić wysoką jakość produktów. Jest to też ważny krok dla administratorów systemów, którzy dzięki temu mogą udostępniać pracownikom organizacji oprogramowanie wysokiej jakości i zapobiegać zakłóceniom procesów biznesowych.
Aby wdrożenie w organizacji przepływu pracy związanego z testowaniem zakończyło się sukcesem, ważne jest, aby wszyscy mieli wspólne podejście, że jakość, a co za tym idzie testowanie, jest funkcją.
W tym artykule omówiliśmy różne sposoby wdrażania w organizacji sprawdzonych metod testowania. Szczegółowe informacje o dostępnych narzędziach do testowania znajdziesz w artykule Narzędzia Chrome do bezproblemowego testowania automatycznego.
Aby uzyskać praktyczne wskazówki dotyczące testowania od początku do końca, zapoznaj się z naszym najnowszym kursem Learn Testing i sprawdzonymi metodami automatyzacji testów w witrynie web.dev.