{"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\/it\/blog\/administrirovanie\/testirovshhik-bolshih-i-malenkih-dannyh-trendy-teoriya-moya-istoriya","title":{"rendered":"Tester di big e small data: tendenze, teoria, la mia storia","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ciao a tutti, mi chiamo Alessandro e sono un ingegnere della qualit\u00e0 dei dati che si occupa di verificare i dati per la loro qualit\u00e0. In questo articolo parler\u00f2 di come sono arrivato a questo punto e perch\u00e9 nel 2020 questa area di testing \u00e8 diventata cos\u00ec importante. <\/p>\n<p><img decoding=\"async\" alt=\"Tester di big e small data: tendenze, teoria, la mia storia\" 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>Tendenza globale <\/h2>\n<p>\nIl mondo di oggi sta vivendo una nuova rivoluzione tecnologica, uno degli aspetti della quale \u00e8 l'utilizzo da parte delle varie aziende dei dati accumulati per alimentare il loro ciclo di vendite, profitti e pubblicit\u00e0. Si ritiene che avere buoni dati (di qualit\u00e0) e menti capaci di trasformarli in denaro (elaborandoli correttamente, visualizzandoli, costruendo modelli di machine learning ecc.) sia oggi la chiave del successo per molti. Se 15-20 anni fa il lavoro con i dati e la loro monetizzazione era appannaggio principalmente delle grandi aziende, oggi \u00e8 una questione di quasi tutte le aziende razionali. <\/p>\n<p>In questo contesto, alcuni anni fa tutti i portali dedicati alla ricerca di lavoro in tutto il mondo sono stati invasi da offerte di lavoro per Data Scientist, poich\u00e9 tutti erano convinti che assumendo uno specialista di questo tipo si potesse costruire un super modello di machine learning, prevedere il futuro e compiere un \"salto quantico\" per l'azienda. Col tempo, le persone hanno capito che questo approccio non funziona quasi mai, poich\u00e9 non tutti i dati che arrivano in mano a tali specialisti sono adatti per addestrare modelli. <\/p>\n<p>E cominciarono le richieste da parte dei Data Scientist: \u00abCompriamo ancora dati da questi e da quelli...\u00bb, \u00abCi mancano i dati\u2026\u00bb, \u00abServono ancora un po' di dati, meglio se di qualit\u00e0\u2026\u00bb. Sulla base di queste richieste, iniziarono a formarsi numerose interazioni tra le aziende che possedevano vari set di dati. Naturalmente, questo richiese un'organizzazione tecnica di questo processo: collegarsi alla fonte dei dati, estrarli, verificare che fossero caricati per intero, ecc. Il numero di tali processi inizi\u00f2 a crescere e ai giorni nostri abbiamo ottenuto un'enorme richiesta di un altro tipo di specialisti: ingegneri per la qualit\u00e0 dei dati \u2014 coloro che monitorerebbero il flusso di dati nel sistema (data pipelines), la qualit\u00e0 dei dati in ingresso e in uscita, estraendo conclusioni sulla loro sufficienza, integrit\u00e0 e altre caratteristiche. <\/p>\n<p>La tendenza verso gli ingegneri della Data Quality ci \u00e8 giunta dagli Stati Uniti, dove nel pieno dell'era capitalista, nessuno \u00e8 pronto a perdere la battaglia per i dati. Di seguito ho presentato degli screenshot di due dei siti di ricerca lavoro pi\u00f9 popolari negli Stati Uniti: <noindex><a rel=\"nofollow\" href=\"https:\/\/www.monster.com\">www.monster.com<\/a><\/noindex> e <noindex><a rel=\"nofollow\" href=\"https:\/\/www.dice.com\">www.dice.com<\/a><\/noindex> \u2014 sui quali sono visualizzati i dati aggiornati al 17 marzo 2020 riguardo al numero di offerte di lavoro pubblicate, a partire dalle parole chiave: Data Quality e 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 offerte di lavoro<br \/>\nData Quality \u2013 41104 offerte di lavoro<\/p>\n<p><img decoding=\"async\" alt=\"Tester di big e small data: tendenze, teoria, la mia storia\" src=\"\/wp-content\/uploads\/2020\/04\/8578f2d1e600791e166ed6e8a7068015.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Tester di big e small data: tendenze, teoria, la mia storia\" 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 offerte di lavoro<br \/>\nData Quality \u2013 2020 offerte di lavoro<\/p>\n<p><img decoding=\"async\" alt=\"Tester di big e small data: tendenze, teoria, la mia storia\" src=\"\/wp-content\/uploads\/2020\/04\/b35a9b423ba4bef8736659580e3c281e.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<img decoding=\"async\" alt=\"Tester di big e small data: tendenze, teoria, la mia storia\" src=\"\/wp-content\/uploads\/2020\/04\/2c29b83bbe2361089de5a0ab65017300.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>\n\u00c8 evidente che queste professioni non competono in alcun modo l'una con l'altra. Gli screenshot sono stati utilizzati solo per illustrare la situazione attuale del mercato del lavoro per quanto riguarda la domanda di ingegneri della Data Quality, di cui c'\u00e8 attualmente una richiesta molto maggiore rispetto ai Data Scientists. <\/p>\n<p>Nel giugno 2019, EPAM, rispondendo alle esigenze del moderno mercato IT, ha separato la pratica della Data Quality in un'area specifica. Gli ingegneri della Data Quality, nel corso della loro attivit\u00e0 quotidiana, gestiscono i dati, ne verificano il comportamento in nuove condizioni e sistemi, controllano la rilevanza dei dati, la loro sufficienza e attualit\u00e0. Nonostante ci\u00f2, in senso pratico, gli ingegneri della Data Quality dedicano effettivamente poco tempo ai test funzionali classici, <u>MA<\/u> questo dipende molto dal progetto (un esempio lo presenter\u00f2 in seguito). <\/p>\n<p>Le responsabilit\u00e0 di un ingegnere Data Quality non si limitano solo a controlli manuali o automatici di routine su \u00abnulls, count e sums\u00bb nelle tabelle del database, ma richiedono una profonda comprensione delle esigenze aziendali del cliente e, di conseguenza, la capacit\u00e0 di trasformare i dati disponibili in informazioni utili per il business. <\/p>\n<h2>Teoria della Data Quality<\/h2>\n<p>\n<img decoding=\"async\" alt=\"Tester di big e small data: tendenze, teoria, la mia storia\" src=\"\/wp-content\/uploads\/2020\/04\/d920a7a0435d6f3a1eb84fc16221c742.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p>Per avere un'idea pi\u00f9 completa del ruolo di un ingegnere di questo tipo, vediamo cos'\u00e8 la Data Quality in teoria. <\/p>\n<p><b>Data Quality<\/b> \u00e8 una delle fasi della Data Management (un intero mondo che vi lasceremo esplorare autonomamente) e si occupa dell'analisi dei dati secondo i seguenti criteri: <\/p>\n<p><img decoding=\"async\" alt=\"Tester di big e small data: tendenze, teoria, la mia storia\" src=\"\/wp-content\/uploads\/2020\/04\/8f5e75bad69e3cb589cc0e1104ad946f.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nNon credo sia necessario decifrare ciascun punto (in teoria chiamati \u00abdata dimensions\u00bb), sono ben descritti nell'immagine. Tuttavia, il processo di test non implica una copia rigorosa di queste caratteristiche nei test-case e la loro verifica. Nella Data Quality, come in qualsiasi altro tipo di test, \u00e8 fondamentale partire dai requisiti di qualit\u00e0 dei dati concordati con i partecipanti al progetto che prendono decisioni aziendali. <\/p>\n<p><\/p>\n<blockquote><p>A seconda del progetto, un ingegnere Data Quality pu\u00f2 svolgere diverse funzioni: da semplice tester automatizzato con una valutazione superficiale della qualit\u00e0 dei dati, fino a una persona che conduce un profilo approfondito secondo le caratteristiche sopra indicate. <\/p><\/blockquote>\n<p>Una descrizione molto dettagliata dei processi di Data Management, Data Quality e correlati \u00e8 ben descritta nel libro intitolato <i>\u00abDAMA-DMBOK: Data Management Body of Knowledge: 2nd Edition\u00bb<\/i>. Raccomando vivamente questo libro come introduzione a questo tema (trovate il link alla fine dell'articolo).<\/p>\n<h2>La mia storia<\/h2>\n<p>\nNell'industria IT sono passato da Junior tester in aziende di prodotto a Lead Data Quality Engineer nella societ\u00e0 EPAM. Gi\u00e0 dopo circa due anni di lavoro come tester, ero fermamente convinto di aver svolto tutti i tipi di test: regressione, funzionale, stress, stabilit\u00e0, sicurezza, UI, ecc. \u2014 e ho provato un gran numero di strumenti di testing, lavorando nel frattempo in tre linguaggi di programmazione: Java, Scala, Python. <\/p>\n<p><\/p>\n<blockquote><p>Guardando indietro, capisco perch\u00e9 il mio insieme di competenze professionali sia cos\u00ec vario: ho partecipato a progetti legati alla gestione dei dati, grandi e piccoli. \u00c8 proprio questo che mi ha portato nel mondo di un gran numero di strumenti e opportunit\u00e0 di crescita.<\/p><\/blockquote>\n<p>Per apprezzare la variet\u00e0 degli strumenti e delle opportunit\u00e0 di acquisire nuove conoscenze e abilit\u00e0, basta dare un'occhiata all'immagine qui sotto, che mostra i pi\u00f9 popolari nel mondo di \u00abData &amp; AI\u00bb.<\/p>\n<p><img decoding=\"async\" alt=\"Tester di big e small data: tendenze, teoria, la mia storia\" src=\"\/wp-content\/uploads\/2020\/04\/e3278694195bf59b44055e1eaafd62b1.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nQuesto tipo di illustrazioni \u00e8 realizzato ogni anno da uno dei noti investitori di venture capital, Matt Turck, proveniente dallo sviluppo software. Ecco <noindex><a rel=\"nofollow\" href=\"https:\/\/mattturck.com\">link<\/a><\/noindex> al suo blog e <noindex><a rel=\"nofollow\" href=\"https:\/\/firstmarkcap.com\/team\/matt-turck\">alla sua azienda di venture capital<\/a><\/noindex>, dove lavora come partner. <\/p>\n<p>Ho avuto una crescita professionale particolarmente rapida quando ero l'unico tester in un progetto, o almeno all'inizio del progetto. In quel momento si \u00e8 responsabile dell'intero processo di test e non si ha modo di fare marcia indietro, solo di andare avanti. Inizialmente questo era spaventoso, ma ora mi sono chiare tutte le posizioni positive di tale prova: <\/p>\n<ul>\n<li>Inizi a comunicare con tutto il team come mai prima d'ora, poich\u00e9 non c'\u00e8 alcun intermediario per le comunicazioni: n\u00e9 test manager, n\u00e9 colleghi tester. <\/li>\n<li>L'immersione nel progetto diventa incredibilmente profonda e hai una padronanza delle informazioni su tutti i componenti, sia in generale che nei dettagli. <\/li>\n<li>Gli sviluppatori non ti vedono come \u00abquello del testing che non sa che cosa fare\u00bb, ma piuttosto come un pari che produce un'incredibile utilit\u00e0 per il team con i suoi test automatici e la sua capacit\u00e0 di prevedere l'emergere di bug in un nodo specifico del prodotto. <\/li>\n<li>Come risultato, sei pi\u00f9 efficace, pi\u00f9 qualificato, pi\u00f9 richiesto. <\/li>\n<\/ul>\n<p>\nCon l'espansione del progetto, nel 100% dei casi sono diventato mentore per i nuovi tester che vi si univano, formando e trasmettendo loro le conoscenze che avevo acquisito. Tuttavia, a seconda del progetto, non sempre ricevevo dallo management specialisti di automazione dei test di altissimo livello e c'era necessit\u00e0 di formare anche loro all'automazione (per chi era interessato), oppure di creare strumenti per aiutarli nelle loro attivit\u00e0 quotidiane (strumenti per la generazione di dati e il loro caricamento nel sistema, strumenti per effettuare test di carico\/stabilit\u00e0 \"rapidamente\", ecc.). <\/p>\n<h3>Esempio di un progetto specifico<\/h3>\n<p>\nSfortunatamente, a causa degli obblighi di riservatezza, non posso parlare in dettaglio dei progetti su cui ho lavorato, ma fornir\u00f2 esempi di compiti tipici di un Data Quality Engineer in uno di essi. <\/p>\n<p>L'obiettivo del progetto era implementare una piattaforma per la preparazione dei dati da cui generare modelli di machine learning. Il committente era una grande azienda farmaceutica degli Stati Uniti. Tecnicamente, si trattava di un cluster <noindex><a rel=\"nofollow\" href=\"https:\/\/kubernetes.io\">Kubernetes<\/a><\/noindex>, in esecuzione su <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/ru\/ec2\">AWS EC2<\/a><\/noindex> istanze, con diversi microservizi e basato su un progetto Open Source della compagnia EPAM \u2014 <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/legion-platform\/legion\">Legion<\/a><\/noindex>, adattato alle esigenze del specifico committente (ora il progetto \u00e8 evoluto in <noindex><a rel=\"nofollow\" href=\"https:\/\/github.com\/odahu\/odahu-flow\">odahu<\/a><\/noindex>). I processi ETL sono stati organizzati utilizzando <noindex><a rel=\"nofollow\" href=\"https:\/\/airflow.apache.org\">Apache Airflow<\/a><\/noindex> e spostavano i dati dal <noindex><a rel=\"nofollow\" href=\"https:\/\/www.salesforce.com\">sistema SalesForce del committente in<\/a><\/noindex> Buckets AWS S3. Successivamente, un'immagine Docker del modello di machine learning veniva distribuita sulla piattaforma, la quale si addestrava con dati freschi e forniva previsioni tramite l'interfaccia REST API, rispondendo alle esigenze del business e risolvendo problemi specifici. <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/ru\/s3\/?nc1=h_ls\">AWS S3<\/a><\/noindex> Buckets. Visivamente, tutto appariva approssimativamente in questo modo: <\/p>\n<p><b>Il testing funzionale in questo progetto era abbondante, e considerando la velocit\u00e0 di sviluppo delle funzionalit\u00e0 e la necessit\u00e0 di mantenere il ritmo del ciclo di rilascio (sprint di due settimane), era indispensabile iniziare a pensare all'automazione del testing dei punti pi\u00f9 critici del sistema. La maggior parte della piattaforma stessa, basata su Kubernetes, era coperta da test automatici, implementati su <\/b><\/p>\n<p><img decoding=\"async\" alt=\"Tester di big e small data: tendenze, teoria, la mia storia\" src=\"\/wp-content\/uploads\/2020\/04\/c2de3c1919f3f9ff29147fce09eb14c4.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\nRobot Framework <noindex><a rel=\"nofollow\" href=\"https:\/\/robotframework.org\/\">.<\/a><\/noindex> + Python, ma era necessario anche supportarli ed espanderli. Inoltre, per comodit\u00e0 del cliente, \u00e8 stato creato un GUI per gestire i modelli di machine learning implementati nel cluster, oltre alla possibilit\u00e0 di specificare da dove e verso dove \u00e8 necessario trasferire i dati per addestrare i modelli. Questo ampio supplemento ha portato all'espansione delle verifiche funzionali automatizzate, per la maggior parte effettuate tramite chiamate REST API e un numero ridotto di test UI end-to-end. Circa a met\u00e0 di tutto questo, si \u00e8 unito a noi un tester manuale che ha gestito bene i test di accettazione delle versioni del prodotto e la comunicazione con il cliente riguardo all'accettazione del prossimo rilascio. Inoltre, grazie all'arrivo di un nuovo specialista, siamo stati in grado di documentare il nostro lavoro e aggiungere alcune verifiche manuali molto importanti, che era difficile automatizzare subito. <\/p>\n<p>E infine, dopo aver raggiunto la stabilit\u00e0 della piattaforma e del GUI sopra di essa, abbiamo iniziato a costruire pipeline ETL utilizzando DAG di Apache Airflow. La verifica automatizzata della qualit\u00e0 dei dati \u00e8 stata effettuata scrivendo speciali DAG di Airflow che controllavano i dati in base ai risultati del processo ETL. In questo progetto siamo stati fortunati e il cliente ci ha fornito accesso a set di dati anonimizzati su cui abbiamo effettuato i nostri test. Abbiamo controllato i dati riga per riga per verificare la conformit\u00e0 ai tipi, la presenza di dati danneggiati, il numero totale di record prima e dopo, e il confronto delle trasformazioni effettuate dal processo ETL per aggregazione, modifica dei nomi delle colonne e altro ancora. Inoltre, queste verifiche sono state scalate su diverse fonti di dati, per esempio oltre a SalesForce anche su MySQL. <\/p>\n<p>Le verifiche della qualit\u00e0 finale dei dati sono state effettuate gi\u00e0 a livello di S3, dove venivano memorizzati e si trovavano in uno stato pronto all'uso per l'addestramento dei modelli di machine learning. Per ottenere i dati dal file CSV finale, situato nel bucket S3 e per la loro validazione, \u00e8 stato scritto un codice utilizzando <noindex><a rel=\"nofollow\" href=\"https:\/\/aws.amazon.com\/ru\/sdk-for-python\">il client boto3<\/a><\/noindex>. <\/p>\n<p>C'era anche una richiesta da parte del cliente per memorizzare parte dei dati in un bucket S3 e parte in un altro. Per questo \u00e8 stato necessario scrivere ulteriori verifiche che controllassero l'affidabilit\u00e0 di tale ordinamento. <\/p>\n<h3>Esperienza generale su altri progetti<\/h3>\n<p>\nEsempio dell'elenco pi\u00f9 generico delle attivit\u00e0 dell'ingegnere Data Quality: <\/p>\n<ul>\n<li>Preparare dati di test (validi non validi grandi piccoli) tramite uno strumento automatizzato. <\/li>\n<li>Caricare il set di dati preparato nella fonte originale e verificare la sua prontezza per l'uso. <\/li>\n<li>Avviare i processi ETL per l'elaborazione del set di dati dalla sorgente originale a quella finale o intermedia utilizzando un certo insieme di configurazioni (nel caso sia possibile impostare parametri configurabili per il compito ETL). <\/li>\n<li>Verificare i dati trattati tramite il processo ETL per la loro qualit\u00e0 e conformit\u00e0 ai requisiti aziendali. <\/li>\n<\/ul>\n<p>\nIn questo caso, l'accento principale delle verifiche dovrebbe non solo riguardare il fatto che il flusso di dati nel sistema sia andato a buon fine e sia giunto al termine (che fa parte del test funzionale), ma principalmente sulla verifica e convalida dei dati per la conformit\u00e0 ai requisiti attesi, l'identificazione di anomalie e altro. <\/p>\n<h3>Strumenti<\/h3>\n<p>\nUna delle tecniche per questo controllo dei dati potrebbe essere l'organizzazione di controlli a catena in ciascuna fase di elaborazione dei dati, noto in letteratura come \u00abdata chain\u00bb \u2014 il controllo dei dati dalla sorgente al punto di utilizzo finale. Questo tipo di controlli \u00e8 spesso realizzato scrivendo query SQL di verifica. \u00c8 chiaro che tali query devono essere il pi\u00f9 leggere possibile e verificare singoli pezzi di qualit\u00e0 dei dati (metadata delle tabelle, righe vuote, NULL, Errori di sintassi \u2014 altri attributi di verifica richiesti). <\/p>\n<p>Nel caso di test di regressione, in cui vengono utilizzati set di dati gi\u00e0 pronti (immutabili leggermente modificabili), nel codice dei test automatici possono essere archiviati gi\u00e0 pronti modelli di verifica dei dati per la conformit\u00e0 alla qualit\u00e0 (descrizioni dei metadata attesi delle tabelle; oggetti campionari che possono essere selezionati casualmente durante il test, e altro ancora). <\/p>\n<p>Inoltre, durante il test, \u00e8 necessario scrivere processi ETL di prova, utilizzando framework come Apache Airflow, <noindex><a rel=\"nofollow\" href=\"https:\/\/spark.apache.org\/\">Apache Spark<\/a><\/noindex> o addirittura strumenti cloud black-box tipo <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> e altro ancora. Questa circostanza costringe il test engineer ad approfondire i principi di funzionamento degli strumenti sopra menzionati, rendendo cos\u00ec pi\u00f9 efficace sia l'esecuzione dei test funzionali (ad esempio, degli ETL process esistenti nel progetto), sia l'utilizzo di questi strumenti per la verifica dei dati. In particolare, per Apache Airflow sono gi\u00e0 disponibili operatori pronti per lavorare con le popolari basi di dati analitiche, ad esempio <noindex><a rel=\"nofollow\" href=\"https:\/\/cloud.google.com\/bigquery\">GCP BigQuery<\/a><\/noindex>. Il pi\u00f9 semplice esempio di utilizzo \u00e8 gi\u00e0 descritto <noindex><a rel=\"nofollow\" href=\"https:\/\/medium.com\/@yuu.ishikawa\/apache-airflow-as-a-data-quality-checker-416ca7f5a3ad\">qui<\/a><\/noindex>, quindi non mi ripeter\u00f2. <\/p>\n<p>Oltre alle soluzioni pronte, nessuno vi vieta di implementare le vostre tecniche e strumenti. Questo non solo porter\u00e0 vantaggi al progetto, ma anche al Data Quality Engineer stesso, che in questo modo amplificher\u00e0 i suoi orizzonti tecnici e le sue abilit\u00e0 di codifica. <\/p>\n<h3>Come funziona in un progetto reale<\/h3>\n<p>\nUna buona illustrazione degli ultimi paragrafi su \"data chain\", ETL e verifiche onnipresenti \u00e8 il seguente processo preso da uno dei progetti reali: <\/p>\n<p><img decoding=\"async\" alt=\"Tester di big e small data: tendenze, teoria, la mia storia\" src=\"\/wp-content\/uploads\/2020\/04\/4a4cd3043b584bb3fbce4b9c3021e9f6.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nQui, nella \"funnel\" in ingresso del nostro sistema, entrano dati diversi (ovviamente preparati da noi): validi, non validi, misti, ecc.; poi vengono filtrati e arrivano in uno storage intermedio, quindi li aspetta una serie di trasformazioni prima di essere posizionati nello storage finale, da cui, a sua volta, sar\u00e0 effettuata l'analisi, la costruzione di data mart e la ricerca di business insights. In un sistema del genere, senza testare funzionalmente l'operato degli ETL process, ci concentriamo sulla qualit\u00e0 dei dati prima e dopo le trasformazioni, cos\u00ec come sull'output per l'analisi. <\/p>\n<p>Riassumendo quanto detto sopra, indipendentemente dai luoghi in cui ho lavorato, sono sempre stato coinvolto in progetti Data che condividevano le seguenti caratteristiche: <\/p>\n<ul>\n<li>Solo attraverso l'automazione si possono testare alcuni casi e raggiungere un ciclo di rilascio accettabile per il business. <\/li>\n<li>Il tester in un progetto di questo tipo \u00e8 uno dei membri pi\u00f9 rispettati del team, poich\u00e9 porta enormi vantaggi a ciascun partecipante (accelerazione dei test, dati di qualit\u00e0 per i Data Scientist, rilevazione di difetti nelle fasi iniziali). <\/li>\n<li>Non importa se lavori sulla tua macchina o nel cloud: tutte le risorse sono astratte in un cluster di tipo Hortonworks, Cloudera, Mesos, Kubernetes, ecc. <\/li>\n<li>I progetti sono costruiti su un approccio a microservizi, predominano i calcoli distribuiti e paralleli. <\/li>\n<\/ul>\n<p>\nVoglio sottolineare che, occupandomi di test nel campo della Qualit\u00e0 dei Dati, uno specialista dei test sposta il suo focus professionale sul codice del prodotto e sugli strumenti utilizzati. <\/p>\n<h3>Caratteristiche distintive del testing della Qualit\u00e0 dei Dati<\/h3>\n<p>\nInoltre, per me ho identificato le seguenti (vorrei precisare che sono MOLTO generalizzate e puramente soggettive) caratteristiche distintive del testing in progetti (sistemi) Data (Big Data) e in altri ambiti: <\/p>\n<p><img decoding=\"async\" alt=\"Tester di big e small data: tendenze, teoria, la mia storia\" src=\"\/wp-content\/uploads\/2020\/04\/8df52fbae2998e70755bf84e254db83e.jpg\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<h2>Link utili<\/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: 2\u00aa Edizione<\/a><\/noindex>.<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/training.ru\/#!\/Home?lang=ru\">Centro di formazione<\/a><\/noindex>&nbsp;EPAM&nbsp;<\/li>\n<li>Materiali consigliati per un ingegnere per la qualit\u00e0 dei dati alle prime armi:\n<ol>\n<li>Corso gratuito su Stepik:&nbsp;<noindex><a rel=\"nofollow\" href=\"https:\/\/stepik.org\/course\/551\/syllabus\">Introduzione ai database<\/a><\/noindex>.&nbsp;<\/li>\n<li>Corso su LinkedIn Learning:&nbsp;<noindex><a rel=\"nofollow\" href=\"https:\/\/www.linkedin.com\/learning\/data-science-foundations-data-engineering\/welcome\">Data Science Foundations: Data Engineering<\/a><\/noindex>.<\/li>\n<li>Articoli:\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.stickyminds.com\/article\/business-intelligence-and-data-quality\">Business Intelligence e Qualit\u00e0 dei Dati<\/a><\/noindex>;&nbsp;<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.datagaps.com\/concepts\/etl-testing\">Testing ETL<\/a><\/noindex>;&nbsp;<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/panoply.io\/analytics-stack-guide\/data-profiling-best-practices\">Che cos'\u00e8 il Profiling dei Dati? Processo, Migliori Pratiche e Strumenti<\/a><\/noindex>;&nbsp;<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.guru99.com\/software-testing-test-data.html\">Generazione dei Dati di Test: Che cosa \u00e8, Come fare, Esempio, Strumenti;&nbsp;<\/a><\/noindex><\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.testbytes.net\/blog\/5-test-data-generation-techniques-to-know\">5 Tecniche di Generazione dei Dati di Test che Devi Conoscere.<\/a><\/noindex>&nbsp;<\/li>\n<\/ul>\n<\/li>\n<li>Video:\n<ul>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=HWaBdqmTqEA\">Concetti di Qualit\u00e0 dei Dati | Tutorial sulla Qualit\u00e0 dei Dati | Tutorial sul Data Warehousing<\/a><\/noindex>;<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=avDqzhuHFkw\">Profiling dei Dati utilizzando SSIS<\/a><\/noindex>;<\/li>\n<li><noindex><a rel=\"nofollow\" href=\"https:\/\/www.youtube.com\/watch?v=r7SF5WldITk\">Profiling dei Dati e Elaborazione di Pipeline con Spark.<\/a><\/noindex><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<p><\/p>\n<h2>Conclusione<\/h2>\n<p>\n<b>Data Quality<\/b> \u2014 \u00e8 un campo molto giovane e promettente, farne parte significa essere parte di una sorta di startup. Entrando nella Qualit\u00e0 dei Dati, ti immergerai in una grande quantit\u00e0 di tecnologie moderne richieste, ma soprattutto \u2014 si apriranno immense opportunit\u00e0 per generare e realizzare le tue idee. Potrai applicare un approccio di miglioramento continuo non solo nel progetto, ma anche per te stesso, sviluppandoti continuamente come professionista.<br \/>\n<br \/>Fonte: <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\/it\/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=\"it_IT\" \/>\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\/it\/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 di grandi e piccoli dati: tendenze, teoria, la mia storia | ProHoster","description":"Ciao a tutti, mi chiamo Alessandro e sono un ingegnere di Qualit\u00e0 dei Dati, che si occupa della verifica dei dati in termini di qualit\u00e0.","canonical_url":"https:\/\/prohoster.info\/it\/blog\/administrirovanie\/testirovshhik-bolshih-i-malenkih-dannyh-trendy-teoriya-moya-istoriya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"it_IT","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\/it\/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\/it\/wp-json\/wp\/v2\/posts\/77180","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/comments?post=77180"}],"version-history":[{"count":0,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/posts\/77180\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media\/77181"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/media?parent=77180"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/categories?post=77180"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/it\/wp-json\/wp\/v2\/tags?post=77180"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}