{"id":23169,"date":"2023-08-01T05:00:00","date_gmt":"2023-08-01T03:00:00","guid":{"rendered":"https:\/\/sii.pl\/blog\/?p=23169"},"modified":"2023-07-25T12:53:51","modified_gmt":"2023-07-25T10:53:51","slug":"automated-test-framework-w-servicenow-wbudowane-narzedzie-ktore-usprawnia-i-przyspiesza-proces-testowania-aplikacji","status":"publish","type":"post","link":"https:\/\/sii.pl\/blog\/automated-test-framework-w-servicenow-wbudowane-narzedzie-ktore-usprawnia-i-przyspiesza-proces-testowania-aplikacji\/","title":{"rendered":"Automated Test Framework w ServiceNow: wbudowane narz\u0119dzie, kt\u00f3re usprawnia i przy\u015bpiesza proces testowania aplikacji"},"content":{"rendered":"\n<p>Automated Test Framework (ATF) zapewnia \u015brodowisko do tworzenia, wykonywania i zarz\u0105dzania testami automatycznymi bezpo\u015brednio w ServiceNow. Dzi\u0119ki niemu mo\u017cna tworzy\u0107 testy, kt\u00f3re symuluj\u0105 dzia\u0142ania u\u017cytkownik\u00f3w, interakcje z formularzami, przep\u0142yw pracy (workflow) i inne elementy platformy ServiceNow. Umo\u017cliwia to weryfikacj\u0119 poprawno\u015bci dzia\u0142ania aplikacji i proces\u00f3w, a tak\u017ce u\u0142atwia wykrywanie b\u0142\u0119d\u00f3w czy zmian, kt\u00f3re mog\u0105 mie\u0107 wp\u0142yw na dzia\u0142anie systemu. Przyk\u0142adowo: po aktualizacji wersji ServiceNow, podczas tworzenia aplikacji czy podczas wdra\u017cania r\u00f3\u017cnorakich konfiguracji dla istniej\u0105cej instancji za pomoc\u0105 tzw. \u201eupdate set\u00f3w\u201d.<\/p>\n\n\n\n<p>ATF oferuje funkcje takie jak:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>definiowanie danych testowych,<\/li>\n\n\n\n<li>asercje i logik\u0119 test\u00f3w,<\/li>\n\n\n\n<li>generowanie raport\u00f3w,<\/li>\n\n\n\n<li>\u015bledzenie wynik\u00f3w test\u00f3w,<\/li>\n\n\n\n<li>wykonywanie zrzut\u00f3w ekranu w odniesieniu do poszczeg\u00f3lnych krok\u00f3w testowych<\/li>\n\n\n\n<li>i wiele innych.<\/li>\n<\/ul>\n\n\n\n<p>Dzi\u0119ki temu narz\u0119dziu mo\u017cliwe jest zarz\u0105dzanie testami w spos\u00f3b scentralizowany i integracja z innymi funkcjonalno\u015bciami platformy ServiceNow.<\/p>\n\n\n\n<p>Automated Test Framework ma na celu usprawnienie procesu testowania aplikacji i proces\u00f3w na platformie ServiceNow, zwi\u0119kszaj\u0105c efektywno\u015b\u0107 i jako\u015b\u0107 wdra\u017canych rozwi\u0105za\u0144.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Korzy\u015bci z wykorzystania Automated Test Framework<\/strong><\/h2>\n\n\n\n<p>Dzi\u0119ki wykorzystaniu ATF organizacje mog\u0105 uzyska\u0107 nast\u0119puj\u0105ce profity:<\/p>\n\n\n\n<ol class=\"wp-block-list\" type=\"1\">\n<li><strong>Skr\u00f3cenie czasu testowania<\/strong> \u2013 ATF umo\u017cliwia automatyzacj\u0119 test\u00f3w, co skraca czas potrzebny na przeprowadzenie test\u00f3w manualnych. Dzi\u0119ki temu mo\u017cna szybciej zweryfikowa\u0107 poprawno\u015b\u0107 dzia\u0142ania aplikacji.<\/li>\n\n\n\n<li><strong>Zwi\u0119kszenie efektywno\u015bci<\/strong> \u2013 automatyzacja test\u00f3w przy u\u017cyciu ATF pozwala na szybsze i bardziej precyzyjne wykonanie test\u00f3w, co zwi\u0119ksza efektywno\u015b\u0107 procesu testowania.<\/li>\n\n\n\n<li><strong>Poprawa jako\u015bci oprogramowania<\/strong> \u2013 dzi\u0119ki automatycznym testom mo\u017cliwe jest skrupulatne sprawdzenie wielu aspekt\u00f3w aplikacji, co prowadzi do wykrywania b\u0142\u0119d\u00f3w i uchybie\u0144, poprawy jako\u015bci oprogramowania.<\/li>\n\n\n\n<li><strong>Oszcz\u0119dno\u015b\u0107 zasob\u00f3w<\/strong> \u2013 zautomatyzowane testy przy u\u017cyciu ATF pozwalaj\u0105 zaoszcz\u0119dzi\u0107 zasoby ludzkie i czasowe, kt\u00f3re mog\u0105 zosta\u0107 przekierowane na inne wa\u017cne zadania.<\/li>\n\n\n\n<li><strong>\u0141atwa replikacja test\u00f3w<\/strong> \u2013 ATF pozwala na tworzenie test\u00f3w, kt\u00f3re mo\u017cna \u0142atwo replikowa\u0107 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;i uruchamia\u0107 w r\u00f3\u017cnych kontekstach, co umo\u017cliwia testowanie aplikacji w r\u00f3\u017cnych scenariuszach.<\/li>\n\n\n\n<li><strong>Skalowalno\u015b\u0107<\/strong> \u2013 dzi\u0119ki ATF mo\u017cliwe jest tworzenie test\u00f3w w formie zestaw\u00f3w, kt\u00f3re mo\u017cna uruchamia\u0107 partiami. To pozwala na skalowanie procesu testowania, szczeg\u00f3lnie w przypadku du\u017cych i rozbudowanych aplikacji.<\/li>\n<\/ol>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Przyk\u0142adowe zastosowania Automated Test Framework<\/strong><\/h2>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Przygotowaniu zestawu test\u00f3w w oparciu o Quick Start Suites<\/strong><\/h3>\n\n\n\n<p>Narz\u0119dzie to umo\u017cliwia szybkie tworzenie zar\u00f3wno pojedynczych test\u00f3w jak i zestaw\u00f3w testowych, gdy\u017c s\u0105 przygotowane w taki spos\u00f3b, aby mo\u017cna je by\u0142o dostosowa\u0107 do aktualnych wymaga\u0144 bez konieczno\u015bci po\u015bwi\u0119cania cennego czasu i tworzenia ich od zera. <strong><\/strong><\/p>\n\n\n\n<p>Niew\u0105tpliw\u0105 zalet\u0105 Quick Start Suites jest sposobno\u015b\u0107 dodawania, usuwania oraz modyfikowania test\u00f3w, aby pasowa\u0142y do konkretnych przypadk\u00f3w u\u017cycia i wymaga\u0144 biznesowych. Domy\u015blnie uwzgl\u0119dnione s\u0105 zestawy test\u00f3w m.in.: dla incydent\u00f3w, problem\u00f3w czy zarz\u0105dzania zmian\u0105.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/1-5.jpg\"><img decoding=\"async\" width=\"1024\" height=\"496\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/1-5-1024x496.jpg\" alt=\"Przyk\u0142adowe zestawy test\u00f3w Quick Start Tests\" class=\"wp-image-23174\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/1-5-1024x496.jpg 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/1-5-300x145.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/1-5-768x372.jpg 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/1-5.jpg 1103w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 1 Przyk\u0142adowe zestawy test\u00f3w Quick Start Tests<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Tworzenie i zarz\u0105dzanie incydentami<\/strong><\/h3>\n\n\n\n<p>ATF mo\u017cna wykorzysta\u0107 do testowania procesu zarz\u0105dzania incydentami. Nale\u017cy zdefiniowa\u0107 testy, kt\u00f3re symuluj\u0105 tworzenie nowych incydent\u00f3w, aktualizacj\u0119 statusu, eskalacj\u0119 utworzonego incydentu, a tak\u017ce weryfikacj\u0119 poprawno\u015bci dzia\u0142a\u0144 zwi\u0105zanych z zarz\u0105dzaniem incydentami.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/2-4.jpg\"><img decoding=\"async\" width=\"1024\" height=\"466\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/2-4-1024x466.jpg\" alt=\"Przyk\u0142adowe testy do zarz\u0105dzania Incydentami\" class=\"wp-image-23178\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/2-4-1024x466.jpg 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/2-4-300x136.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/2-4-768x349.jpg 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/2-4.jpg 1222w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 2 Przyk\u0142adowe testy do zarz\u0105dzania Incydentami<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Zarz\u0105dzanie zmian\u0105 (tzw. Change Request Management)<\/strong><\/h3>\n\n\n\n<p>ATF umo\u017cliwia testowanie procesu zarz\u0105dzania zmianami na platformie ServiceNow. Mo\u017cna tworzy\u0107 scenariusze testowe, kt\u00f3re obejmuj\u0105 tworzenie, ocen\u0119, zatwierdzanie i wdra\u017canie zmian, a tak\u017ce weryfikacj\u0119 wp\u0142ywu tych zmian na otoczenie biznesowe.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/3-2.jpg\"><img decoding=\"async\" width=\"1024\" height=\"737\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/3-2-1024x737.jpg\" alt=\"Przyk\u0142adowe testy do zarz\u0105dzania zmian\u0105\" class=\"wp-image-23181\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/3-2-1024x737.jpg 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/3-2-300x216.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/3-2-768x553.jpg 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/3-2.jpg 1096w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 3 Przyk\u0142adowe testy do zarz\u0105dzania zmian\u0105<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Zarz\u0105dzanie problemami<\/strong><\/h3>\n\n\n\n<p>ATF mo\u017cna r\u00f3wnie\u017c wykorzysta\u0107 do testowania procesu innego rodzaju zg\u0142oszeniami, a mianowicie \u2013 problemami. Mo\u017cna przygotowa\u0107 testy, kt\u00f3re symuluj\u0105 tworzenie nowych problem\u00f3w, aktualizacj\u0119 statusu czy zg\u0142oszenie nowego Change Requesta na podstawie problemu.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large is-resized\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/4.jpg\"><img decoding=\"async\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/4-1024x559.jpg\" alt=\"Przyk\u0142adowe testy do zarz\u0105dzania problemami\" class=\"wp-image-23183\" width=\"844\" height=\"460\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/4-1024x559.jpg 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/4-300x164.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/4-768x419.jpg 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/4.jpg 1221w\" sizes=\"(max-width: 844px) 100vw, 844px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 4 Przyk\u0142adowe testy do zarz\u0105dzania problemami<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>Inne funkcje Automated Test Framework<\/strong><\/h3>\n\n\n\n<p>Funkcje ATF to, mi\u0119dzy innymi, tak\u017ce:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Testowanie formularzy i proces\u00f3w \u2013 mo\u017cna zweryfikowa\u0107, czy formularze s\u0105 poprawnie wype\u0142niane, czy procesy obs\u0142ugi us\u0142ug dzia\u0142aj\u0105 zgodnie z oczekiwaniami oraz czy dane s\u0105 prawid\u0142owo przetwarzane i przechowywane.<\/li>\n\n\n\n<li>Testowanie&nbsp;integracji zewn\u0119trznych \u2013 ATF umo\u017cliwia testowanie integracji zewn\u0119trznych system\u00f3w lub interfejs\u00f3w API. Mo\u017cna tworzy\u0107 testy, kt\u00f3re symuluj\u0105 wymian\u0119 danych z innymi systemami, sprawdzaj\u0105c poprawno\u015b\u0107 komunikacji i przetwarzania informacji.<\/li>\n\n\n\n<li>Testowanie interfejsu u\u017cytkownika (UI) \u2013 ATF umo\u017cliwia automatyczne testowanie interfejsu u\u017cytkownika. Oznacza to, i\u017c mo\u017cna tworzy\u0107 testy, kt\u00f3re sprawdzaj\u0105 poprawno\u015b\u0107 wy\u015bwietlania element\u00f3w interfejsu, reakcj\u0119 na akcje u\u017cytkownika, walidacj\u0119 p\u00f3l i wiele innych aspekt\u00f3w zwi\u0105zanych z interakcj\u0105 u\u017cytkownika.<\/li>\n\n\n\n<li>Przywracanie stanu systemu do wcze\u015bniejszej konfiguracji, czyli tzw. \u201erollback\u201d \u2013 dzieje si\u0119 to po wykonaniu test\u00f3w, usuwaj\u0105c wszelkie zmiany wprowadzone przez testy. Jest to szczeg\u00f3lnie przydatna funkcja w przypadku testowania aplikacji, gdzie wprowadzone zmiany mog\u0105 mie\u0107 wp\u0142yw na dzia\u0142anie innych proces\u00f3w lub danych, jak r\u00f3wnie\u017c, gdy chcemy zapewni\u0107, i\u017c testy nie pozostawi\u0142y trwa\u0142ych zmian w systemie produkcyjnym.<\/li>\n\n\n\n<li>\u201eTest Step Templates\u201d \u2013 to funkcja, dzi\u0119ki kt\u00f3rej mo\u017cliwe jest tworzenie szablon\u00f3w krok\u00f3w testowych do wielokrotnego wykorzystania w r\u00f3\u017cnych testach. \u201eTest Step Templates\u201d upraszczaj\u0105 proces tworzenia test\u00f3w poprzez zdefiniowanie jednorazowo krok\u00f3w, kt\u00f3re mo\u017cna p\u00f3\u017aniej \u0142atwo wstawia\u0107 do r\u00f3\u017cnych zestaw\u00f3w testowych. Na przyk\u0142ad, je\u015bli w wielu testach wyst\u0119puje taki sam krok logowania do systemu, mo\u017cemy stworzy\u0107 Test Step Template dla tego kroku i wielokrotnie go u\u017cywa\u0107 w r\u00f3\u017cnych zestawach testowych. To znacznie oszcz\u0119dza czas i wysi\u0142ek potrzebne do pisania tych samych krok\u00f3w wielokrotnie. \u201eTest Step Templates\u201d umo\u017cliwia dostosowanie istniej\u0105cych szablon\u00f3w krok\u00f3w testowych lub tworzenie nowych, aby pasowa\u0142y do okre\u015blonych wymaga\u0144 projektowych.<\/li>\n\n\n\n<li>Mo\u017cliwo\u015b\u0107 generowania zrzut\u00f3w ekranu krok\u00f3w test\u00f3w po stronie klienta, kt\u00f3re s\u0105 uruchamiane w interfejsie u\u017cytkownika \u2013 pozwala to na wizualne \u015bledzenie wykonania test\u00f3w i analizowanie rezultat\u00f3w w spos\u00f3b bardziej czytelny i intuicyjny. Dzi\u0119ki temu mo\u017cemy zobaczy\u0107, jak wygl\u0105da\u0142a aplikacja w konkretnym momencie, co u\u0142atwia diagnozowanie b\u0142\u0119d\u00f3w i zrozumienie kontekstu test\u00f3w. Umo\u017cliwia to te\u017c lepsz\u0105 dokumentacj\u0119 i analiz\u0119 test\u00f3w oraz u\u0142atwia proces debugowania.<\/li>\n<\/ul>\n\n\n\n<p>Dzi\u0119ki elastyczno\u015bci i rozbudowanym funkcjom ATF, narz\u0119dzie to mo\u017cna dostosowa\u0107 do indywidualnych potrzeb i specyfiki organizacji, przyspieszaj\u0105c proces testowania i zapewniaj\u0105c wysok\u0105 jako\u015b\u0107 rozwi\u0105za\u0144 na platformie ServiceNow.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Przyk\u0142ad struktury test\u00f3w w Automated Test Framework<\/strong><\/h2>\n\n\n\n<p>Automated Test Framework oferuje rozbudowane mo\u017cliwo\u015bci zarz\u0105dzania przypadkami testowymi. Umo\u017cliwia u\u017cytkownikom tworzenie, organizowanie i zarz\u0105dzanie przypadkami testowymi, zapewniaj\u0105c kompleksowe pokrycie testowe. Przypadki testowe mog\u0105 by\u0107 \u0142atwo dostosowywane i parametryzowane, umo\u017cliwiaj\u0105c wykonywanie test\u00f3w w r\u00f3\u017cnych konfiguracjach i \u015brodowiskach.<\/p>\n\n\n\n<p>Automated Test Framework obs\u0142uguje budowanie wielopoziomowych hierarchii, w kt\u00f3rych zestaw test\u00f3w mo\u017ce pe\u0142ni\u0107 rol\u0119 zar\u00f3wno nadrz\u0119dn\u0105 (Parent Test Suite), jak i podrz\u0119dn\u0105 (Child Test Suite). Dodatkowo, ka\u017cdy zestaw test\u00f3w mo\u017ce by\u0107 wykonany indywidualnie i zaplanowany do uruchomienia &nbsp;&nbsp;w okre\u015blonym czasie, co pozwala na elastyczne zarz\u0105dzanie testami, umo\u017cliwia ich planowanie&nbsp;w zale\u017cno\u015bci od potrzeb i priorytet\u00f3w projektu. Na przyk\u0142ad, poni\u017cszy schemat ilustruje Test Suite 1 jako nadrz\u0119dny na szczycie hierarchii. Test Suite 1.3 jest podrz\u0119dnym dla Test Suite 1 i jednocze\u015bnie nadrz\u0119dnym dla Test Suite 1.3.1 i Test Suite 1.3.2.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/5-1.png\"><img decoding=\"async\" width=\"586\" height=\"393\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/5-1.png\" alt=\"Przyk\u0142adowa hierarchia test\u00f3w i zestaw\u00f3w test\u00f3w\" class=\"wp-image-23186\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/5-1.png 586w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/5-1-300x201.png 300w\" sizes=\"(max-width: 586px) 100vw, 586px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 5 Przyk\u0142adowa hierarchia test\u00f3w i zestaw\u00f3w test\u00f3w<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>ATF Test Generator and Cloud Runner \u2013 mo\u017cliwo\u015b\u0107 wykonywania test\u00f3w bez potrzeby anga\u017cowania interfejsu u\u017cytkownika<\/strong><\/h2>\n\n\n\n<p>ATF Test Generator and Cloud Runner to narz\u0119dzie umo\u017cliwiaj\u0105ce generowanie test\u00f3w regresji dla okre\u015blonej instancji.<\/p>\n\n\n\n<p>Generator ten tworzy testy, analizuj\u0105c zachowanie oraz procesy zachodz\u0105ce w instancji. ATF Test Generator integruje si\u0119 z istniej\u0105cym frameworkiem ATF. Dzi\u0119ki temu narz\u0119dziu istnieje mo\u017cliwo\u015b\u0107 wykonania test\u00f3w za pomoc\u0105 narz\u0119dzia ServiceNow Cloud Runner, kt\u00f3ry uruchamia testy ATF w przegl\u0105darce bez anga\u017cowania interfejsu graficznego (przegl\u0105darka jest hostowana przez ServiceNow).<\/p>\n\n\n\n<p>Zanim jednak rozpoczniemy prac\u0119 z Generatorem, nale\u017cy upewni\u0107 si\u0119, \u017ce nasza instancja korzysta z \u201eADCv2 load balancer\u201d. <a href=\"https:\/\/docs.servicenow.com\/bundle\/utah-servicenow-platform\/page\/administer\/atf-test-generator-cloud-runner\/concept\/atf-tg-cr-landing.html\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Wi\u0119cej informacji nt. \u201eADCv2 load balancer\u201d mo\u017cna znale\u017a\u0107 na stronie ServiceNow<\/a>.<\/p>\n\n\n\n<p>Warto r\u00f3wnie\u017c upewni\u0107 si\u0119, \u017ce wszystkie dodatki do tej funkcjonalno\u015bci s\u0105 zainstalowane w naszej instancji. Mo\u017cna to zweryfikowa\u0107, nawiguj\u0105c do \u201eSystem Definition &#8211;&gt; Plugins\u201d, jak pokazano na zdj\u0119ciu poni\u017cej.<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/6.jpg\"><img decoding=\"async\" width=\"1024\" height=\"351\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/6-1024x351.jpg\" alt=\"Modu\u0142, w kt\u00f3rym mo\u017cna sprawdzi\u0107 dodatki zainstalowane i mo\u017cliwe do zainstalowania w instancji, z kt\u00f3rej korzystamy\" class=\"wp-image-23224\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/6-1024x351.jpg 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/6-300x103.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/6-768x263.jpg 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/6.jpg 1218w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 6 Modu\u0142, w kt\u00f3rym mo\u017cna sprawdzi\u0107 dodatki zainstalowane i mo\u017cliwe do zainstalowania w instancji, z kt\u00f3rej korzystamy<\/figcaption><\/figure>\n\n\n\n<p>Zdj\u0119cie poni\u017cej przedstawia ju\u017c zainstalowany \u201eplugin\u201d:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/7-1.jpg\"><img decoding=\"async\" width=\"1024\" height=\"489\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/7-1-1024x489.jpg\" alt=\"Zainstalowany dodatek do ATF Test Generatora\" class=\"wp-image-23190\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/7-1-1024x489.jpg 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/7-1-300x143.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/7-1-768x367.jpg 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/7-1.jpg 1329w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 7 Zainstalowany dodatek do ATF Test Generatora<\/figcaption><\/figure>\n\n\n\n<p>Aby wygenerowa\u0107 testy przy u\u017cyciu ATF Generatora, trzeba najpierw skonfigurowa\u0107 po\u015bwiadczenia dla u\u017cytkownika korzystaj\u0105cego z Cloud Runnera.<\/p>\n\n\n\n<p>W nawigatorze wpisz fraz\u0119 \u201eselect cloud\u201d i wybierz opcj\u0119, kt\u00f3r\u0105 zaznaczono na zdj\u0119ciu poni\u017cej:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/8-1.png\"><img decoding=\"async\" width=\"356\" height=\"283\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/8-1.png\" alt=\"Konfiguracja po\u015bwiadcze\u0144 dla u\u017cytkownika Cloud Runnera\" class=\"wp-image-23192\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/8-1.png 356w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/8-1-300x238.png 300w\" sizes=\"(max-width: 356px) 100vw, 356px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 8 Konfiguracja po\u015bwiadcze\u0144 dla u\u017cytkownika Cloud Runnera<\/figcaption><\/figure>\n\n\n\n<p>W dalszym kroku wymagane jest podanie u\u017cytkownika, kt\u00f3ry ma przypisan\u0105 rol\u0119 \u201eadmin\u201d:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/9-1.png\"><img decoding=\"async\" width=\"425\" height=\"154\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/9-1.png\" alt=\"Wprowadzanie u\u017cytkownika z rol\u0105 \u201eadmin\u201d\" class=\"wp-image-23194\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/9-1.png 425w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/9-1-300x109.png 300w\" sizes=\"(max-width: 425px) 100vw, 425px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 9 Wprowadzanie u\u017cytkownika z rol\u0105 \u201eadmin\u201d<\/figcaption><\/figure>\n\n\n\n<p>Aby wygenerowa\u0107 testy gotowe do uruchomienia, wpisz \u201etest gener\u201d w nawigatorze i wybierz opcj\u0119, kt\u00f3r\u0105 zaznaczono na zdj\u0119ciu poni\u017cej:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/10-2.png\"><img decoding=\"async\" width=\"403\" height=\"357\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/10-2.png\" alt=\"Nawigowanie do generatora test\u00f3w\" class=\"wp-image-23196\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/10-2.png 403w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/10-2-300x266.png 300w\" sizes=\"(max-width: 403px) 100vw, 403px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 10 Nawigowanie do generatora test\u00f3w<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/11-1.png\"><img decoding=\"async\" width=\"404\" height=\"398\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/11-1.png\" alt=\"Okre\u015blanie warunk\u00f3w dotycz\u0105cych wygenerowania test\u00f3w\" class=\"wp-image-23199\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/11-1.png 404w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/11-1-300x296.png 300w\" sizes=\"(max-width: 404px) 100vw, 404px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 11 Okre\u015blanie warunk\u00f3w dotycz\u0105cych wygenerowania test\u00f3w<\/figcaption><\/figure>\n\n\n\n<p>Po wygenerowaniu test\u00f3w u\u017cytkownik otrzyma stosown\u0105 informacj\u0119. Aby przej\u015b\u0107 do test\u00f3w, trzeba klikn\u0105\u0107 w podany link jak pokazano na zdj\u0119ciu poni\u017cej:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/12-1.png\"><img decoding=\"async\" width=\"514\" height=\"145\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/12-1.png\" alt=\"Informacja o wygenerowanych testach\" class=\"wp-image-23201\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/12-1.png 514w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/12-1-300x85.png 300w\" sizes=\"(max-width: 514px) 100vw, 514px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 12 Informacja o wygenerowanych testach<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/13.jpg\"><img decoding=\"async\" width=\"1024\" height=\"298\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/13-1024x298.jpg\" alt=\"Lista wygenerowanych zestaw\u00f3w testowych\" class=\"wp-image-23226\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/13-1024x298.jpg 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/13-300x87.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/13-768x223.jpg 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/13.jpg 1403w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 13 Lista wygenerowanych zestaw\u00f3w testowych<\/figcaption><\/figure>\n\n\n\n<p>Jak zosta\u0142o wspomniane na pocz\u0105tku tego rozdzia\u0142u, opisywana funkcjonalno\u015b\u0107 umo\u017cliwia uruchamianie test\u00f3w bez konieczno\u015bci wykorzystania interfejsu graficznego.<\/p>\n\n\n\n<p>Dotychczas, podczas wykonywania test\u00f3w, u\u017cytkownik by\u0142 niejako \u201eskazany\u201d na jedn\u0105 opcj\u0119 i interfejs graficzny by\u0142 uruchamiany. Co wi\u0119cej, je\u015bli interfejs nie by\u0142 otwarty w aktywnym oknie przegl\u0105darki, bardzo cz\u0119sto rezultatem tego by\u0142o przekroczenie czasu okre\u015blonego na wykonanie poszczeg\u00f3lnego testu (tzw. timeout) i nie zosta\u0142 on wykonany.<\/p>\n\n\n\n<p>Na zdj\u0119ciu poni\u017cej przedstawiono uruchomiony test z wykorzystaniem interfejsu graficznego:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/14.jpg\"><img decoding=\"async\" width=\"1024\" height=\"265\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/14-1024x265.jpg\" alt=\"Uruchomiony test z wykorzystaniem interfejsu graficznego\" class=\"wp-image-23206\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/14-1024x265.jpg 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/14-300x78.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/14-768x199.jpg 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/14-1536x398.jpg 1536w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/14.jpg 1641w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 14 Uruchomiony test z wykorzystaniem interfejsu graficznego<\/figcaption><\/figure>\n\n\n\n<p>Opisywana tutaj funkcjonalno\u015b\u0107 daje u\u017cytkownikowi mo\u017cliwo\u015b\u0107 wyboru, czy chce widzie\u0107, co \u00f3w uruchomiony test wykonuje, co dzieje si\u0119 krok po kroku, czy woli, aby by\u0142 wykonywany w tzw. \u201echmurze\u201d. Dane testowe s\u0105 tymczasowo przechowywane w sesji przegl\u0105darki, a te z kolei s\u0105 przechowywane w centrum danych ServiceNow. Po zako\u0144czeniu wszystkich wykonanych test\u00f3w, dane testowe zostaj\u0105 usuni\u0119te.<\/p>\n\n\n\n<p>Na zdj\u0119ciu poni\u017cej uwidoczniono mo\u017cliwo\u015b\u0107 wyboru i przeprowadzenia testu przy pomocy \u201eCloud Runnera\u201d:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/15.png\"><img decoding=\"async\" width=\"1024\" height=\"284\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/15-1024x284.png\" alt=\"Mo\u017cliwo\u015b\u0107 wyboru \u201eCloud Runnera\u201d\" class=\"wp-image-23209\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/15-1024x284.png 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/15-300x83.png 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/15-768x213.png 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/15.png 1386w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 15 Mo\u017cliwo\u015b\u0107 wyboru \u201eCloud Runnera\u201d<\/figcaption><\/figure>\n\n\n\n<p>Po wybraniu opcji \u201eCloud Runner\u201d test uruchamia si\u0119:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-full\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/16.png\"><img decoding=\"async\" width=\"605\" height=\"174\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/16.png\" alt=\"Informacja o statusie \u201eCloud Runnera\u201d\" class=\"wp-image-23211\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/16.png 605w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/16-300x86.png 300w\" sizes=\"(max-width: 605px) 100vw, 605px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 16 Informacja o statusie \u201eCloud Runnera\u201d<\/figcaption><\/figure>\n\n\n\n<p>Rezultat wykonanego testu przy u\u017cyciu \u201eCloud Runnera\u201d uwidoczniono na zdj\u0119ciu poni\u017cej:<\/p>\n\n\n\n<figure class=\"wp-block-image aligncenter size-large\"><a href=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/17.jpg\"><img decoding=\"async\" width=\"1024\" height=\"407\" src=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/17-1024x407.jpg\" alt=\"Rezultat wykonanego testu przy pomocy \u201eCloud Runnera\u201d\" class=\"wp-image-23215\" srcset=\"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/17-1024x407.jpg 1024w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/17-300x119.jpg 300w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/17-768x305.jpg 768w, https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/17.jpg 1157w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/a><figcaption class=\"wp-element-caption\">Ryc. 17 Rezultat wykonanego testu przy pomocy \u201eCloud Runnera\u201d<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Dobre praktyki rekomendowane przez ServiceNow podczas tworzenia i wykonywania test\u00f3w ATF<\/strong><\/h2>\n\n\n\n<p>Aby jak najlepiej wykorzysta\u0107 potencja\u0142 narz\u0119dzia:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Dostosuj swoje testy do kluczowych scenariuszy testowych \u2013 ATF jest przeznaczone do funkcjonalnego testowania konkretnych proces\u00f3w biznesowych. Skoncentruj si\u0119 na kluczowych \u015bcie\u017ckach u\u017cytkownika lub procesach w ramach aplikacji ServiceNow.<\/li>\n\n\n\n<li>Najpierw wykonaj impersonacj\u0119 \u2013 zazwyczaj pierwszym krokiem ka\u017cdego testu jest podstawienie odpowiedniego u\u017cytkownika, kt\u00f3ry b\u0119dzie wykonywa\u0142 okre\u015blone zadanie. Aby podstawi\u0107 u\u017cytkownika, skorzystaj z kroku testowego &#8222;Utw\u00f3rz u\u017cytkownika&#8221;, by stworzy\u0107 u\u017cytkownika o okre\u015blonych rolach i z okre\u015blonymi grupami do testu. Po zako\u0144czeniu testu nast\u0105pi usuni\u0119cie wcze\u015bniej utworzonego na potrzeby testu rekordu (np. u\u017cytkownika).<\/li>\n\n\n\n<li>Grupuj testy \u2013 tworzenie i uruchamianie zestaw\u00f3w testowych (tzw. Test Suite) pozwala na grupowanie test\u00f3w w okre\u015blonej kolejno\u015bci w celu przetestowania aplikacji lub powi\u0105zanych funkcji. Dzi\u0119ki temu mo\u017cliwe jest wykonywanie test\u00f3w i podgl\u0105d wynik\u00f3w jako jedno zadanie.<\/li>\n\n\n\n<li>Uruchamiaj testy r\u00f3wnolegle \u2013 skr\u00f3\u0107 czas testowania, uruchamiaj\u0105c wiele test\u00f3w i zestaw\u00f3w testowych r\u00f3wnolegle. Testy, kt\u00f3re tworz\u0105 w\u0142asne dane, powinny by\u0107 uruchamiane r\u00f3wnolegle, aby unikn\u0105\u0107 konflikt\u00f3w pod k\u0105tem zale\u017cno\u015bci danych. Mo\u017cna oznacza\u0107 testy jako wzajemnie wykluczaj\u0105ce si\u0119, aby zapobiec r\u00f3wnoczesnemu uruchamianiu test\u00f3w, kt\u00f3re wymagaj\u0105 tych samych danych.<\/li>\n\n\n\n<li>Korzystaj z mo\u017cliwo\u015bci tzw. \u201eop\u00f3\u017anienia\u201d \u2013 kroki testowe oferowane przez ATF wyposa\u017cone s\u0105 w inteligentny mechanizm \u201eop\u00f3\u017anienia\u201d. Oznacza to, \u017ce aby przej\u015b\u0107 do nast\u0119pnego kroku testowego, obecnie wykonywany musi zosta\u0107 uko\u0144czony. Czasem jednak asynchroniczne aktualizacje na serwerze, takie jak przetwarzanie zdarze\u0144, aktualizacje w obr\u0119bie przep\u0142ywu danych i powiadomienia e-mail, mog\u0105 wymaga\u0107 dodatkowego czasu oczekiwania na zako\u0144czenie tych dzia\u0142a\u0144. Ustawienie \u201eop\u00f3\u017anienia\u201d (timeout) podczas tworzenia krok\u00f3w testowych mo\u017ce by\u0107 r\u00f3wnie\u017c przydatne podczas debugowania test\u00f3w. Na przyk\u0142ad, mo\u017cna ustawi\u0107 limit czasu (\u201eop\u00f3\u017anienie\u201d) na 30-60 sekund, aby mie\u0107 mo\u017cliwo\u015b\u0107 podgl\u0105du stworzonego rekord\u00f3w zanim zostanie on usuni\u0119ty.<\/li>\n\n\n\n<li>B\u0105d\u017a zwi\u0119z\u0142y \u2013 staraj si\u0119 nie testowa\u0107 wszystkiego, skup si\u0119 na kluczowych elementach, a do ka\u017cdego z nich utw\u00f3rz zwi\u0119z\u0142y test\/zestaw test\u00f3w. U\u0142atwi to ich budowanie (test\u00f3w) oraz ocen\u0119 ewentualnych b\u0142\u0119d\u00f3w. ATF umo\u017cliwia \u0142\u0105czenie wielu test\u00f3w jako cz\u0119\u015b\u0107 zestawu testowego i wykorzystywanie zestaw\u00f3w testowych hierarchicznie. Dzi\u0119ki temu b\u0119dziesz m\u00f3g\u0142 przeprowadza\u0107 dodatkowe testy, je\u015bli jeden z wczesnych krok\u00f3w testu nie powiedzie si\u0119.<\/li>\n\n\n\n<li>Unikaj powtarzania krok\u00f3w testowych \u2013 nie powtarzaj testowania tej samej funkcjonalno\u015bci interfejsu u\u017cytkownika w wielu testach. Je\u015bli inne testy wymagaj\u0105 podobnej funkcjonalno\u015bci, zasymuluj j\u0105 za pomoc\u0105 tzw. \u201eserver test steps\u201d.<\/li>\n\n\n\n<li>Sprawd\u017a aktualizacje dla utworzonych rekord\u00f3w \u2013 za ka\u017cdym razem kiedy rekord jest aktualizowany, dodaj krok testowy (Record Validation), aby upewni\u0107 si\u0119, \u017ce zosta\u0142 on faktycznie zaktualizowany.<\/li>\n\n\n\n<li>Testuj funkcjonalno\u015b\u0107, a nie dane \u2013 zamiast testowa\u0107 wszystkie mo\u017cliwe kombinacje oparte na danych, stw\u00f3rz jeden lub dwa testy skupiaj\u0105ce si\u0119 na funkcjonalno\u015bci. Nast\u0119pnie zweryfikuj, czy warto\u015bci zmieniaj\u0105 si\u0119 zgodnie z oczekiwaniem, bez tracenia czasu na testowanie wszystkich mo\u017cliwych kombinacji.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Podsumowanie<\/strong><\/h2>\n\n\n\n<p>Automated Test Framework to niezwykle przydatne narz\u0119dzie dla organizacji korzystaj\u0105cych z platformy ServiceNow. Dzi\u0119ki ATF mo\u017cna zautomatyzowa\u0107 proces testowania aplikacji i proces\u00f3w, co prowadzi do wi\u0119kszej efektywno\u015bci, lepszej jako\u015bci i mniejszego ryzyka b\u0142\u0119d\u00f3w. Wdra\u017canie ATF mo\u017ce stanowi\u0107 kluczowy krok w zapewnieniu niezawodno\u015bci i doskona\u0142ego dzia\u0142ania systemu opartego na platformie ServiceNow.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>\u0179r\u00f3d\u0142a<\/strong><\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><a href=\"https:\/\/www.servicenow.com\/content\/dam\/servicenow-assets\/public\/en-us\/doc-type\/success\/quick-answer\/automated-test-framework-best-practices.pdf\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >ATF dobre praktyki<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.servicenow.com\/bundle\/utah-servicenow-platform\/page\/administer\/atf-test-generator-cloud-runner\/concept\/atf-tg-cr-landing.html\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >ATF Test Generator \u2013 jak zacz\u0105\u0107?<\/a><\/li>\n\n\n\n<li><a href=\"https:\/\/docs.servicenow.com\/bundle\/utah-application-development\/page\/administer\/auto-test-framework\/concept\/atf-cloud-runner-browser.html\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Cloud Runner \u2013 jak zacz\u0105\u0107? <\/a>&nbsp;<\/li>\n\n\n\n<li><a href=\"https:\/\/docs.servicenow.com\/bundle\/utah-application-development\/page\/administer\/auto-test-framework\/concept\/automated-test-framework.html\" target=\"_blank\" aria-label=\" (opens in a new tab)\" rel=\"noreferrer noopener\" class=\"ek-link\" rel=\"nofollow\" >Og\u00f3lna charakterystyka Automated Test Framework<\/a><\/li>\n<\/ul>\n\n\n<div class=\"kk-star-ratings kksr-auto kksr-align-left kksr-valign-bottom\"\n    data-payload='{&quot;align&quot;:&quot;left&quot;,&quot;id&quot;:&quot;23169&quot;,&quot;slug&quot;:&quot;default&quot;,&quot;valign&quot;:&quot;bottom&quot;,&quot;ignore&quot;:&quot;&quot;,&quot;reference&quot;:&quot;auto&quot;,&quot;class&quot;:&quot;&quot;,&quot;count&quot;:&quot;1&quot;,&quot;legendonly&quot;:&quot;&quot;,&quot;readonly&quot;:&quot;&quot;,&quot;score&quot;:&quot;5&quot;,&quot;starsonly&quot;:&quot;&quot;,&quot;best&quot;:&quot;5&quot;,&quot;gap&quot;:&quot;11&quot;,&quot;greet&quot;:&quot;&quot;,&quot;legend&quot;:&quot;5\\\/5 ( vote: 1)&quot;,&quot;size&quot;:&quot;18&quot;,&quot;title&quot;:&quot;Automated Test Framework w ServiceNow: wbudowane narz\u0119dzie, kt\u00f3re usprawnia i przy\u015bpiesza proces testowania aplikacji&quot;,&quot;width&quot;:&quot;139.5&quot;,&quot;_legend&quot;:&quot;{score}\\\/{best} ( {votes}: {count})&quot;,&quot;font_factor&quot;:&quot;1.25&quot;}'>\n            \n<div class=\"kksr-stars\">\n    \n<div class=\"kksr-stars-inactive\">\n            <div class=\"kksr-star\" data-star=\"1\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"2\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"3\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"4\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" data-star=\"5\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n    \n<div class=\"kksr-stars-active\" style=\"width: 139.5px;\">\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n            <div class=\"kksr-star\" style=\"padding-right: 11px\">\n            \n\n<div class=\"kksr-icon\" style=\"width: 18px; height: 18px;\"><\/div>\n        <\/div>\n    <\/div>\n<\/div>\n                \n\n<div class=\"kksr-legend\" style=\"font-size: 14.4px;\">\n            5\/5 ( vote: 1)    <\/div>\n    <\/div>\n","protected":false},"excerpt":{"rendered":"<p>Automated Test Framework (ATF) zapewnia \u015brodowisko do tworzenia, wykonywania i zarz\u0105dzania testami automatycznymi bezpo\u015brednio w ServiceNow. Dzi\u0119ki niemu mo\u017cna tworzy\u0107 &hellip; <a class=\"continued-btn\" href=\"https:\/\/sii.pl\/blog\/automated-test-framework-w-servicenow-wbudowane-narzedzie-ktore-usprawnia-i-przyspiesza-proces-testowania-aplikacji\/\">Continued<\/a><\/p>\n","protected":false},"author":548,"featured_media":23218,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_editorskit_title_hidden":false,"_editorskit_reading_time":0,"_editorskit_is_block_options_detached":false,"_editorskit_block_options_position":"{}","inline_featured_image":false,"footnotes":""},"categories":[1316],"tags":[1546,825,1100],"class_list":["post-23169","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-development-na-miekko","tag-przeglad-narzedzi","tag-dobre-praktyki","tag-servicenow"],"acf":[],"aioseo_notices":[],"republish_history":[],"featured_media_url":"https:\/\/sii.pl\/blog\/wp-content\/uploads\/2023\/07\/Automated-Test-Framework-w-ServiceNow-wbudowane-narzedzie-ktore-usprawnia-i-przyspiesza-proces-testowania-aplikacji.jpg","category_names":["Development na mi\u0119kko"],"_links":{"self":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/23169"}],"collection":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/users\/548"}],"replies":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/comments?post=23169"}],"version-history":[{"count":3,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/23169\/revisions"}],"predecessor-version":[{"id":23232,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/posts\/23169\/revisions\/23232"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media\/23218"}],"wp:attachment":[{"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/media?parent=23169"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/categories?post=23169"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sii.pl\/blog\/wp-json\/wp\/v2\/tags?post=23169"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}