Jaki język dla QA engineer'a

0

Hej, postanowiłem nauczyć się jakiegoś nowego języka. Z zawodu jestem QA i zastanawiam się pomiędzy Java i Python'em. Zastanawiam się natomiast, który język jest bardziej przyszłościowy pod testy automatyczne. Wiem, że większość z was powie żebym spojrzał na ofert pracy, ale myślę bardziej co może być popularniejsze za 2-3 lata. Który język byście wybrali i dlaczego i z którym językiem są lepsze perspektywy na przyszłość?

0

Zacznijmy od paru pytań :)

  • Czy chcesz uczyć się tylko pod testy automatyczne czy potem też pod pisanie jakichś aplikacji?
  • Czy masz już jakieś doświadczenie z programowaniem?
  • Dlaczego bierzesz pod uwagę Javę i Pythona?
  • Czym jest podyktowany Twój wybór?

Ogólnie rzecz biorąc pod testy automatyczne pasuje każdy język, który jest wykorzystywany w pracy np. w danej firmie. W jednej będzie to PHP z behatem, w drugim JS, w innym C#, a w jeszcze kolejnym wspomniane Java i Python. Przeważnie testy pisze się w Selenium, które z miejsca wspiera kilka języków (wyżej wymienione + Perl i Ruby), a do tego jest masa bibliotek dla innych języków, które wspierają je lub są wręcz klientami Selenium (Elixir - Hound, rust - selenium rs, go - selenium).

Wszystko zależy od Ciebie, bo na pewno na dzień dzisiejszy zarówno Java, jak i Python są bardzo popularnymi językami. Najlepiej więc jakbyś sprawdził sobie oba i porównał który Tobie bardziej odpowiada, bo np. ja lubię zwięzłość Pythona, masę jego bibliotek, wcięcia, Pep-8, pip, pycharma, virtualenv, django, flaska itp. i dlatego mogę pisać sobie testy w Pythonie, a Ty stwierdzisz, że bardziej Ci pasuje JVM, język nie tylko silnie typowany jak Python, ale i statycznie typowany; do tego też kompilowany itp.

Jaka jest przyszłość Pythona czy Javy? Trudno wyrokować. Na Javę ostatnio spada lament, że jest be, a Kotlin taki fajny. O pythonie też się pojawiają głosy, by nie go było w różnych distro Linuxa. Nie kierowałbym się takim czczym gadaniem ;) Pracę powinieneś znaleźć i w jednym i w drugim. Powodzenia :)

1

Python i JS rosną, ale Java wciąż ma pierwsze miejsce (dane z 2018 roku) https://nofluffjobs.com/blog/jezyki-programowania-w-pracy-testera-porownanie-wynikow-z-2017-i-2018-roku/

Testerzy polecają pajtona: http://testerzy.pl/baza-wiedzy/testerzy-testerom-19-jezyk-skryptowy-dla-testera

A w sumie to najlepiej używać tego, w czym jest aplikacja, wtedy masz projekt w jednym miejscu i speców od języka obok Ciebie.

0

Zalezy co chcesz automatyzowac, ale raczej IMHO na poczatek: Python+Bash (chyba ze pracujesz w ekosystemie WIndowsowym)

0

Teraz w pracy piszę w ruby, ale chciałbym za około 2 lata zmienić pracę. Pisałem coś tam w pythonie i w javie i oba języki są w porządku, więc dlatego patrze teraz na to co jest bardziej przyszłościowe. W tym momencie myślę, że chce całkowicie wiązać swoją przyszłość z testami automatycznimi i jakością oprogramowania, no chyba że zawód zostanie zastąpiony przez AI :P Próbowałem też pisać w JS'e, ale łagodnie powiem, że mi się nie podobało i to bardzo.

0

JavaScript, bo można testowac apki webowe, a te są przyszłością :)

0

Myślę, że zdecydowanie Python, ale nie znam dobrze tej dziedziny (QA).
W Pythonie na pewno łatwo zrobić jakieś narzędzia na kolanie.

Pod hasłem "cucumber Python" znajdziesz np.:
https://medium.com/@hmurari/bdd-cucumber-and-selenium-webdriver-based-test-automation-framework-in-python-ae092a7581d3
https://www.udemy.com/bdd-testing-with-python/

Java do tego celu jest przyciężka, ale to też kwestia gdzie trafisz. U mnie aplikacje Javove testujemy Javą. Ale równie dobre, jak nie lepsze nawet w tym środowisku są Groovy i Kotlin.
Jakbym miał wybór to BDD robił bym w języku skryptowym.

0
vpiotr napisał(a):

Myślę, że zdecydowanie Python, ale nie znam dobrze tej dziedziny (QA).
W Pythonie na pewno łatwo zrobić jakieś narzędzia na kolanie.

Pod hasłem "cucumber Python" znajdziesz np.:
https://medium.com/@hmurari/bdd-cucumber-and-selenium-webdriver-based-test-automation-framework-in-python-ae092a7581d3
https://www.udemy.com/bdd-testing-with-python/

Java do tego celu jest przyciężka, ale to też kwestia gdzie trafisz. U mnie aplikacje Javove testujemy Javą. Ale równie dobre, jak nie lepsze nawet w tym środowisku są Groovy i Kotlin.
Jakbym miał wybór to BDD robił bym w języku skryptowym.

Cucumber pierwotnie powstał dla języka Ruby, ale nie wiem czy to jeszcze ma znaczenie, bo Cucumber został przeportowany do większości topowych języków. Do Javy też.

1 użytkowników online, w tym zalogowanych: 0, gości: 1