{"id":77180,"date":"2020-04-08T13:42:32","date_gmt":"2020-04-08T11:42:32","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/testirovshhik-bolshih-i-malenkih-dannyh-trendy-teoriya-moya-istoriya"},"modified":"2020-04-08T13:42:32","modified_gmt":"2020-04-08T11:42:32","slug":"testirovshhik-bolshih-i-malenkih-dannyh-trendy-teoriya-moya-istoriya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/testirovshhik-bolshih-i-malenkih-dannyh-trendy-teoriya-moya-istoriya","title":{"rendered":"Tester du\u017cych i ma\u0142ych danych: trendy, teoria, moja historia","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Cze\u015b\u0107 wszystkim, nazywam si\u0119 Aleksander i jestem in\u017cynierem jako\u015bci danych, zajmuj\u0105cym si\u0119 weryfikacj\u0105 jako\u015bci danych. W tym artykule opowiem, jak do tego doszed\u0142em i dlaczego w 2020 roku ta dziedzina testowania sta\u0142a si\u0119 tak popularna. <\/p>\n<p><img decoding=\"async\" alt=\"Tester du\u017cych i ma\u0142ych danych: trendy, teoria, moja historia\" src=\"\/wp-content\/uploads\/2020\/04\/0691d5a78bcbc8f4f102eafbbef20c0a.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<h2>Globalny trend <\/h2>\n<p>\nDzisiejszy \u015bwiat prze\u017cywa kolejn\u0105 rewolucj\u0119 technologiczn\u0105, z kt\u00f3rej jednym z aspekt\u00f3w jest wykorzystanie danych przez r\u00f3\u017cne firmy do nap\u0119dzania swoich proces\u00f3w sprzeda\u017cy, zysk\u00f3w i PR. Wygl\u0105da na to, \u017ce posiadanie dobrych (jako\u015bciowych) danych oraz zdolnych ludzi, kt\u00f3rzy potrafi\u0105 przekszta\u0142ca\u0107 je w zyski (prawid\u0142owo przetwarza\u0107, wizualizowa\u0107, budowa\u0107 modele uczenia maszynowego itd.), sta\u0142y si\u0119 kluczem do sukcesu dla wielu firm. Je\u015bli 15-20 lat temu intensywn\u0105 prac\u0105 nad gromadzeniem danych i ich monetyzacj\u0105 zajmowa\u0142y si\u0119 g\u0142\u00f3wnie du\u017ce przedsi\u0119biorstwa, to dzi\u015b jest to domen\u0105 praktycznie wszystkich rozs\u0105dnych. <\/p>\n<p>W zwi\u0105zku z tym kilka lat temu wszystkie portale po\u015bwi\u0119cone poszukiwaniu pracy na ca\u0142ym \u015bwiecie zacz\u0119\u0142y by\u0107 zalewane ofertami pracy dla Data Scientists, poniewa\u017c wszyscy byli przekonani, \u017ce zatrudniaj\u0105c takiego specjalist\u0119, mo\u017cna stworzy\u0107 supermodel uczenia maszynowego, przewidzie\u0107 przysz\u0142o\u015b\u0107 i dokona\u0107 'kwantowego skoku' dla firmy. Z czasem ludzie zrozumieli, \u017ce takie podej\u015bcie prawie nigdzie nie dzia\u0142a, poniewa\u017c nie wszystkie dane, kt\u00f3re trafiaj\u0105 w r\u0119ce takich specjalist\u00f3w, nadaj\u0105 si\u0119 do trenowania modeli. <\/p>\n<p>I rozpocz\u0119\u0142y si\u0119 zapytania od Data Scientist\u00f3w: \u201eKupmy jeszcze wi\u0119cej danych od tych oraz tamtych\u2026\u201d, \u201eBrakuje nam danych\u2026\u201d, \u201ePotrzebujemy wi\u0119cej danych, a najlepiej wysokiej jako\u015bci\u2026\u201d. Na podstawie tych zapyta\u0144 zacz\u0119\u0142y si\u0119 kszta\u0142towa\u0107 liczne interakcje mi\u0119dzy firmami posiadaj\u0105cymi r\u00f3\u017cne zbiory danych. Oczywi\u015bcie wymaga\u0142o to technicznej organizacji tego procesu \u2013 pod\u0142\u0105czenia do \u017ar\u00f3d\u0142a danych, pobrania ich, sprawdzenia, czy zosta\u0142y za\u0142adowane w pe\u0142nym zakresie itd. Liczba takich proces\u00f3w zacz\u0119\u0142a rosn\u0105\u0107, a dzi\u015b mamy ogromne zapotrzebowanie na inny rodzaj specjalist\u00f3w \u2013 in\u017cynier\u00f3w Data Quality \u2013 kt\u00f3rzy dbaliby o przep\u0142yw danych w systemie (data pipelines), o jako\u015b\u0107 danych na wej\u015bciu i wyj\u015bciu, a tak\u017ce wyci\u0105galiby wnioski dotycz\u0105ce ich wystarczalno\u015bci, integralno\u015bci i innych charakterystyk. <\/p>\n<p>Trend na in\u017cynier\u00f3w jako\u015bci danych przyszed\u0142 do nas z USA, gdzie w czasie szalej\u0105cej ery kapitalizmu nikt nie jest gotowy przegra\u0107 walki o dane. Poni\u017cej przedstawiam zrzuty ekranu z dw\u00f3ch najbardziej popularnych stron z ofertami pracy w USA: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.monster.com\">www.monster.com<\/a><\/noindex> i <noindex><a rel=\"nofollow\" href=\"https:\/\/www.dice.com\">www.dice.com<\/a><\/noindex> \u2014 na kt\u00f3rych przedstawiono dane na dzie\u0144 17 marca 2020 roku dotycz\u0105ce liczby opublikowanych ofert pracy, zwi\u0105zanych ze s\u0142owami kluczowymi: Data Quality i Data Scientist. <\/p>\n<p><noindex><a rel=\"nofollow\" href=\"https:\/\/www.monster.com\">www.monster.com<\/a><\/noindex><\/p>\n<p>Data Scientists \u2013 21416 ofert pracy<br \/>\nData Quality \u2013 41104 ofert pracy<\/p>\n<p><img decoding=\"async\" alt=\"Tester du\u017cych i ma\u0142ych danych: trendy, teoria, moja historia\" src=\"\/wp-content\/uploads\/2020\/04\/8578f2d1e600791e166ed6e8a7068015.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Tester du\u017cych i ma\u0142ych danych: trendy, teoria, moja historia\" src=\"\/wp-content\/uploads\/2020\/04\/3ff69acc3c7e0d649eae0808b1b535be.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\n<noindex><a rel=\"nofollow\" href=\"https:\/\/www.dice.com\">www.dice.com<\/a><\/noindex> <\/p>\n<p>Data Scientists \u2013 404 ofert pracy<br \/>\nData Quality \u2013 2020 ofert pracy<\/p>\n<p><img decoding=\"async\" alt=\"Tester du\u017cych i ma\u0142ych danych: trendy, teoria, moja historia\" src=\"\/wp-content\/uploads\/2020\/04\/b35a9b423ba4bef8736659580e3c281e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Tester du\u017cych i ma\u0142ych danych: trendy, teoria, moja historia\" src=\"\/wp-content\/uploads\/2020\/04\/2c29b83bbe2361089de5a0ab65017300.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\nOczywi\u015bcie, \u017ce te profesje w \u017caden spos\u00f3b nie konkuruj\u0105 ze sob\u0105. Zrzutami ekranu chcia\u0142em po prostu zilustrowa\u0107 aktualn\u0105 sytuacj\u0119 na rynku pracy mianowicie zapotrzebowanie na in\u017cynier\u00f3w jako\u015bci danych, kt\u00f3rych obecnie potrzebujemy znacznie wi\u0119cej ni\u017c Data Scientists. <\/p>\n<p>W czerwcu 2019 roku EPAM, odpowiadaj\u0105c na potrzeby nowoczesnego rynku IT, wyodr\u0119bni\u0142 kierunek Data Quality jako odr\u0119bn\u0105 praktyk\u0119. In\u017cynierowie jako\u015bci danych w trakcie swojej codziennej pracy zarz\u0105dzaj\u0105 danymi, sprawdzaj\u0105 ich zachowanie w nowych warunkach i systemach, kontroluj\u0105 adekwatno\u015b\u0107 danych, ich wystarczalno\u015b\u0107 i aktualno\u015b\u0107. Przy tym wszystkim w praktycznym sensie in\u017cynierowie jako\u015bci danych rzeczywi\u015bcie po\u015bwi\u0119caj\u0105 troch\u0119 czasu na klasyczne testowanie funkcjonalne, <u>NIE<\/u> co w du\u017cej mierze zale\u017cy od projektu (podam przyk\u0142ad p\u00f3\u017aniej). <\/p>\n<p>Obowi\u0105zki in\u017cyniera jako\u015bci danych nie ograniczaj\u0105 si\u0119 tylko do rutynowych r\u0119cznych\/automatycznych sprawdze\u0144 na \u201enulls, count i sums\u201d w tabelach baz danych, ale wymagaj\u0105 g\u0142\u0119bokiego zrozumienia potrzeb biznesowych klienta, a co za tym idzie, umiej\u0119tno\u015bci przekszta\u0142cania posiadanych danych w u\u017cyteczn\u0105 informacj\u0119 biznesow\u0105. <\/p>\n<h2>Teoria jako\u015bci danych<\/h2>\n<p>\n<img decoding=\"async\" alt=\"Tester du\u017cych i ma\u0142ych danych: trendy, teoria, moja historia\" src=\"\/wp-content\/uploads\/2020\/04\/d920a7a0435d6f3a1eb84fc16221c742.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\u017beby jak najlepiej zrozumie\u0107 rol\u0119 takiego in\u017cyniera, przyjrzyjmy si\u0119, czym jest teoria jako\u015bci danych. <\/p>\n<p><b>Jako\u015b\u0107 danych<\/b> \u2014 jest jednym z etap\u00f3w zarz\u0105dzania danymi (ca\u0142y \u015bwiat, kt\u00f3ry pozostawiamy do samodzielnego zg\u0142\u0119bienia) i odpowiada za analiz\u0119 danych wed\u0142ug nast\u0119puj\u0105cych kryteri\u00f3w: <\/p>\n<p><img decoding=\"async\" alt=\"Tester du\u017cych i ma\u0142ych danych: trendy, teoria, moja historia\" src=\"\/wp-content\/uploads\/2020\/04\/8f5e75bad69e3cb589cc0e1104ad946f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nMy\u015bl\u0119, \u017ce nie ma sensu szczeg\u00f3\u0142owo opisywa\u0107 ka\u017cdego z punkt\u00f3w (teoretycznie nazywa si\u0119 to \u201ewymiary danych\u201d), s\u0105 one dobrze opisane na obrazku. Jednak sam proces testowania nie zak\u0142ada \u015bcis\u0142ego kopiowania tych cech do przypadk\u00f3w testowych i ich weryfikacji. W zakresie jako\u015bci danych, jak w ka\u017cdym innym typie testowania, nale\u017cy przede wszystkim opiera\u0107 si\u0119 na wymaganiach dotycz\u0105cych jako\u015bci danych, uzgodnionych z uczestnikami projektu, podejmuj\u0105cymi decyzje biznesowe. <\/p>\n<p><\/p>\n<blockquote><p>W zale\u017cno\u015bci od projektu in\u017cynier jako\u015bci danych mo\u017ce pe\u0142ni\u0107 r\u00f3\u017cne funkcje: od zwyk\u0142ego testera automatyzacji z powierzchown\u0105 ocen\u0105 jako\u015bci danych, po osob\u0119 przeprowadzaj\u0105c\u0105 ich g\u0142\u0119bokie profilowanie wed\u0142ug powy\u017cszych cech. <\/p><\/blockquote>\n<p>Bardzo szczeg\u00f3\u0142owy opis proces\u00f3w zarz\u0105dzania danymi, jako\u015bci danych i pokrewnych znajduje si\u0119 w ksi\u0105\u017cce pod tytu\u0142em <i>\u201eDAMA-DMBOK: Zbi\u00f3r Wiedzy o Zarz\u0105dzaniu Danymi: 2. edycja\u201d<\/i>. Gor\u0105co polecam t\u0119 ksi\u0105\u017ck\u0119 jako wst\u0119p do tej tematyki (link do niej znajdziesz na ko\u0144cu artyku\u0142u).<\/p>\n<h2>Moja historia<\/h2>\n<p>\nW bran\u017cy IT przeszed\u0142em drog\u0119 od Junior testera w firmach produktowych do Lead Data Quality Engineer w firmie EPAM. Ju\u017c po oko\u0142o dw\u00f3ch latach pracy jako tester by\u0142em przekonany, \u017ce wykonywa\u0142em wszystkie rodzaje test\u00f3w: regresyjnych, funkcjonalnych, obci\u0105\u017ceniowych, stabilno\u015bci, bezpiecze\u0144stwa, UI itd. \u2014 i przetestowa\u0142em wiele narz\u0119dzi testowych, pracuj\u0105c w trzech j\u0119zykach programowania: Java, Scala, Python. <\/p>\n<p><\/p>\n<blockquote><p>Patrz\u0105c wstecz, rozumiem, dlaczego zestaw moich umiej\u0119tno\u015bci zawodowych by\u0142 tak r\u00f3\u017cnorodny \u2014 bra\u0142em udzia\u0142 w projektach zwi\u0105zanych z prac\u0105 z danymi, du\u017cymi i ma\u0142ymi. To w\u0142a\u015bnie doprowadzi\u0142o mnie do \u015bwiata wielu narz\u0119dzi i mo\u017cliwo\u015bci rozwoju.<\/p><\/blockquote>\n<p>Aby oceni\u0107 r\u00f3\u017cnorodno\u015b\u0107 narz\u0119dzi i mo\u017cliwo\u015bci zdobywania nowej wiedzy i umiej\u0119tno\u015bci, wystarczy spojrze\u0107 na obrazek poni\u017cej, na kt\u00f3rym przedstawione s\u0105 najpopularniejsze z nich w \u015bwiecie \u201eDanych i AI\u201d.<\/p>\n<p><img decoding=\"async\" alt=\"Tester du\u017cych i ma\u0142ych danych: trendy, teoria, moja historia\" src=\"\/wp-content\/uploads\/2020\/04\/e3278694195bf59b44055e1eaafd62b1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nTego rodzaju ilustracje przygotowuje corocznie jeden z znanych inwestor\u00f3w venture capital Matt Turck, kt\u00f3ry ma do\u015bwiadczenie w programowaniu. Oto <noindex><a rel=\"nofollow\" href=\"https:\/\/mattturck.com\">link<\/a><\/noindex> jego blog i <noindex><a rel=\"nofollow\" href=\"https:\/\/firstmarkcap.com\/team\/matt-turck\">firma venture capital<\/a><\/noindex>, w kt\u00f3rej pracuje jako partner. <\/p>\n<p>Szybko rozwija\u0142em swoje umiej\u0119tno\u015bci, gdy by\u0142em jedynym testuj\u0105cym w projekcie, przynajmniej na pocz\u0105tku. W takim momencie odpowiada si\u0119 za ca\u0142y proces testowania i nie ma mo\u017cliwo\u015bci wycofania si\u0119, tylko i\u015b\u0107 naprz\u00f3d. Na pocz\u0105tku by\u0142o to przera\u017caj\u0105ce, ale teraz dostrzegam wszystkie zalety takiego do\u015bwiadczenia: <\/p>\n<ul>\n<li>Zaczynasz komunikowa\u0107 si\u0119 z ca\u0142ym zespo\u0142em jak nigdy dot\u0105d, poniewa\u017c nie ma \u017cadnego po\u015brednika w komunikacji: ani mened\u017cera test\u00f3w, ani koleg\u00f3w tester\u00f3w. <\/li>\n<li>Zanurzenie w projekt staje si\u0119 niezwykle g\u0142\u0119bokie, a Ty posiadasz informacje o wszystkich komponentach zar\u00f3wno w og\u00f3lnym zarysie, jak i w szczeg\u00f3\u0142ach. <\/li>\n<li>Programi\u015bci nie patrz\u0105 na Ciebie jak na 'tego go\u015bcia z testowania, kt\u00f3ry nie wiadomo czym si\u0119 zajmuje', lecz raczej jak na r\u00f3wnego sobie, przynosz\u0105cego niesamowit\u0105 warto\u015b\u0107 dla zespo\u0142u swoimi testami automatycznymi i przewidywaniem pojawienia si\u0119 b\u0142\u0119d\u00f3w w konkretnym elemencie produktu. <\/li>\n<li>W rezultacie \u2014 jeste\u015b bardziej efektywny, bardziej wykwalifikowany, bardziej poszukiwany. <\/li>\n<\/ul>\n<p>\nW miar\u0119 rozwoju projektu w 100% przypadk\u00f3w stawa\u0142em si\u0119 mentorem dla nowych tester\u00f3w, szkol\u0105c ich i przekazuj\u0105c wiedz\u0119, kt\u00f3r\u0105 sam zdoby\u0142em. W zale\u017cno\u015bci od projektu, nie zawsze otrzymywa\u0142em od kierownictwa specjalist\u00f3w do test\u00f3w automatycznych najwy\u017cszego poziomu, dlatego istnia\u0142a konieczno\u015b\u0107 albo ich przeszkolenia w automatyzacji (dla ch\u0119tnych), albo stworzenia narz\u0119dzi, kt\u00f3re mogliby u\u017cywa\u0107 w codziennych aktywno\u015bciach (narz\u0119dzia do generowania danych i ich wgrywania do systemu, narz\u0119dzie do przeprowadzania test\u00f3w obci\u0105\u017ceniowych\/test\u00f3w stabilno\u015bci 'na szybko' itd.). <\/p>\n<h3>Przyk\u0142ad konkretnego projektu<\/h3>\n<p>\nNiestety, z powodu zobowi\u0105za\u0144 dotycz\u0105cych poufno\u015bci nie mog\u0119 szczeg\u00f3\u0142owo opowiada\u0107 o projektach, w kt\u00f3rych pracowa\u0142em, ale podam przyk\u0142ady typowych zada\u0144 In\u017cyniera Jako\u015bci Danych w jednym z projekt\u00f3w. <\/p>\n<p>Istot\u0105 projektu by\u0142a realizacja platformy do przetwarzania danych w celu szkolenia modeli uczenia maszynowego. Zamawiaj\u0105cym by\u0142a du\u017ca firma farmaceutyczna z USA. Technicznie by\u0142 to klaster <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\">Kubernetes<\/a><\/noindex>, uruchamiany na <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/ru\/ec2\">AWS EC2<\/a><\/noindex> instancjach, z kilkoma mikroserwisami i bazuj\u0105cym na otwartym kodzie \u017ar\u00f3d\u0142owym projektem firmy EPAM \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/legion-platform\/legion\">Legion<\/a><\/noindex>, dostosowanym do potrzeb konkretnego zleceniodawcy (obecnie projekt przekszta\u0142ci\u0142 si\u0119 w <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/odahu\/odahu-flow\">odahu<\/a><\/noindex>). Procesy ETL by\u0142y organizowane przy pomocy <noindex><a rel=\"nofollow\" href=\"https:\/\/airflow.apache.org\">Apache Airflow<\/a><\/noindex> i przenosili dane z <noindex><a rel=\"nofollow\" href=\"https:\/\/www.salesforce.com\">SalesForce<\/a><\/noindex> systemu klienta do <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/ru\/s3\/?nc1=h_ls\">AWS S3<\/a><\/noindex> Buckets. Nast\u0119pnie na platform\u0119 zosta\u0142 zaimplementowany obraz Dockera modelu uczenia maszynowego, kt\u00f3ry uczy\u0142 si\u0119 na \u015bwie\u017cych danych i przez interfejs REST API dostarcza\u0142 prognozy, kt\u00f3re interesowa\u0142y biznes i rozwi\u0105zywa\u0142y konkretne problemy. <\/p>\n<p><b>Wizualnie wszystko wygl\u0105da\u0142o mniej wi\u0119cej tak: <\/b><\/p>\n<p><img decoding=\"async\" alt=\"Tester du\u017cych i ma\u0142ych danych: trendy, teoria, moja historia\" src=\"\/wp-content\/uploads\/2020\/04\/c2de3c1919f3f9ff29147fce09eb14c4.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nFunkcjonalnego testowania na tym projekcie by\u0142o pod dostatkiem, a bior\u0105c pod uwag\u0119 tempo rozwoju funkcji i konieczno\u015b\u0107 utrzymania cyklu wydania (dwu tygodniowe sprinty), nale\u017ca\u0142o od razu pomy\u015ble\u0107 o automatyzacji testowania najwa\u017cniejszych element\u00f3w systemu. Wi\u0119ksza cz\u0119\u015b\u0107 samej platformy opartej na Kubernetes by\u0142a pokryta testami automatycznymi, zrealizowanymi w <noindex><a rel=\"nofollow\" href=\"https:\/\/robotframework.org\/\">Robot Framework<\/a><\/noindex> + Python, ale ich utrzymanie i rozszerzanie r\u00f3wnie\u017c by\u0142o konieczne. Co wi\u0119cej, dla wygody klienta stworzono GUI do zarz\u0105dzania modelami uczenia maszynowego zainstalowanymi na klastrze oraz mo\u017cliwo\u015b\u0107 okre\u015blenia, sk\u0105d i dok\u0105d nale\u017cy przenie\u015b\u0107 dane do szkolenia modeli. To obszerne uzupe\u0142nienie poci\u0105gn\u0119\u0142o za sob\u0105 rozszerzenie automatycznych funkcjonalnych test\u00f3w, kt\u00f3re w wi\u0119kszo\u015bci przeprowadzano poprzez wywo\u0142ania REST API i niewielk\u0105 liczb\u0119 test\u00f3w end-2-end UI. Oko\u0142o w po\u0142owie tego procesu do\u0142\u0105czy\u0142 do nas tester r\u0119czny, kt\u00f3ry doskonale radzi\u0142 sobie z testowaniem akceptacyjnym wersji produktu oraz komunikacj\u0105 z klientem w sprawie akceptacji kolejnego wydania. Co wi\u0119cej, dzi\u0119ki pojawieniu si\u0119 nowego specjalisty mogli\u015bmy dokumentowa\u0107 nasz\u0105 prac\u0119 i doda\u0107 kilka bardzo wa\u017cnych r\u0119cznych test\u00f3w, kt\u00f3re by\u0142o trudno od razu zautomatyzowa\u0107. <\/p>\n<p>I w ko\u0144cu, po osi\u0105gni\u0119ciu stabilno\u015bci platformy i nadbudowy GUI, przyst\u0105pili\u015bmy do budowy ETL pipelines przy u\u017cyciu Apache Airflow DAGs. Automatyczna kontrola jako\u015bci danych by\u0142a realizowana poprzez pisanie specjalnych DAG\u00f3w Airflow, kt\u00f3re sprawdza\u0142y dane w oparciu o wyniki dzia\u0142ania procesu ETL. W ramach tego projektu mieli\u015bmy szcz\u0119\u015bcie, poniewa\u017c klient udost\u0119pni\u0142 nam dost\u0119p do zanonimizowanych zbior\u00f3w danych, na kt\u00f3rych przeprowadzali\u015bmy testy. Sprawdzali\u015bmy dane linia po linii pod k\u0105tem zgodno\u015bci typ\u00f3w, obecno\u015bci uszkodzonych danych, og\u00f3lnej liczby rekord\u00f3w przed i po, por\u00f3wnania dokonanych przez proces ETL transformacji w zakresie agregacji, zmiany nazw kolumn i innych. Dodatkowo, te kontrole by\u0142y skalowane na r\u00f3\u017cne \u017ar\u00f3d\u0142a danych, na przyk\u0142ad opr\u00f3cz SalesForce tak\u017ce na MySQL. <\/p>\n<p>Kontrole ko\u0144cowej jako\u015bci danych by\u0142y realizowane na poziomie S3, gdzie by\u0142y one przechowywane i by\u0142y w stanie ready-to-use do szkolenia modeli uczenia maszynowego. Aby uzyska\u0107 dane z ko\u0144cowego pliku CSV, le\u017c\u0105cego na S3 Bucket, i ich walidacji, napisano kod z u\u017cyciem <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/ru\/sdk-for-python\">klienta boto3<\/a><\/noindex>. <\/p>\n<p>R\u00f3wnie\u017c ze strony klienta istnia\u0142o wymaganie przechowywania cz\u0119\u015bci danych w jednym S3 Bucket, a cz\u0119\u015bci w innym. W tym celu tak\u017ce konieczne by\u0142o napisanie dodatkowych kontroli, kt\u00f3re kontrolowa\u0142y poprawno\u015b\u0107 takiego sortowania. <\/p>\n<h3>Uog\u00f3lnione do\u015bwiadczenie z innych projekt\u00f3w<\/h3>\n<p>\nPrzyk\u0142ad najbardziej og\u00f3lnej listy aktywno\u015bci in\u017cyniera ds. jako\u015bci danych: <\/p>\n<ul>\n<li>Przygotowa\u0107 dane testowe (wa\u017cne, niewa\u017cne, du\u017cej i ma\u0142ej wielko\u015bci) za pomoc\u0105 zautomatyzowanego narz\u0119dzia. <\/li>\n<li>Za\u0142adowa\u0107 przygotowany zestaw danych do \u017ar\u00f3d\u0142a i sprawdzi\u0107 jego gotowo\u015b\u0107 do u\u017cycia. <\/li>\n<li>Uruchomi\u0107 procesy ETL w celu przetworzenia zestawu danych z \u017ar\u00f3d\u0142owego repozytorium do ko\u0144cowego lub po\u015bredniego z zastosowaniem okre\u015blonego zestawu ustawie\u0144 (w przypadku mo\u017cliwo\u015bci okre\u015blenia konfigurowalnych parametr\u00f3w dla zadania ETL). <\/li>\n<li>Weryfikowa\u0107 przetworzone dane procesem ETL pod k\u0105tem ich jako\u015bci i zgodno\u015bci z wymaganiami biznesowymi. <\/li>\n<\/ul>\n<p>\nG\u0142\u00f3wny nacisk w kontroli powinien by\u0107 k\u0142adziony nie tylko na to, \u017ce strumie\u0144 danych w systemie dzia\u0142a poprawnie i dociera do ko\u0144ca (co jest cz\u0119\u015bci\u0105 testowania funkcjonalnego), ale przede wszystkim na weryfikacj\u0119 i walidacj\u0119 danych pod k\u0105tem zgodno\u015bci z oczekiwanymi wymaganiami, identyfikacji anomalii i innych aspekt\u00f3w. <\/p>\n<h3>Narz\u0119dzia<\/h3>\n<p>\nJedn\u0105 z technik takiej kontroli nad danymi mo\u017ce by\u0107 organizacja \u0142a\u0144cuchowych kontroli na ka\u017cdym etapie przetwarzania danych, tzw. \u201edata chain\u201d \u2014 kontrola danych od \u017ar\u00f3d\u0142a do miejsca ostatecznego ich wykorzystania. Takie kontrole najcz\u0119\u015bciej realizowane s\u0105 poprzez pisanie zapyta\u0144 SQL weryfikuj\u0105cych. Oczywi\u015bcie, zapytania te powinny by\u0107 maksymalnie lekkie i sprawdza\u0107 poszczeg\u00f3lne fragmenty jako\u015bci danych (metadata tabel, puste linie, NULL-e, b\u0142\u0119dy w sk\u0142adni \u2014 inne wymagane atrybuty kontroli). <\/p>\n<p>W przypadku testowania regresyjnego, w kt\u00f3rym wykorzystuje si\u0119 ju\u017c gotowe (niezmienialne lub niewielkie zmiany) zestawy danych, w kodzie autotest\u00f3w mo\u017cna przechowywa\u0107 ju\u017c gotowe szablony kontroli danych pod k\u0105tem jako\u015bci (opisy oczekiwanych metadanych tabel; wybierane losowo obiekty pr\u00f3bne, kt\u00f3re mog\u0105 by\u0107 wybrane podczas testu, i inne). <\/p>\n<p>Podczas testowania konieczne jest r\u00f3wnie\u017c pisanie testowych proces\u00f3w ETL przy u\u017cyciu framework\u00f3w takich jak Apache Airflow, <noindex><a rel=\"nofollow\" href=\"https:\/\/spark.apache.org\/\">Apache Spark<\/a><\/noindex> lub ca\u0142kowicie narz\u0119dzi black-box typu <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/dataprep\">GCP Dataprep<\/a><\/noindex>, <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/dataflow\">GCP Dataflow<\/a><\/noindex> i inne. Taka sytuacja zmusza in\u017cyniera test\u00f3w do zg\u0142\u0119bienia zasad dzia\u0142ania powy\u017cszych narz\u0119dzi, aby efektywniej przeprowadza\u0107 testy funkcjonalne (na przyk\u0142ad istniej\u0105cych proces\u00f3w ETL w projekcie) oraz wykorzysta\u0107 je do weryfikacji danych. W szczeg\u00f3lno\u015bci dla Apache Airflow dost\u0119pne s\u0105 gotowe operatory do pracy z popularnymi bazami danych analitycznych, na przyk\u0142ad <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/bigquery\">GCP BigQuery<\/a><\/noindex>. Najbardziej podstawowy przyk\u0142ad jego u\u017cycia zosta\u0142 ju\u017c opisany <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@yuu.ishikawa\/apache-airflow-as-a-data-quality-checker-416ca7f5a3ad\">tutaj<\/a><\/noindex>, dlatego nie b\u0119d\u0119 si\u0119 powtarza\u0107. <\/p>\n<p>Opr\u00f3cz gotowych rozwi\u0105za\u0144, nikt nie zabrania Wam realizowa\u0107 w\u0142asnych technik i narz\u0119dzi. To przyniesie korzy\u015bci nie tylko projektowi, ale tak\u017ce samemu in\u017cynierowi ds. jako\u015bci danych, kt\u00f3ry w ten spos\u00f3b rozwinie swoje techniczne kompetencje i umiej\u0119tno\u015bci kodowania. <\/p>\n<h3>Jak to dzia\u0142a w rzeczywistym projekcie<\/h3>\n<p>\nDobrym przyk\u0142adem ostatnich akapit\u00f3w dotycz\u0105cych '\u0142a\u0144cucha danych', ETL i wszechobecnych kontroli jest poni\u017cszy proces z jednego z prawdziwych projekt\u00f3w: <\/p>\n<p><img decoding=\"async\" alt=\"Tester du\u017cych i ma\u0142ych danych: trendy, teoria, moja historia\" src=\"\/wp-content\/uploads\/2020\/04\/4a4cd3043b584bb3fbce4b9c3021e9f6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nTutaj do wej\u015bciowej 'lejek' naszego systemu trafiaj\u0105 r\u00f3\u017cne dane (oczywi\u015bcie przygotowane przez nas): poprawne, niepoprawne, mieszane itd., nast\u0119pnie s\u0105 filtrowane i trafiaj\u0105 do tymczasowego repozytorium, a potem jeszcze czeka je szereg przekszta\u0142ce\u0144 i umieszczenie w docelowym repozytorium, z kt\u00f3rego b\u0119dzie przeprowadzana analiza, budowa hurtowni danych i poszukiwanie mo\u017cliwo\u015bci biznesowych. W takim systemie, nie sprawdzaj\u0105c funkcjonalnie pracy proces\u00f3w ETL, koncentrujemy si\u0119 na jako\u015bci danych przed i po przekszta\u0142ceniach, a tak\u017ce na wyj\u015bciu do analizy. <\/p>\n<p>Podsumowuj\u0105c, niezale\u017cnie od miejsc, w kt\u00f3rych pracowa\u0142em, zawsze by\u0142em zaanga\u017cowany w projekty Data, kt\u00f3re charakteryzowa\u0142y si\u0119 nast\u0119puj\u0105cymi cechami: <\/p>\n<ul>\n<li>Tylko poprzez automatyzacj\u0119 mo\u017cna przetestowa\u0107 niekt\u00f3re przypadki i osi\u0105gn\u0105\u0107 akceptowalny dla biznesu cykl wydania. <\/li>\n<li>Tester w takim projekcie jest jednym z najbardziej szanowanych cz\u0142onk\u00f3w zespo\u0142u, poniewa\u017c przynosi ogromne korzy\u015bci ka\u017cdemu z uczestnik\u00f3w (przyspieszenie testowania, dobre dane dla Data Scientist, wykrywanie defekt\u00f3w na wczesnych etapach). <\/li>\n<li>Nie wa\u017cne, czy pracujesz na swoim sprz\u0119cie, czy w chmurze \u2014 wszystkie zasoby s\u0105 zorganizowane w klaster typu Hortonworks, Cloudera, Mesos, Kubernetes itd. <\/li>\n<li>Projekty s\u0105 budowane w oparciu o podej\u015bcie mikrous\u0142ugowe, dominuje rozproszone i r\u00f3wnoleg\u0142e przetwarzanie. <\/li>\n<\/ul>\n<p>\nZauwa\u017cam, \u017ce zajmuj\u0105c si\u0119 testowaniem w obszarze jako\u015bci danych, specjalista ds. testowania przesuwa sw\u00f3j profesjonalny fokus na kod produktu i u\u017cywanych narz\u0119dzi. <\/p>\n<h3>Cechy wyr\u00f3\u017cniaj\u0105ce testowanie jako\u015bci danych.<\/h3>\n<p>\nPonadto wyodr\u0119bni\u0142em nast\u0119puj\u0105ce (zaraz podkre\u015bl\u0119 BARDZO og\u00f3lne i wy\u0142\u0105cznie subiektywne) cechy wyr\u00f3\u017cniaj\u0105ce testowanie w projektach Data (Big Data) i innych obszarach: <\/p>\n<p><img decoding=\"async\" alt=\"Tester du\u017cych i ma\u0142ych danych: trendy, teoria, moja historia\" src=\"\/wp-content\/uploads\/2020\/04\/8df52fbae2998e70755bf84e254db83e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h2>Przydatne linki<\/h2>\n<p><\/p>\n<ol>\n<li>Teoria: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.amazon.com\/DAMA-DMBOK-Data-Management-Body-Knowledge\/dp\/1634622340\">DAMA-DMBOK: Data Management Body of Knowledge: 2nd Edition<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/training.ru\/#!\/Home?lang=ru\">Centrum szkoleniowe<\/a><\/noindex>&nbsp;EPAM&nbsp;<\/li>\n<li>Zalecane materia\u0142y dla pocz\u0105tkuj\u0105cego in\u017cyniera Data Quality:\n<ol>\n<li>Bezp\u0142atny kurs na Stepik:&nbsp;<noindex><a rel=\"nofollow\" href=\"https:\/\/stepik.org\/course\/551\/syllabus\">Wprowadzenie do baz danych<\/a><\/noindex>.&nbsp;<\/li>\n<li>Kurs na LinkedIn Learning:&nbsp;<noindex><a rel=\"nofollow\" href=\"https:\/\/www.linkedin.com\/learning\/data-science-foundations-data-engineering\/welcome\">Fundamenty Data Science: In\u017cynieria Danych<\/a><\/noindex>.<\/li>\n<li>Artyku\u0142y:\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.stickyminds.com\/article\/business-intelligence-and-data-quality\">Business Intelligence i Jako\u015b\u0107 Danych<\/a><\/noindex>;&nbsp;<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.datagaps.com\/concepts\/etl-testing\">Testowanie ETL<\/a><\/noindex>;&nbsp;<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/panoply.io\/analytics-stack-guide\/data-profiling-best-practices\">Czym jest profilowanie danych? Proces, najlepsze praktyki i narz\u0119dzia<\/a><\/noindex>;&nbsp;<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.guru99.com\/software-testing-test-data.html\">Generowanie danych testowych: Co to jest, jak to zrobi\u0107, przyk\u0142ady, narz\u0119dzia;&nbsp;<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.testbytes.net\/blog\/5-test-data-generation-techniques-to-know\">5 technik generowania danych testowych, kt\u00f3re musisz zna\u0107.<\/a><\/noindex>&nbsp;<\/li>\n<\/ul>\n<\/li>\n<li>Wideo:\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=HWaBdqmTqEA\">Koncepcje jako\u015bci danych | Tutorial o jako\u015bci danych | Tutorial o hurtowni danych<\/a><\/noindex>;<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=avDqzhuHFkw\">Profilowanie danych przy u\u017cyciu SSIS<\/a><\/noindex>;<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=r7SF5WldITk\">Profilowanie danych i przetwarzanie potok\u00f3w z u\u017cyciem Sparka.<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><\/p>\n<h2>Podsumowanie<\/h2>\n<p>\n<b>Jako\u015b\u0107 danych<\/b> \u2014 to bardzo m\u0142oda, obiecuj\u0105ca dziedzina, bycie cz\u0119\u015bci\u0105 kt\u00f3rej oznacza bycie cz\u0119\u015bci\u0105 pewnego startupu. Wchodz\u0105c w Data Quality, zanurzysz si\u0119 w du\u017cej liczbie nowoczesnych, poszukiwanych technologii, ale najwa\u017cniejsze \u2014 przed tob\u0105 otworz\u0105 si\u0119 ogromne mo\u017cliwo\u015bci generowania i realizacji w\u0142asnych pomys\u0142\u00f3w. B\u0119dziesz m\u00f3g\u0142 wykorzysta\u0107 podej\u015bcie ci\u0105g\u0142ego doskonalenia nie tylko w projekcie, ale r\u00f3wnie\u017c dla siebie, nieprzerwanie rozwijaj\u0105c si\u0119 jako specjalista.<br \/>\n<br \/>\u0179r\u00f3d\u0142o: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/epam_systems\/blog\/495478\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440, \u0438 \u044f Data Quality \u0438\u043d\u0436\u0435\u043d\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u0438\u0445 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430. \u0412 \u044d\u0442\u043e\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u0440\u0435\u0447\u044c \u043f\u043e\u0439\u0434\u0451\u0442 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u044f \u043a \u044d\u0442\u043e\u043c\u0443 \u043f\u0440\u0438\u0448\u0451\u043b \u0438 \u043f\u043e\u0447\u0435\u043c\u0443 \u0432 2020 \u0433\u043e\u0434\u0443 \u044d\u0442\u043e \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u0442\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0430\u043d\u0438\u044f \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u043d\u0430 \u0433\u0440\u0435\u0431\u043d\u0435 \u0432\u043e\u043b\u043d\u044b. \u041c\u0438\u0440\u043e\u0432\u043e\u0439 \u0442\u0440\u0435\u043d\u0434 \u0421\u0435\u0433\u043e\u0434\u043d\u044f\u0448\u043d\u0438\u0439 \u043c\u0438\u0440 \u043f\u0435\u0440\u0435\u0436\u0438\u0432\u0430\u0435\u0442 \u043e\u0447\u0435\u0440\u0435\u0434\u043d\u0443\u044e \u0442\u0435\u0445\u043d\u043e\u043b\u043e\u0433\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0440\u0435\u0432\u043e\u043b\u044e\u0446\u0438\u044e, \u043e\u0434\u043d\u0438\u043c \u0438\u0437 \u0430\u0441\u043f\u0435\u043a\u0442\u043e\u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":77181,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-77180","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.1.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440, \u0438 \u044f Data Quality \u0438\u043d\u0436\u0435\u043d\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u0438\u0445 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/testirovshhik-bolshih-i-malenkih-dannyh-trendy-teoriya-moya-istoriya\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.1.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"pl_PL\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0438 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445: \u0442\u0440\u0435\u043d\u0434\u044b, \u0442\u0435\u043e\u0440\u0438\u044f, \u043c\u043e\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440, \u0438 \u044f Data Quality \u0438\u043d\u0436\u0435\u043d\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u0438\u0445 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/testirovshhik-bolshih-i-malenkih-dannyh-trendy-teoriya-moya-istoriya\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-04-08T11:42:32+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-04-08T11:42:32+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Tester du\u017cych i ma\u0142ych danych: trend\u00f3w, teorii, moja historia | ProHoster","description":"Cze\u015b\u0107 wszystkim, nazywam si\u0119 Aleksander, jestem in\u017cynierem Data Quality, kt\u00f3ry zajmuje si\u0119 sprawdzaniem danych pod k\u0105tem ich jako\u015bci.","canonical_url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/testirovshhik-bolshih-i-malenkih-dannyh-trendy-teoriya-moya-istoriya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"pl_PL","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0422\u0435\u0441\u0442\u0438\u0440\u043e\u0432\u0449\u0438\u043a \u0431\u043e\u043b\u044c\u0448\u0438\u0445 \u0438 \u043c\u0430\u043b\u0435\u043d\u044c\u043a\u0438\u0445 \u0434\u0430\u043d\u043d\u044b\u0445: \u0442\u0440\u0435\u043d\u0434\u044b, \u0442\u0435\u043e\u0440\u0438\u044f, \u043c\u043e\u044f \u0438\u0441\u0442\u043e\u0440\u0438\u044f | ProHoster","og:description":"\u0412\u0441\u0435\u043c \u043f\u0440\u0438\u0432\u0435\u0442, \u043c\u0435\u043d\u044f \u0437\u043e\u0432\u0443\u0442 \u0410\u043b\u0435\u043a\u0441\u0430\u043d\u0434\u0440, \u0438 \u044f Data Quality \u0438\u043d\u0436\u0435\u043d\u0435\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u0437\u0430\u043d\u0438\u043c\u0430\u0435\u0442\u0441\u044f \u043f\u0440\u043e\u0432\u0435\u0440\u043a\u043e\u0439 \u0434\u0430\u043d\u043d\u044b\u0445 \u043d\u0430 \u043f\u0440\u0435\u0434\u043c\u0435\u0442 \u0438\u0445 \u043a\u0430\u0447\u0435\u0441\u0442\u0432\u0430.","og:url":"https:\/\/prohoster.info\/pl\/blog\/administrirovanie\/testirovshhik-bolshih-i-malenkih-dannyh-trendy-teoriya-moya-istoriya","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-04-08T11:42:32+00:00","article:modified_time":"2020-04-08T11:42:32+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"77180","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 17:22:32","updated":"2022-10-03 00:36:00","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/77180","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/comments?post=77180"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/posts\/77180\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media\/77181"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/media?parent=77180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/categories?post=77180"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/pl\/wp-json\/wp\/v2\/tags?post=77180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}