Wyobraź sobie, że najważniejsze oprogramowanie Twojej firmy nagle przestaje działać. Co się stanie? Zamówienia mogłyby się zgubić, terminy mogłyby zostać przekroczone, ale klienci na pewno by narzekali.
Można tego uniknąć, stosując ciągły i rygorystyczny proces testowania, który pozwala wykrywać problemy, zanim spowodują chaos. Wdrożenie takiego procesu w organizacji jest jednak łatwiejsze w teorii niż w praktyce.
Z tego artykułu dowiesz się, o czym należy pamiętać, rozpoczynając testowanie w firmie, i jak długofalowo możesz czerpać korzyści z testowania.
Sprawdzone metody testowania dla zespołów ds. produktów
Pierwsza część tego artykułu dotyczy procesu wdrażania testowania w swojej pracy.
Wprowadź w swojej drużynie kulturę testowania
Aby wdrożyć testowanie w swoim zespole, musisz zadbać o to, aby wszyscy mieli wspólną mentalność i traktowali jakość nie jako ciężar, lecz jako inwestycję. Ten proces, podobnie jak każda zmiana kulturowa, wymaga czasu i konsekwencji.
Jednym z elementów, które mogą pomóc w kształtowaniu tej kultury, są regularne spotkania poświęcone omówieniu wad, ich wpływu, przyczyn ich powstania i sposobów ich naprawy. Pomoże to zwiększyć świadomość, dlaczego warto zapobiegać takim usterkom.
Jeśli w zespole jest osoba, która nadzoruje i kieruje działaniami, może to znacznie zwiększyć szanse na sukces. Osoba, która definiuje wytyczne dla zespołu lub całej organizacji, zbiera sprawdzone metody i udostępnia je oraz promuje wysiłki na różnych poziomach.
Innym przydatnym narzędziem może być rotacja osób obsługujących dany produkt. Zdobywanie niefiltrowanych informacji od klientów i poznawanie codziennych problemów, z którymi się oni borykają, może być cennym doświadczeniem dla menedżerów produktu, projektantów i programistów.
Celem jest, aby każdy z Twojego zespołu rozumiał, że jakość to funkcja tak samo ważna jak każda inna funkcja w Twoim produkcie. Gdy wszyscy zaczną myśleć w taki sposób, testy staną się naturalną częścią procesu. Ponieważ to właśnie testy zapewniają jakość przesyłki.
Szczegółowy proces testowania
Gdy różne zespoły biorące udział w rozwijaniu produktu uzgodnią swoje działania, możesz sformalizować istnienie i wykorzystanie testów.
Uwzględnij testy w „Definicji gotowości”
Dodając testy jako wymagania dotyczące funkcji, deklarujesz, że funkcja nie jest gotowa do wdrożenia, dopóki nie zostanie prawidłowo i automatycznie przetestowana.
.Regularnie przeprowadzaj testy
Po wdrożeniu testy automatyczne mogą stanowić zabezpieczenie na każdym etapie procesu programowania. Nie wymagają interwencji człowieka i mogą być uruchamiane na każdym kluczowym etapie procesu rozwoju. 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 przeprowadzić testy w produkcji, 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 testowania przepływów pracy na Twoją firmę. Oto kilka przykładów danych, których możesz używać:
- Wersje na miesiąc: większa liczba wersji na miesiąc może wskazywać na bardziej elastyczny proces rozwoju. Testy zautomatyzowane odgrywają tu kluczową rolę, ponieważ zapewniają płynne publikowanie.
- Raporty o błędach: spadek liczby raportów o błędach może być pozytywnym sygnałem, że procesy testowania i rozwoju są skuteczne.
- Zakres testów: choć nie jest to dokładna miara, zakres może być dobrym wskaźnikiem tego, jak dokładnie testujesz krytyczne przypadki użycia.
Pamiętaj, że na te dane mogą mieć wpływ inne czynniki, które mogą je wypaczyć. Na przykład liczba wersji może się zmniejszyć w okresie świątecznym, a liczba zgłoszeń błędów może wzrosnąć. Nie polegaj tylko na kilku, ale krzyżuj je z innymi danymi dostępnymi dla Twojego zespołu.
Gdy wspólnie z zespołem wdrożysz te kroki, w długim okresie czasu zaczniesz odczuwać pozytywne skutki dla jakości produktu. Możesz jednak zrobić jeszcze więcej.
Sprawdzone metody testowania dla administratorów
Zespoły ds. produktów nie mogą pracować samodzielnie. Używają one sprzętu, narzędzi i infrastruktury obsługiwanych przez administratorów systemów. Administratorzy systemu zazwyczaj nie przyczyniają się bezpośrednio do rozwoju produktu, ale mogą pozytywnie wpływać na przepływ pracy w tym zakresie. Na przykład poprzez aktywne zarządzanie wersją przeglądarki używaną przez określone grupy użytkowników w firmie.
W drugiej części tego artykułu wyjaśniamy, jak to działa, na przykładzie kanałów Chrome i zasad dla firm.
Kanały wersji Chrome
Domyślnie Chrome aktualizuje się automatycznie, aby każdy użytkownik korzystał z najnowszej, stabilnej i bezpiecznej wersji przeglądarki, w tym z najnowszymi funkcjami – wersji Chrome opublikowanej na kanale stabilnym.
Jeśli Twoja firma opracowuje produkt internetowy, możesz użyć przeglądarki wcześniej niż stabilnego kanału, aby dać zespołom produktowym czas na dostosowanie produktu do zmian w platformie internetowej.
W tym przypadku Chrome oferuje łącznie 4 kanały wersji przeznaczone dla różnych grup użytkowników.
W przypadku Chrome dostępne są różne kanały wersji, które możesz wykorzystać, aby przewidzieć przyszłe zmiany w przeglądarce i przetestować najnowsze funkcje, zanim staną się powszechnie dostępne:
- Kanał stabilny: jest używany przez większość użytkowników. Stabilny kanał aktualizuje się automatycznie, gdy pojawi się nowa wersja Chrome, co ma miejsce co miesiąc.
- Kanał beta: ta wersja stanie się stabilna w ciągu 4–6 tygodni, dzięki czemu będziesz mieć możliwość zapoznać się z nadchodzącą wersją stabilną i przetestować ją, a także przygotować się do jej wdrożenia.
- Wersja deweloperska: na tym kanale nowa wersja Chrome jest dostępna raz w tygodniu i zawiera wszystkie najnowsze poprawki, które ostatecznie trafią do wersji beta. Jak sugeruje nazwa kanału, jest on w trakcie opracowywania i może się nieoczekiwanie zepsuć, ale zawiera też najnowsze funkcje, które czasami trafiają do wersji stabilnej dopiero po długim czasie. Dzięki temu kanał dla programistów jest świetnym narzędziem do tworzenia prototypów i innowacyjnych rozwiązań.
- Kanał Canary: najbardziej eksperymentalny kanał, zawierający wszystkie najnowsze funkcje, ale bez dokładnego testowania. Co najmniej raz dziennie.
Jeśli chcesz dowiedzieć się więcej o kanałach Chrome, obejrzyj odpowiedni odcinek serii 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 uniwersalnego podejścia do tworzenia oprogramowania. Jako przykład weźmiemy zespół z tymi rolami: zarządzanie produktem, UX i UI, inżynieria, operacje i obsługa.
W przypadku takiej organizacji możesz rozważyć taki podział kanałów:
- Zarządzanie produktem: menedżerowie produktu mogą zwykle korzystać z stabilnej wersji, aby korzystać z 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.
- Zespół ds. inżynierii i UX: część członków tych zespołów może korzystać z wersji deweloperskiej, aby mieć dostęp do najnowszych funkcji, takich jak przejścia, jeszcze zanim staną się stabilne.
- Operacje: mogą być w wersji beta, aby przewidzieć problemy, które mogą wpłynąć na użytkowników.
- Pomoc: mogą korzystać z stabilnej wersji, aby mieć pewność, że korzystają z usługi w tej samej przeglądarce co większość klientów.
Zarządzanie kanałami za pomocą zasad korporacyjnych
Zamiast podawania wytycznych i pozostawiania decyzji o tym, którego kanału używać, Chrome oferuje też narzędzia dla firm i administratorów, które umożliwiają aktywne zarządzanie tym, którego kanału używają poszczególni użytkownicy. Jest to przydatne, ponieważ natychmiast zwiększa powierzchnię testowania z kilku osób do określonego zbioru użytkowników, co pomaga jak najszybciej i w sposób umożliwiający śledzenie wykrywać problemy.
Jeśli chcesz korzystać z tego poziomu kontroli, zalecamy taką konfigurację:
- Pracownicy (użytkownicy aplikacji): aby zminimalizować ryzyko przerw w działaniu, 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 wersji beta. Ten kanał otrzymuje wersję podglądową stabilnej wersji przez 4–6 tygodni, co może pomóc administratorom wykryć możliwe problemy z tą wersją, dzięki czemu będą mieć więcej czasu na ich rozwiązanie, zanim ta wersja zostanie udostępniona wszystkim użytkownikom.
- Departament IT: pracownicy działu IT, w tym administratorzy systemu, mogą korzystać z wersji beta lub dev, aby uzyskać wcześniejszy dostęp do funkcji, które w ciągu 4–6 lub 9–12 tygodni trafią do stabilnej wersji Chrome.
Kanały wersji długoterminowych
Rozwój produktu może nie przebiegać tak szybko, jak planowano, a częstotliwość wydań Chrome (co miesiąc) może być zbyt wysoka. W takim przypadku Chrome udostępnia wersję stabilną rozszerzoną, w której użytkownicy rzadziej otrzymują aktualizacje funkcji, ale nadal otrzymują poprawki zabezpieczeń. Ten kanał jest aktualizowany co 8 tygodni.
Poniższy diagram pokazuje, jak różne etapy są realizowane w różnych kanałach wydania Chrome:
- Zarówno stabilna, jak i rozszerzona stabilna wersja są dostarczane w tych samych wersjach przez pierwsze 4 tygodnie, po których obie różnią się od siebie.
- Nie ma rozszerzonego kanału beta. Zamiast tego do stabilizacji wersji stabilnej i rozszerzonej stabilnej używamy standardowego 4-tygodniowego cyklu beta. Firmy, które zdecydują się na korzystanie z rozszerzonego kanału beta przez 8 tygodni, powinny nadal korzystać z tego kanału tak jak do tej pory, aby aktywnie wykrywać problemy, które mogą mieć wpływ na ich środowiska.
Podsumowanie
Testowanie jest kluczowym elementem w firmach zajmujących się tworzeniem oprogramowania, ponieważ pozwala zapewnić wysoką jakość produktów. Jest też ważnym krokiem dla administratorów systemów, którzy chcą zapewnić pracownikom organizacji dostęp do wysokiej jakości oprogramowania i uniknąć zakłóceń w procesach biznesowych.
Aby wdrożenie procesu testowania w organizacji zakończyło się sukcesem, ważne jest, aby wszyscy mieli świadomość, że jakość, a zatem testowanie, to funkcja.
W tym artykule omawiamy różne sposoby wdrażania w organizacji najlepszych praktyk testowania. Aby dowiedzieć się więcej o dostępnych narzędziach do testowania, przeczytaj artykuł Narzędzia z Chrome do automatycznego testowania bezproblemowego.
Szczegółowe wskazówki dotyczące testowania od początku do końca znajdziesz w naszym najnowszym szkoleniu z testowania oraz w sprawdzonych metodach automatyzacji testów na stronie web.dev.