Narzędzia do automatyzowania testów – dla IT rekruterów

Nie zaskoczę Was, jeśli nadmienię, że jest ich wiele… niczym grzybów w dobrym sezonie. Postanowiłam zatem skoncentrować się na tych, z którymi najprawdopodobniej możecie mieć największą styczność.

Na początek – szybkie przypomnienie tylko dwóch zagadnień.

Testy automatyczne wykonywane przez komputer, są powtarzalne, systematyczne, stanowią dobre uzupełnienie testów manualnych i przede wszystkim pozwalają zaoszczędzić czas. Trochę jak ze zmywaniem sterty naczyń. Można wziąć gąbeczkę, płyn i mieć dwie godziny z głowy, albo włączyć program w zmywarce i maszyna za nas wykona to zadanie 😉

Druga kwestia, rodzaje testów. Podrzucam kilka z nich i odwołam się do tego nieco później.

A teraz do rzeczy…

Narzędzia do automatyzacji testów mogą być wykorzystywane na różnych platformach:

DESKTOPOWYCH – testowanie programów działających na komputerze np. Paint, WordPad, MS Office, Picasa etc. Przykład:  testujemy  program do zarządzania biblioteką zdjęć z aparatu. Sprawdzamy, czy jak ściągamy fotki z aparatu to, czy wszystkie są widoczne, czy odpowiednio działa sortowanie po dacie, czy działa dodawanie tagów do zdjęć, wyszukiwanie po tych tagach etc.

WEBOWYCH – testowanie stron internetowych. Przykład: testujemy możliwość logownia się do poczty elektronicznej, dokonania przelewu, zrobienia zakupów, wypełnienie formularzy, weryfikujemy poprawność zamieszczonych linków etc.

MOBILNYCH – testowane aplikacji działających na urządzeniach przenośnych – tablety, telefony komórkowe, smartfony. Przykład: można testować aplikację latarki, aparatu fotograficznego, synchronizację telefonu z innymi urządzeniami, jak dana aplikacja się zachowa, gdy nastąpi jednocześnie połączenie przychodzące albo mamy niski wskaźnik baterii, jak aplikacja działa w różnych sieciach bezprzewodowych etc.

Narzędzia do automatyzacji testów mogą być wykorzystywane do przeprowadzania różnych rodzajów testów – tabelka na początku.

Operując omówionymi powyżej pojęciami, możemy każde narzędzie opisać w dość prosty sposób. Wiedza ta jest podstawowa, ale wystarczająca, aby ogólnie zrozumieć temat i poruszać się w tym gąszczu terminów. Analizując profil kandydata, łatwiej Wam będzie rozeznać się, jakimi aplikacjami dany specjalista się zajmował, jakiego rodzaju testy mógł wykonywać, czy oferta którą proponujecie spotka się z jego zainteresowaniem etc.

I dla przykładu:

JMeter –  do aplikacji webowych. Narzędzie pomaga mierzyć wydajność, obciążenie sieci, zasymulować dużą liczbę użytkowników aplikacji i zobaczyć, co stanie się ze stroną, jaki będzie jej czas reakcji, gdy nagle zacznie z niej korzystać wiele osób. Można również użyć JMeter przy testach regresywnych, gdy zostały wprowadzone pewne zmiany na stronie np. firma uruchomiła dodatkową usługę. Należy wtedy zbadać, czy po owych zmianach, nie wystąpiły błędy w innych częściach aplikacji. Korzystając z tego narzędzia, używa się języka Java.

Selenium – również służy do aplikacji webowych, można operować tu różnymi językami programowania jak: Ruby, Java, C#,  Python,  JavaScript. Narzędzie symuluje zachowania użytkownika na stronie. Test engineer pisze odpowiednie komendy powiedzmy: kliknij w link, wpisz hasło `1234`, kliknij klawisz `Enter`, po czym program wykonuje polecenia, a specjalista tylko widzi na monitorze, jak kursor sam się porusza. To trochę, jakby rodzic swojemu dziecku napisał na kartce, co ma posprzątać w pokoju, powiedzmy takie wytyczne i bacznie się przyglądał, jak pociecha uwija się z bałaganem 😉

Squish – pomocne przy testowaniu aplikacji na różnych platformach, szczególnie od strony funkcjonalnej, co ciekawe narzędzie to można wykorzystać również przy systemach embedded (np. kamery termowizyjne), gdzie pozwala symulować pracę menu danego urządzenia. Języki programowania: Python i Java.

Poniżej znajdziecie zestawienie narzędzi. Taka forma powinna być bardziej przystępna, niż potok słów. Możecie mieć to pod ręką i w każdej chwili szybko sprawdzić pojecie.

Dodałam do tabeli opcję testowania UI – user interface. Krótko –  sprawdza się tutaj poprawność działania programu, aplikacji. Na przykład czy wszystkie ikonki na stronie działają, czy są w odpowiednich miejscach, czy po kliknięciu, następuje oczekiwany efekt etc.

Narzędzia do automatyzowania testów pdf_

Dobór konkretnego narzędzia zależy od:

  • Potrzeb – co będzie testowane?
  • Projektu i liczby platform – są narzędzia (np. Cucumber, Sikuli, Squish), które pozwalają testować zarówno aplikacje webowe, desktopowe czy mobilne.
  • Znajomości języków programowania.
  • Doświadczenia zespołu – jeżeli są w nim osoby specjalizujące się w Pythonie, to i narzędzie będzie dobrane pod tym kątem.
  • Licencji/ceny – część narzędzi jest darmowa (np. Calabash, JMeter, Selenium).

Na koniec chciałabym jeszcze odnieść się do testów jednostkowych (unit testy). Czasami błędnie są one utożsamiane z pracą test engineera. Zatem UWAGA – wykonuje je software engineer, który sprawdza poszczególną funkcję w kodzie, inaczej – czy kod działa poprawnie.

Aby lepiej zrozumieć… może dam takie porównanie. Przygotowujemy ofertę pracy. Chcemy, aby wyglądała ona, jak najlepiej. Po napisaniu kilku zdań, sprawdzamy je od początku, czy treść jest zrozumiała, nie ma literówek, błędów stylistycznych, logicznych. Dodajemy następne zdania i ponownie wracamy, aby raz jeszcze zobaczyć, czy kolejny fragment współgra z poprzednim, czy i tutaj nie pojawiły się pomyłki etc. Zależy nam przecież, aby całość była perfekcyjna.

Małe zestawienie narzędzi do testów jednostkowych:

 

 

 

 

 

 

 

 

 

 

 

 

Mam nadzieję, że powyższa dawka informacji pomoże Wam umiejętnie odczytywać profil kandydata, rozumieć jego doświadczenie to, o czym mówi podczas rozmowy telefonicznej, czy też spotkania, a przede wszystkim pozwoli Wam nabrać takiej technicznej pewności, poczucia, że wiecie o co w tym wszystkim come on 🙂

Macie pytania? Jeżeli potrzebujecie dodatkowych informacji, coś nie do końca jest jasne – piszcie śmiało!

 

 

 

2 Comments, RSS

Your email address will not be published. Required fields are marked *

*