{"id":575,"date":"2021-05-03T15:09:48","date_gmt":"2021-05-03T15:09:48","guid":{"rendered":"https:\/\/testeroprogramowania.pl\/?p=575"},"modified":"2021-05-03T15:15:22","modified_gmt":"2021-05-03T15:15:22","slug":"czego-sie-uczyc-czesc-ii","status":"publish","type":"post","link":"https:\/\/testeroprogramowania.pl\/index.php\/2021\/05\/03\/czego-sie-uczyc-czesc-ii\/","title":{"rendered":"Czego si\u0119 uczy\u0107 ? &#8211; cz\u0119\u015b\u0107 II"},"content":{"rendered":"\n<figure class=\"wp-block-image\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/05\/work-731198_1920-1024x683.jpg\" alt=\"\" class=\"wp-image-580\" srcset=\"https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/05\/work-731198_1920-1024x683.jpg 1024w, https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/05\/work-731198_1920-300x200.jpg 300w, https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/05\/work-731198_1920-768x512.jpg 768w, https:\/\/testeroprogramowania.pl\/wp-content\/uploads\/2021\/05\/work-731198_1920.jpg 1920w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p>Uwaga! Ten wpis jest kontunuacj\u0105 artyku\u0142u, kt\u00f3ry mo\u017cesz znale\u017a\u0107 na moim blogu pod tym <a href=\"https:\/\/testeroprogramowania.pl\/index.php\/2021\/04\/19\/co-bym-zrobil-gdybym-zaczynal-dzisiaj\/ \">linkiem<\/a>. Warto zapozna\u0107 si\u0119 z jego tre\u015bci\u0105 przed przyst\u0105pieniem do dalszej lektury. <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">GIT<\/h2>\n\n\n\n<p>Git to rozproszony system kontroli wersji. W uproszczeniu mo\u017cna za\u0142o\u017cy\u0107, \u017ce s\u0142u\u017cy on do zachowywania informacji o zmianach w plikach. Pozwala nam to na cofanie si\u0119 do konkretnej wersji pliku co powoduje, \u017ce mo\u017cemy eksperymentowa\u0107 z Naszymi plikami bez obawy, \u017ce stracimy dzia\u0142aj\u0105c\u0105 wersj\u0119 kodu. Z Gita korzystamy do wersjonowania kodu aplikacji albo test\u00f3w automatycznych. Nic nie stoi na przeszkodzie, aby wersjonowa\u0107 pliki tekstowe np. z prac\u0105 magistersk\u0105.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Jenkins<\/h2>\n\n\n\n<p> Jenkins to darmowy serwer automatyzacji typu open source. Pomaga zautomatyzowa\u0107 cz\u0119\u015bci tworzenia oprogramowania zwi\u0105zane z budowaniem, testowaniem i wdra\u017caniem, u\u0142atwiaj\u0105c ci\u0105g\u0142\u0105 integracj\u0119 i ci\u0105g\u0142e dostarczanie.  W najprostszy spos\u00f3b Jenkinsa mo\u017cna zdefiniowa\u0107 jako narz\u0119dzie kt\u00f3re uruchomi nam jak\u0105\u015b komend\u0119 w okre\u015blonym czasie lub po wyst\u0105pieniu konkretnego zdarzenia. Mo\u017cemy na przyk\u0142ad skonfigurowa\u0107 Jenkinsa, aby uruchamia\u0142 komend\u0119 &#8222;mvn test&#8221; (komenda uruchamiaj\u0105ca testy) w okre\u015blonych odst\u0119pach czasu ( co 24h ) lub gdy nast\u0105pi jakie\u015b zdarzenie ( wprowadzenie zmian do kodu przez programist\u0119). Taka automatyczna konfiguracja uruchamiania test\u00f3w daje Nam pewno\u015b\u0107, \u017ce zostan\u0105 one uruchomione po ka\u017cdej zmianie w kodzie i nikt nie musi pami\u0119ta\u0107, aby uruchamia\u0107 takie testy r\u0119cznie. Mo\u017cemy tutaj r\u00f3wnie\u017c doda\u0107 kolejny krok, kt\u00f3ry wrzuci najnowsz\u0105 wersj\u0119 aplikacji na produkcj\u0119. Komenda wrzucaj\u0105ca aplikacj\u0119 na produkcj\u0119 zostanie uruchomiona tylko wtedy, gdy krok z testami zako\u0144czy si\u0119 sukcesem.  <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">BDD<\/h2>\n\n\n\n<p>Behaviour Driven Development polega na napisaniu test\u00f3w akceptacyjnych w j\u0119zyku naturalnym, czego celem jest powszechne zrozumienie pomi\u0119dzy poszczeg\u00f3lnymi cz\u0142onkami zespo\u0142u. Do tworzenia test\u00f3w przy pomocy BDD mo\u017cna skorzysta\u0107 z Cucumbera i Gherkina. Nast\u0119pnie kolejne kroki zdefiniowane w j\u0119zyku naturalnym \u0142\u0105czone s\u0105 z odpowiednimi metodami napisanymi w wybranym j\u0119zyku programowania co powoduje wykonanie konkretnych krok\u00f3w testu.  BDD staje si\u0119 bardzo popularne i warto wiedzie\u0107 jak stworzy\u0107 testy zgodnie z tym podej\u015bciem.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Docker<\/h2>\n\n\n\n<p> Docker to platforma s\u0142u\u017c\u0105ca tworzeniu, dostarczaniu oraz uruchamianiu aplikacji w zwirtualizowanym \u015brodowisku kontener\u00f3w. Docker rozwi\u0105zuje wiele problem\u00f3w z kompatybilno\u015bci\u0105 mi\u0119dzy \u015brodowiskami oraz zale\u017cno\u015bciami. W przypadku test\u00f3w automatycznych mo\u017cemy stworzy\u0107 kontener do test\u00f3w, kt\u00f3ry b\u0119dzie u\u017cywany przez wszystkich cz\u0142onk\u00f3w zespo\u0142u. Pozwoli to wyeliminowa\u0107 b\u0142\u0119dy zwi\u0105zane z r\u00f3\u017cn\u0105 konfiguracj\u0105 komputer\u00f3w w\u015br\u00f3d cz\u0142onk\u00f3w zespo\u0142u oraz usprawni uruchamianie  test\u00f3w automatycznych. Docker u\u0142atwi r\u00f3wnie\u017c pobieranie odpowiedniej wersji sterownik\u00f3w przegl\u0105darki oraz pomo\u017ce w tworzeniu Selenium Grid.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">SoapUI <\/h2>\n\n\n\n<p> SoapUI&nbsp;to aplikacja do testowania us\u0142ug internetowych typu open source dla protoko\u0142u SOAP i REST. SoapUI jest bardzo pot\u0119\u017cn\u0105 aplikacj\u0105, kt\u00f3ra poza wys\u0142aniem prostego zapytania i zweryfikowaniem odpowiedzi umo\u017cliwi nam r\u00f3wnie\u017c przeprowadzenie test\u00f3w bezpiecze\u0144stwa oraz test\u00f3w obci\u0105\u017ceniowych. Aplikacja wyst\u0119puje r\u00f3wnie\u017c w wersji PRO, kt\u00f3ra oferuje du\u017co wi\u0119cej funkcjonalno\u015bci. Na pocz\u0105tek zapoznanie si\u0119 z z wersj\u0105 podstawow\u0105 w zupe\u0142no\u015bci wystarczy.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Appium<\/h2>\n\n\n\n<p> Appium to narz\u0119dzie typu open source do tworzenia  test\u00f3w automatycznych aplikacji mobilnych. Za pomoc\u0105 appium mo\u017cemy symulowa\u0107 zachowanie realnego u\u017cytkownika w aplikacji mobilnej. Testy w appium piszemy w wybranym j\u0119zyku programowania i  uruchamiamy na telefonie kom\u00f3rkowym, kt\u00f3ry jest po\u0142\u0105czony z komputerem za pomoc\u0105 kabla USB. Istnieje r\u00f3wnie\u017c mo\u017cliwo\u015b\u0107 uruchomienia takich test\u00f3w na emulatorze, kt\u00f3ry jest programem komputerowym symuluj\u0105cym zachowanie wybranego urz\u0105dzenia mobilnego lub na ca\u0142ej &#8222;farmie&#8221; takich urz\u0105dze\u0144.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Podsumowanie<\/h2>\n\n\n\n<p> Ilo\u015b\u0107 narz\u0119dzi na rynku mo\u017ce wyda\u0107 si\u0119 przyt\u0142aczaj\u0105ca. Nie martw si\u0119 , istnieje du\u017ca szansa, \u017ce nie b\u0119dziesz mia\u0142 szansy zetkn\u0105\u0107 si\u0119 z wi\u0119kszo\u015bci\u0105 z nich w projekcie komercyjnym.<br>Chcia\u0142bym r\u00f3wnie\u017c kolejny raz podkre\u015bli\u0107, \u017ce nie musisz zna\u0107 wszystkich narz\u0119dzi, bibliotek i framework\u00f3w, kt\u00f3re opisa\u0142em, aby wyr\u00f3\u017cni\u0107 si\u0119 na rynku i dosta\u0107 swoj\u0105 pierwsz\u0105 prac\u0119. Warto pami\u0119ta\u0107, \u017ce wymienione we wpisie narz\u0119dzia maj\u0105 swoich konkurent\u00f3w i przed przyst\u0105pieniem do nauki warto zrobi\u0107 wst\u0119pne rozpoznanie. <\/p>\n","protected":false},"excerpt":{"rendered":"<p>Uwaga! Ten wpis jest kontunuacj\u0105 artyku\u0142u, kt\u00f3ry mo\u017cesz znale\u017a\u0107 na moim blogu pod tym linkiem. Warto zapozna\u0107 si\u0119 z jego tre\u015bci\u0105 przed przyst\u0105pieniem do dalszej lektury. GIT Git to rozproszony system kontroli wersji. W uproszczeniu mo\u017cna za\u0142o\u017cy\u0107, \u017ce s\u0142u\u017cy on do zachowywania informacji o zmianach w plikach. Pozwala nam to [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-575","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/posts\/575","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/comments?post=575"}],"version-history":[{"count":4,"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/posts\/575\/revisions"}],"predecessor-version":[{"id":581,"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/posts\/575\/revisions\/581"}],"wp:attachment":[{"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/media?parent=575"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/categories?post=575"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/testeroprogramowania.pl\/index.php\/wp-json\/wp\/v2\/tags?post=575"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}