Automatyzacja
Trending

4 Pomysły — Automatyzacja Testów UI dla WWW – Gdzie Trenować ?

Często spotykam się z pytaniami od osób, które zaczęły rozwijać się w automatyzacji testów UI dla stron WWW „Michał, gdzie mogę trenować swoje umiejętności automatyzacji testów stron www?”. W dzisiejszym wpisie przedstawię Ci 4 pomysły, które mogą pomóc w praktycznej nauce automatyzacji testów stron www. Polecam korzystać z tych testowych stron, bo pozwalają na stworzenie dużej ilość przypadków testowych, które możemy zautomatyzować. Są to często elementy na stronie, które zbliżone są do realnych komercyjnych przykładów.

1. The internet

Jest to projekt Davida Heffnera, autora książki Selenium Guidebook i popularnego prelegenta na konferencjach związanych automatyzacją testów (polecam jego książkę, która może być dobrym podręcznikiem do nauki Selenium WebDriver).

Ten projekt polega na tym, że David stworzył testową aplikację, którą umieścił na GitHubie, która jest stroną internetową z różnymi rodzajami formularzy, kontrolek, które możemy spotkać na obecnych stronach internetowych. Większość obecnie występujących elementów jest, więc jeżeli spróbujemy wszystkie przykłady przerobić, możemy nauczyć się bardzo dużo i ta wiedza może przydać nam się w dalszej pracy jako QA, czy SDET (Software Developer In Test)

Jak użyć?

Projekt The Internet możemy użyć przynajmniej na trzy sposoby:

  • Korzystanie ze strony http://the-internet.herokuapp.com/ oczywiście może zdarzyć się tak, że strona nie będzie odpowiadać, więc możemy skorzystać z dwóch innych pomysłów.
  • Pobranie z GitHuba i uruchomienie lokalne tego projektu – dobre rozwiązanie, gdy np. strona http://the-internet.herokuapp.com/ nie odpowiada + pozwoli nam to na nauczenie się kilku nowych rzeczy, jak wcześniej nie uruchamialiśmy lokalnie żadnego projektu.
  • Umieszczenie projektu The internet na swoim serwerze może to mieć sens, jak sami będziemy chcieli pochwalić się swoim rozwiązaniem np. na GitHubie i chcemy mieć pewność, że przykłady będą działały + nauczymy się jeszcze więcej, bo będziemy musieli sami umieścić ten projekt na jakimś serwerze.

Co polecam testerowi automatyzującemu? 

Zrobić projekt, w którym postaramy się stworzyć kilka testów do określonych kontrolek, które są na stronie. Dzięki temu możemy nauczyć się pracy np. z Selenium WebDriver. Oczywiście, jeżeli korzystamy z innego frameworka do automatyzacji stron www to również możemy zastosować to podejście, bo pozwala nam na naukę obsługi większości dostępnych kontrolek, jakie występują w internecie. 

2. WordPress

WordPress jest to najpopularniejsza platforma blogowa na, której m.in. stoi ta strona i według statystyk co 4 strona w internecie jest właśnie oparta o WordPressa. Czemu WordPress nadaję się do trenowania umiejętności automatyzowania testów www interfejsu użytkownika? Dlatego, że ma praktycznie nieograniczone możliwości rozszerzania, jak również dodawania treści, również w prosty sposób możemy naszą stronę zmienić np. w sklep. Często ten przykład daję na szkoleniach / warsztatach, bo jest to dobry przykład, aby zacząć z automatyzacją. Sam korzystałem z wordpressa np. w tym artykule gdzie opisywałem jak korzystać z Zalenium.

Co polecam testerowi automatyzującemu? 

Zacząć od napisaniu kilku testów, które automatyzują akcje związane z formularzem kontaktowym.

Formularz kontaktowy wordpressa – dobra strona do automatyzacji

Często, gdy prowadzę konsultacje dla osób początkujących, lub szkolenia zaczynam naukę automatyzacji stron www od zautomatyzowania prostego formularza na testowym wordpressie. (https://testblogselenium.wordpress.com/contact/)

WordPress przez swoją „plastyczność” pozwala dodawać plugin rozszerzenia do siebie, jak również nowe formularze strony, więc nie mamy ograniczeń w dobrze kolejnych przypadków testowych do automatyzacji. Również panel administracyjny jest dość zaawansowany, więc i tu możemy znaleźć ciekawe przypadki do nauki automatyzacji.

Jak użyć?

Mamy przynajmniej trzy sposoby na to, jak możemy wordpressa użyć do tych celów:

  • Pierwszy pomysłem może być dodanie bloga poprzez platformę wordpress. Jest to darmowe i dla większości osób wystarczy.
  • Drugim sposobem jest skorzystania z wordpressa takiego, że instalujemy go lokalnie i lokalnie nasze testy działają na nim. Czyli mamy dostępnego go pod localhostem.
  • Trzecim pomysłem może być umieszczenie takiego testowego wordpressa na naszym serwerze.
testingplus.me - Michał Ślęzak

3. Agile Automation – PGS

Jedną z ciekawszych stron do nauki automatyzacji testów www jest strona, która była używana w zawodach Automated Testing Cup. Twórcy przygotowali dla nas dwie wersje strony,  które mają specjalnie wprowadzone błędy, więc możemy sprawdzić, czy testy, które zaimplementujemy, wyłapią te błędy. Strona ma listę zdefiniowanych błędów, więc sami możemy sprawdzić, czy nasze testy były dobrze zaimplementowane i wyłapały wszystkie błędy, które były wprowadzone.

https://asta.pgs-soft.com/

4. PrestaShop

Jest to jedna z najbardziej popularnych platform do tworzenia sklepów w internecie. Po zainstalowaniu mamy sklep demo, który ma znaczną ilość elementów, które możemy wziąć pod uwagę i wymyślać różnego rodzaju treści. Dzięki temu nasze testy mogą być bardzo realnymi scenariuszami i nauka automatyzacji będzie na komercyjnej aplikacji, więc nasze testy mogą też posiadać określoną złożoność.

Jak użyć?

Gdy chcemy użyć PrestaShopu mamy kilka możliwości:

  • Skorzystanie ze strony automationpractice.com – jest to testowy sklep postawiony do celów automatyzacji. Minusem jest to, że jest to strona zewnętrzna, więc nie mamy kontroli, czy ona działa w danym momencie plus wydajność jej często pozostawia wiele do życzenia.
  • Zainstalowanie PrestaShop lokalnie u siebie – możemy mieć dostępny PrestaShop pod localhostem i tylko, gdy będziemy mielii go uruchomionego u siebie na komputerze to będziemy mogli z niego skorzystać. Minusem tego rozwiązania jest to, że jak będziemy chcieli podzielić się kodem testów np. na GitHubie to rozwiązanie będzie działało jeżeli użytkownik postawi sobie lokalnie PrestaShopu.
  • Trzecim sposobem jest postawienie PrestaShopu na jakimś hostingu. Ja polecam ten sposób dlatego, że mamy kilka możliwości korzystania z taniego hostingu np. OVH lub DigitalOcean. Przy okazji możemy nauczyć się podstaw administrowania linuxa. Taka strona z testowym sklepem pozwoli na to, żeby mieć przykład, które również ktoś, kto będzie widział nasze rozwiązanie na GitHubie, będzie mógł je odpalić.

Prezentacja rozwiązań na GitHubie

Jeżeli zdecydujemy się na napisanie kilku, czy kilkunastu scenariuszy i będziemy zadowoleni z naszej implementacji, jak najbardziej możemy ten kod umieścić na GitHubie i za linkować do naszego CV, czy np. do naszego Linkedina. Jeżeli kod, który stworzymy będzie zaprezentowany dobrze podczas rozmowy kwalifikacyjnej możemy nam to bardzo pomóc i pokazać, że jesteśmy pasjonatami (bo rozwijamy się), jak również osobami, które dbają o dobry kod. Sam osobiście często podczas konsultacji robię tzw. Code Review (czyli przegląd kodu) osób, które dzięki temu mogą się rozwijać, bo oceniam ich kod i mówię co warto byłoby zmienić.

Podsumowanie

W dzisiejszym wpisie przedstawiłem Ci  4 pomysły, których możesz użyć do nauki pisania testów interfejsu użytkownika (UI). Polecam korzystać z tych stron, bo dzięki temu, że są to złożone aplikacje lub sami możemy je dowolnie rozszerzać. Dzięki temu możemy wymyślić dużą ilość scenariuszy, które mogą pomóc nam w rozwoju. Również w łatwo sposób możemy stworzyć swoje portfolio, które załączyć możemy do naszego CV w postaci linku np. do GitHuba.

Michał Ślęzak

Programista testów w whatclinic.com. Bierze aktywny udział w rozwoju poznańskiej społeczności testerskiej PTaQ przez bycie wiceliderem. Pasjonuje się wsparciem procesu testowania poprzez automatyzację.
Close
Close