JavaRush /Blog Java /Random-PL /Jak rozpocząć korzystanie z testów automatycznych, część ...

Jak rozpocząć korzystanie z testów automatycznych, część 1

Opublikowano w grupie Random-PL
Zapraszamy do przeczytania rosyjskiej adaptacji artykułu Tima Ebiego, założyciela https://testdemy.teachable.com/ , platformy QA do testowania oprogramowania online, stworzonej, aby pomóc osobom rozpoczynającym swoją przygodę z testowaniem automatycznym
Jak rozpocząć korzystanie z testów automatycznych, część 1–1
Obserwujemy wzrost zainteresowania i wzrost liczby aplikacji internetowych na rynku. Wraz z nimi pojawia się coraz więcej zawodów wymagających programowania, umiejętności technicznych i różnych umiejętności automatyzacji. W rezultacie testerzy manualni, aby utrzymać popyt, dostrzegają potrzebę przejścia z testów czysto ręcznych na zapewnianie jakości (QA) i przyglądają się testom automatycznym. Przejście z testów ręcznych na automatyczne to mądry wybór, ponieważ wiele stanowisk kontroli jakości wymaga szeregu umiejętności technicznych związanych z pisaniem kodu. Dla tych, którzy nie lubią zmian, takie zmiany mogą być niewygodne. Z drugiej strony inni programiści postrzegają ten „czas zmian” jako szansę na przeniesienie swojej kariery i umiejętności na wyższy poziom oraz zwiększenie ich przydatności. Za każdym razem, gdy wymagania rosną, możliwości się rozszerzają. Programiści z odpowiednim zestawem umiejętności mogą wskoczyć do pociągu i mieć świetne, dobrze płatne kariery. Jeśli chcesz przejść od testowania ręcznego do automatyzacji lub nawet rozważasz przejście z innej dziedziny tworzenia oprogramowania, warto wykonać kilka kroków, które pomogą Ci odnieść sukces.

Krok 1: Ocena rynku

„Nawyk numer dwa” z książki dr Stephena A. Coveya „7 nawyków skutecznego działania” mówi : „Zaczynaj z wizją końca”. Wierzę, że ta zasada jest prawdziwa, jeśli chodzi o rozpoczęcie testów automatycznych. Zacznij od rynkowej oceny potrzeb osób zatrudniających inżynierów automatyków. Kiedy już zrozumiesz potrzeby techniczne pracodawców, możesz zdobyć odpowiednie umiejętności. Dobrym miejscem na początek jest przejrzenie opisów stanowisk pracy w dowolnej witrynie (np. Indeed.com , Dice , Monster , LinkedIn itp.).
Jak rozpocząć korzystanie z testów automatycznych, część 1–2
Oto przykłady wyszukiwanych słów, których można użyć do wygenerowania wyceny rynkowej:
  • Inżynier Automatyki Testów;
  • Programista automatyzacji;
  • testowanie automatyczne/tester (testowanie automatyczne) (Testowanie automatyczne/Tester automatyzacji);
  • Inżynier ds. kontroli jakości ; automatyk ;
  • Inżynier ds. rozwoju oprogramowania w testach (SDET).
Aby zrozumieć, jak myślą pracodawcy i czego naprawdę oczekują od kandydatów, podczas wyszukiwania pamiętaj o następujących pytaniach:
  • O jakich konkretnych umiejętnościach i technologiach wspominają?
  • Czy widzisz oddzielny zestaw lub „blok” umiejętności lub technologii dla tych umiejętności?
  • Ile lat doświadczenia jest wymagane, jeśli w ogóle?
  • Czy są pewne branże, które zatrudniają więcej inżynierów automatyków niż inne?
  • Jakiego wynagrodzenia możesz się spodziewać?
  • Czy interesujące nas narzędzia lub technologie to przede wszystkim produkty otwartego dostępu, czy komercyjne?
Przyjrzyjmy się teraz bliżej kilku opisom stanowisk, aby zorientować się, czego szuka rynek. Należy pamiętać, że oferty pracy, o których mowa, znajdują się w Stanach Zjednoczonych. Jeśli nie mieszkasz w Stanach Zjednoczonych, przejrzyj narzędzia wyszukiwania pracy dostępne w Twoim kraju. Programista automatyzacji oprogramowania I:
  • ma dobrą wiedzę na temat języków programowania obiektowego ;
  • znasz Jenkins , Test Complete, VersionOne, Git, Visual Studio, Oracle, MSSQL, Hyper-V, AQTime;
  • Ściśle współpracuje z programistami, analitykami biznesowymi i innymi testerami w celu identyfikacji komponentów automatyzacji testów , które zostaną wykorzystane do weryfikacji wymagań dla tworzonego oprogramowania.
Jak rozpocząć korzystanie z testów automatycznych, część 1–3
Tester QA (testowanie automatyczne):
  • zapisuje testy automatyczne w odpowiednich systemach kontroli wersji – TFS, GitHub itp.;
  • przestrzega predefiniowanych standardów automatyzacji i standardów DevOps w zakresie automatyzacji, a także ciągłych procesów integracji i wdrożeń;
  • Doświadczenie w pracy z narzędziami ALM (TFS, Jira, HP QC) i narzędziami do automatyzacji testów (najlepiej Selenium WebDriver) .
Inżynier automatyzacji zapewnienia jakości - QA ( inżynier automatyzacji zapewnienia jakości ):
  • Doświadczenie z Selenium WebDriver ;
  • umiejętność programowania w Pythonie, Javie lub pokrewnych językach;
  • doświadczenie w testowaniu urządzeń mobilnych / Appium .
Twórca oprogramowania testującego:
  • aktualizacja i rozbudowa środowiska testowego oraz narzędzi testowych w językach C#, TypeScript, JavaScript …;
  • Silne umiejętności programowania w języku C# lub Java i/lub JavaScript wraz z jasnym zrozumieniem koncepcji programowania obiektowego ;
  • Doświadczenie z Visual Studio, Subversion, GitHub, Unity, Teamcity, Jira Cloud, Confluence.
Jak rozpocząć korzystanie z testów automatycznych, część 1–4
Oto kilka kluczowych wniosków z tych opisów stanowisk. Role hybrydowe/mieszane: Zwróć szczególną uwagę na tytuły stanowisk i sposób, w jaki te firmy postrzegają automatyczne testowanie oprogramowania. Można to zobaczyć po nazwach ról, które wymieniają (programista automatyzacji oprogramowania, programista oprogramowania w testach itp. Czy zauważyłeś pewien wzorzec? Firmy te mniej więcej nazywają inżynierów kontroli jakości programistami Oprogramowanie: dla testerów ręcznych oznacza to, że nadszedł czas, aby dowiedz się, jak napisać kod, aby zamienić ręczne przypadki testowe w automatyczne skrypty testowe. Dla programistów, którzy chcą przejść na testy automatyczne, oznacza to, że powinieneś dowiedzieć się więcej o metodologiach testowania oprogramowania, cyklu życia testów oprogramowania i dowiedzieć się, jak budować zautomatyzowane przypadki testowe do obsługi tych cykli życia. Nie przegap tej krytycznej zmiany, bo zostaniesz w tyle. Wraz z rozwojem metodologii Agile i projektów opartych na Agile, coraz więcej organizacji łączy kontrolę jakości i programistów w jedno. Nadszedł więc czas, abyś przygotował się na swoje nowe obowiązki. Osoby posiadające podstawowe przeszkolenie w świecie testowania oprogramowania, a jednocześnie dobrze rozumiejące umiejętności programisty są na wagę złota. Technologie Open Source/Języki programowania: Prosimy zwrócić uwagę na technologie i języki programowania wyróżnione pogrubioną czcionką w opisach . Te technologie i języki są ukierunkowane, trzeba się ich nauczyć, aby być poszukiwanym na rynku. Wybierz jedną technologię, na którą jest duże zapotrzebowanie, i zacznij budować swój zestaw umiejętności, ćwicząc ją i uczestnicząc w praktycznych aplikacjach i projektach w świecie rzeczywistym. Przyspieszy to Twoją naukę. Jeśli nie masz pewności, od jakiego języka programowania zacząć , zawęźmy trochę pole.

Krok 2: Opanuj język programowania obiektowego (OOP)

Spójrzmy prawdzie w oczy: większość testerów manualnych boi się programowania. Sama myśl o zajrzeniu pod maskę i zobaczeniu, jak faktycznie działają systemy i aplikacje, przeraża wielu testerów manualnych. Ten strach jest głównie powodem, dla którego zostali testerami manualnymi.
Jak rozpocząć korzystanie z testów automatycznych, część 1–5
Programowanie jest podstawą testów automatycznych. Jeśli chcesz zająć się testowaniem automatycznym, musisz umieć kodować, a im lepszy jesteś w programowaniu, tym większy sukces odniesiesz w testowaniu automatycznym lub rozwoju automatyzacji. Dlatego jeśli chcesz pozostać konkurencyjnym w tym ciągle zmieniającym się świecie rozwoju i technologii, musisz pokonać ten strach i zostać poszukiwanym twórcą testów automatycznych. Dobrą rzeczą jest to, że przy minimalnym wsparciu bardziej doświadczonego kolegi, wytrwałości i ciągłym ćwiczeniu (tak jak robimy to w JavaRush) zdecydowanie możesz poprawić swoje umiejętności programowania. Kolejne logiczne pytanie brzmi: jakiego języka programowania powinienem się uczyć? Z naszej oceny rynku wiemy, że pracodawcy chcą zatrudniać osoby „z dobrą znajomością obiektowych języków programowania”. A według naszej analizy widzimy kilka obiektowych języków programowania, do których się one odnoszą. Na przykład Java, C#, JavaScript i Python. Możesz zacząć od dowolnego z nich. Jeśli zaczynasz uczyć się języka OOP, oto kilka koncepcji, które warto opanować, aby lepiej zaznajomić się z testowaniem automatycznym:
  • programowanie obiektowe (klasy, obiekty, instancje, dziedziczenie, atrybuty itp.);
  • Moduły, Biblioteki Standardowe (w dowolnym języku);
  • struktury danych (słowniki, listy, krotki itp.);
  • typy danych (stringi, znaki, liczby całkowite, zmiennoprzecinkowe, typy logiczne lub logiczne, NoneType itp.);
  • zmienne;
  • obsługa błędów/wyjątków;
  • operatory arytmetyczne/kolejność pierwszeństwa;
  • porównanie, logiczne operatory logiczne;
  • procedury/funkcje/metody;
  • przepływ sterowania: instrukcje if, pętle for, pętle while itp.
  • odczyt/zapis do plików;
Programowanie jest podstawą testów automatycznych. Naucz się programować, a nauczysz się automatyzować.

Krok 3: Opanowanie narzędzi automatyzacji

Zawsze to powtarzam: im lepiej potrafisz programować, tym lepiej potrafisz zautomatyzować. Po rozpoczęciu nauki języka programowania następnym krokiem jest nauczenie się korzystania z narzędzi do automatyzacji. Ponieważ większość firm skłania się ku narzędziom do automatyzacji typu open source (lub darmowemu oprogramowaniu), a nie komercyjnym produktom licencjonowanym ze względu na koszty.
Jak rozpocząć korzystanie z testów automatycznych, część 1–6
Doskonałym narzędziem, które można znaleźć w domenie publicznej jest Selenium WebDriver. Selenium ma kilka powiązań językowych (Python, Java, C#, Ruby, PHP, JavaScript itp.), więc nauka jednego z tych języków programowania będzie doskonałą podstawą do zbudowania solidnej kariery w automatyce. Kilka kluczowych pojęć, które musisz opanować, aby zbudować niezawodne, funkcjonalne i wydajne zautomatyzowane przypadki testowe:
  • wzorce projektowe: model obiektowy strony;
  • wyszukiwanie elementów strony internetowej przy użyciu różnych lokalizatorów (CSS Selector, XPATH, ID, Name itp.);
  • przełącz Windows/iFrames;
  • refaktoryzacja;
  • testów jednostkowych;
  • testowanie w chmurze/testowanie równoległe;
  • sprawdzanie danych;
  • testowanie na różnych przeglądarkach internetowych (Firefox, Internet Explorer, Chrome, Safari, Opera itp.);
  • oczekiwania ukryte i jawne;
  • łańcuchy działań
Jeśli wybrałeś obiektowy język programowania i oparłeś się na narzędziach automatyzacji do oceny rynku, kolejnym logicznym krokiem jest... Co byś o tym pomyślał?...

Krok 4: Ćwicz, ćwicz, ćwicz

Cokolwiek robisz, nigdy nie poddawaj się. Nauka czegoś nowego jest zawsze wyzwaniem. Ale każde wyzwanie można pokonać przy wystarczającej praktyce i poświęceniu. To, ile czasu zajmie nauczenie się nowych umiejętności i technologii, zależy wyłącznie od Ciebie oraz od tego, ile praktyki i poświęcenia włożysz w opanowanie tych umiejętności.
Jak rozpocząć korzystanie z testów automatycznych, część 1–7
Każdy zawodowy sportowiec powie, że osiągnął szczyt swojej podróży dzięki pracy i wysiłkom wynikającym z treningu. Mówią, że Michael Jordan grał ciężko, ale trenował jeszcze ciężej. Takie podejście powinien przyjąć każdy, kto chce automatyzować – ćwicz, ćwicz, ćwicz swoje nowe umiejętności, aż staną się drugą naturą. Tylko w ten sposób możesz udoskonalić swoje umiejętności i zyskać popularność jako tester. Dobrym sposobem na trening jest aktywna nauka języka programowania i jednoczesnej „zabawy” z narzędziami do automatyzacji. Innymi słowy, napisz małe programy lub skrypty do automatycznego testowania, rozbij je, zmień i zobacz, jak to teraz działa. Wyciągnij wnioski z tego, co zrobiłeś, i spróbuj ponownie. Ćwicz poprzez zabawę, działanie i naukę. Zrób to, a twoja krzywa uczenia się wzrośnie.

Czas zacząć

Najważniejszą rzeczą w nowym biznesie jest start. Za każdym razem, gdy zwlekamy lub nie zaczynamy, dzieje się tak dlatego, że nie mamy planu działania ani planu gry, który pomógłby wytyczyć nasz kurs.
Jak rozpocząć korzystanie z testów automatycznych, część 1–8
Chociaż próba radykalnej zmiany kierunku swojej kariery może wydawać się zniechęcająca, bycie cenionym i atrakcyjnym na rynku jest niezbędne. Aby pozostać na bieżąco w ciągle zmieniającym się świecie tworzenia oprogramowania i być tym, czego naprawdę szukają pracodawcy, musisz rozwijać nowe umiejętności. Zacznij od małych rzeczy: oceń wymagania rynku, poznaj narzędzia do programowania obiektowego i automatyzacji oraz stale ćwicz. Zanim się zorientujesz, będziesz przygotowany na nowe możliwości pracy. Źródło: https://simpleprogrammer.com/2017/07/28/start-automation-testing-part-1/
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION