Ramona Schwering jest inżynierką oprogramowania i ekspertem Google Developers z doświadczeniem w zakresie zapewniania jakości.
W tym poście omawiamy eksperta społeczności w ramach serii postów na blogu Automatyzacja testów.
Ramona Schwering jest inżynierką oprogramowania z doświadczeniem w zakresie zapewniania jakości. Jest również ekspertem Google Developers w dziedzinie technologii internetowych. Ramona pasjonuje się automatyzacją testów. W dużym stopniu przyczyniła się do testowania automatyzacji przez publiczne działania edukacyjne, takie jak przemawianie na konferencjach, publikowanie artykułów, udział w projektach open source i organizowanie spotkań.
Jecelyn: Jak wyglądała droga do tworzenia i testowania stron internetowych?
Ramona: Moja przygoda z rozwojem rozpoczęła się od zamiłowania do sztuki. W szkole średniej poświęcałam dużo czasu na rysowanie i tworzenie ilustracji, które chciałam opublikować. Chciałam jednak użyć czegoś innego niż DeviantArt i animexx, więc stworzyłam własną stronę. Dzięki temu dowiedziałam się o programowaniu stron internetowych. Później, w pierwszej pracy, zainteresowałam się automatyzacją testów. Chciałam zrezygnować z żmudnych testów i skupić się na zadaniach wymagających ludzkiej kreatywności i doświadczenia.
Jecelyn: Jest mnóstwo narzędzi do automatyzacji testów. Jak można poznać je wszystkie lub wybrać?
Ramona: Świetne pytanie. Zacznijmy od początku: chociaż z pewnością dobrze jest wypróbować różne schematy automatyzacji, nie daj się wciągnąć w obu przypadkach. Zacznij od utworzenia małych projektów lub napisz pierwszy mały test, aby sprawdzić, czy podoba Ci się interfejs i cechy platformy. Możesz wybrać jedną lub dwie opcje, które odpowiadają Twoim wymaganiom i odpowiadają Twoim potrzebom. Wolę wybierać platformę, którą chcę wypróbować i sprawdzić, czy podoba mi się jej środowisko deweloperskie. Staram się sprawdzić, czy można z niego korzystać. Pamiętaj, że testowanie powinno być nawykiem, a nie wyzwaniem dla wszystkich. Zależy to oczywiście od tworzonego projektu i jego wymagań.
Jecelyn testowanie jest często opóźnione do końca procesu, np. „Nie mamy jeszcze na to czasu”. Co o tym sądzicie?
Ramona: pisanie testów zajmuje sporo czasu, zwłaszcza jeśli zdecydujesz się korzystać z programowania opartego na testach. Wydaje mi się jednak, że testowanie pochłania WIELKIE czasy: traktowałbym, że jest to inwestycja przynosząca wiele korzyści: otrzymujesz opinie na wczesnym etapie, dzięki czemu możesz szybciej naprawiać błędy, co przekłada się na niższe koszty naprawy, ponieważ błędy nie kumulują się, a naprawa nie jest droższa na późniejszym etapie. Poza tym im więcej automatyzujesz, tym mniej musisz testować ręcznie, a mimo to masz ogólny wgląd w stan projektu. Uważam, że jest wręcz przeciwnie – testy pozwalają zaoszczędzić czas i dać pewność siebie bez ciągłego wysiłku.
Jecelyn: Opowiedz mi o kulturze automatyzacji testów w swojej firmie.
Ramona: w moim obecnym zespole testowanie jest rozumiane jako wspólna odpowiedzialność – wszyscy mają go wspólnie. Wdrożyliśmy proces o nazwie „Jakość w szybkości”, którą pierwotnie opracował Atlassian. Dzięki temu testerzy pełnią tylko rolę zabezpieczenia i decydują, czy żądanie pull wymaga testowania. Dlatego deweloperzy nie mogą liczyć na to, że testerzy zajmie się wszystkim. Zamiast tego deweloperzy i testerzy współpracują z inżynierami ds. jakości, którzy pełnią funkcję trenerów i uczą programistów, jak przeprowadzać testy. Deweloperzy przygotowują niezbędne testy, a jeśli specjaliści ds. jakości uznają, że jest to konieczne, uzupełnią je później. Takie podejście zwiększyło empatię między deweloperami i inżynierami ds. jakości oraz umożliwiło im współpracę, a jednocześnie dzielenie się obowiązkami.
Jecelyn: Bierzesz udział w wielu działaniach społecznościowych, takich jak mówienie, pisanie i wkład w rozwój open source. Jak znaleźć na to czas?
Ramona: to szczęście, że mój pracodawca wspiera moje wypowiedzi publiczne, co oznacza, że podczas konferencji i przygotowywania treści do rozmów nie muszę brać udziału w wolnym czasie od pracy. Muszę jednak przyznać, że w dalszym ciągu mam czas na naukę publiczną. Aby efektywnie zarządzać czasem, przyjęłam strategię boxingu, w ramach której poświęcam 2 godziny dziennie na przykład na udział w projektach open source, pisanie artykułów lub próbne prezentacje. Koniecznie zrób sobie przerwę po tych 2 godzinach, żeby mieć czas na odpoczynek. Czasami to podejście nie sprawdza się zgodnie z planem, ale ogólnie rzecz biorąc, udało mi się zachować równowagę między pracą, zaangażowaniem w społeczności i życiem osobistym, nie zaniedbując przy tym żadnych ważnych zadań.
Jecelyn Czy jest jeszcze coś, co Twoim zdaniem warto omówić przed rozpoczęciem pracy z automatyzacją testów?
Ramona: nie należy nadmiernie uprzedzać konkretnego schematu rozwiązania i traktować go priorytetowo przed rozwiązywaniem bieżących problemów. Dążymy do tego, aby zapewnić użytkownikom najwyższą jakość i wygodę, a każda platforma może nam w tym pomóc. Dlatego najlepiej nie wdawać się w wojny o platformy. Na samym początku przygody z testowaniem warto zacząć od poznania podstaw testowania oraz automatyzacji testów i korzystać z platform jako narzędzi tylko w razie potrzeby.
Jecelyn Jak radzisz sobie z dotrzymywaniem kroku automatyzacji testów i tworzeniem stron internetowych?
Ramona: lubię być na bieżąco z najnowszymi trendami i innowacyjnymi pomysłami, monitorując źródła wiadomości i media społecznościowe. Odfiltrowywanie istotnych informacji może być jednak trudne, dlatego zawsze zaglądam na wiarygodne źródła i osoby. Dodatkowo konsoliduję swoje źródła za pomocą takich funkcji jak listy na Twitterze i zakładki. Oto jedno z listy źródeł, które obserwuję. Udział w konferencjach i spotkaniach to kolejny sposób, w jaki mam dostęp do aktualnych informacji, ponieważ mogę uczyć się z wykładów i wchodzić w interakcje z innymi uczestnikami.