Dobre praktyki

Kilka dobrych praktyk w automatyzacji testów funkcjonalnych

Hej 🙂

Często zdarza się, że podczas pisania testów automatycznych napotykamy na masę problemów. Testy bywają trudne w utrzymaniu, a pisanie ich jest czasochłonne. Dlatego dzisiaj kilka słów o dobrych praktykach w automatyzacji testów, które pomogą uniknąć wielu problemów:

  1. Testy niezależne od siebie – Test nie powinien zależeć od zmian wprowadzonych przez inny test. W przeciwnym wypadku gdy test się nie powiedzie, to kolejne zależne od niego również się nie powiodą. Niezależność pozwala na uruchamianie różnych testów równolegle (np. gdy chcemy odpalać testy na różnych urządzeniach – ma to szczególne znaczenie w przypadku aplikacji mobilnych).
  2. Lokalizowanie elementów po id lub po dedykowanym atrybucie – Lokalizowanie elementów po najmniej zmiennych atrybutach i takich, które jednoznacznie określają ten element. Dobrą, sprawdzoną praktyką jest dodanie dedykowanego atrybutu pod testy. Dzięki temu programiści wiedzą, że dany atrybut służy tylko do testów i nie będą go ruszać.
  3. Używanie sprawdzonych wzorców – Page object pattern – Jest to wzorzec który zakłada, że każda strona / ekran aplikacji jest osobnym obiektem. Ułatwia to nawigowanie i wykonywanie akcji na poszczególnych stronach. Ponadto redukuje duplikację kodu, sprawia, że testy są czytelne i łatwe w utrzymaniu.
  4. Odpalanie testów wyzwalane zmianami w kodzie – Odpalanie testów po stworzeniu merge  / pull requesta. Dzięki temu wiadomo czy nowy kod nadaje się do mergowania.

Jeśli znacie jakieś inne dobre praktyki dotyczące automatyzacji testów aplikacji webowych czy mobilnych to koniecznie napiszcie w komentarzu :).

Dobre praktyki

Testy aplikacji mobilnych – Na co zwracać uwagę?

Coraz więcej aplikacji webowych ma swoje odpowiedniki w postaci apek mobilnych. Branża aplikacji mobilnych rośnie w siłę. Telefony dają coraz więcej możliwości i coraz więcej osób korzysta z różnych serwisów właśnie na telefonie. Dlatego dzisiaj chciałabym Wam przekazać kilka przydanych wskazówek na co zwracać uwagę podczas testów aplikacji mobilnych:

  1. Różne platformy – testy na różnych urządzeniach, z różną wersją systemu operacyjnego – tutaj z pomocą przychodzą emulatory, które może nie odzwierciedlają w 100% telefonów, ale dają możliwość sprawdzenia aplikacji na różnych wersjach systemu operacyjnego, czy przy różnych rozdzielczościach ekranu.
  2. Różne prędkości łącza lub brak internetu – sprawdzenie jak nasza aplikacja zachowuje się gdy jesteśmy offline oraz przy wolniejszym internecie. Takie testy można z łatwością przeprowadzić używając emulatora, lub zmieniając preferowany typ sieci w swoim telefonie.
  3. Połączenie przychodzące lub sms – warto też przetestować co się stanie gdy podczas korzystania z naszej apki ktoś do naz zadzwoni, wyśle smsa lub gdy zadzwoni budzik. Połączenie przychodzące i smsy można łatwo zasymulować na emulatorze.
  4. Zrzucenie apki do tła – przełączanie między różnymi aplikacjami – zwrócenie uwagi na zachowanie apki po zrzuceniu jej do tła i ponownym aktywowaniu. Warto też sprawdzić przełączanie się między różnymi aplikacjami.
  5. Widok pionowy i poziomy – testowanie apki zarówno w widoku pionowym jak i poziomym.
  6. Usługi zewnętrzne – sprawdzenie jak apka współgra z zewnętrznymi usługami (np. camera, gps). Gdy nasza apka korzysta z aparatu powinniśmy też sprawdzić co się stanie gdy apka chce odpalić aparat, który jest już aktywny w tle.
  7. Zużycie baterii – sprawdzenie czy apka nie zjada zbyt szybko zasobów baterii. Zużycie baterii można łatwo zasymulować na emulatorach.
  8. Różne rozmiary ekranu – sprawdzenie jak apka wygląda na małym ekranie, czy teksty się mieszczą i czy widok się nie „rozjeżdża”.