Programovanie

Ako overiť údaje, analýzy a vizualizácie údajov

Testovanie aplikácií je zrejmá disciplína s nástrojmi, ktoré pomáhajú tímom zabezpečujúcim kvalitu vyvíjať a automatizovať funkčné testy, spúšťať testy zaťaženia a výkonu, vykonávať statickú analýzu kódu, zabaľovať API pomocou testov jednotiek a overovať aplikácie podľa známych bezpečnostných problémov. Tímy praktizujúce devops môžu implementovať nepretržité testovanie zahrnutím všetkých alebo podmnožiny svojich automatizovaných testov do svojich potrubí CI / CD a pomocou výsledkov určiť, či by sa zostavenie malo dodať do cieľového prostredia.

Všetky tieto testovacie schopnosti však môžu ľahko ignorovať jednu rozhodujúcu sadu testov, ktorá je rozhodujúca pre každú aplikáciu, ktorá spracúva alebo prezentuje údaje, analýzy alebo vizualizácie údajov.

Sú údaje presné a sú analytické údaje platné? Zobrazujú vizualizácie údajov výsledky, ktoré majú znalci predmetu zmysel? Keď tím ďalej vylepšuje dátové kanály a databázy, ako by mal zabezpečiť, aby zmeny nepoškodili následnú aplikáciu alebo informačný panel?

Podľa mojich skúseností s vývojom aplikácií bohatých na dáta a analytiku je tento typ testovania a overovania často druhou myšlienkou v porovnaní s testovaním jednotiek, funkcií, výkonu a bezpečnosti. Je to tiež ťažší súbor testovacích kritérií, ktoré je potrebné vykonať z niekoľkých dôvodov:

  • Overovanie údajov a analýz je ťažké pre vývojárov, testerov a dátových vedcov, ktorí zvyčajne nie sú odborníkmi na danú problematiku, najmä pokiaľ ide o to, ako sa dashboardy a aplikácie používajú na vývoj poznatkov alebo podporu rozhodovania.
  • Samotné údaje sú nedokonalé a majú známe a často neznáme problémy s kvalitou údajov.
  • Pokus o zachytenie overovacích pravidiel nie je triviálny, pretože na väčšinu údajov sa často vzťahujú spoločné pravidlá, ktoré nasledujú pre rôzne typy odľahlých hodnôt. Pokus o zachytenie a kódovanie týchto pravidiel môže byť pre aplikácie a vizualizácie údajov, ktoré spracúvajú veľké objemy komplexných súborov údajov, zložitým a zložitým návrhom.
  • Aktívne organizácie založené na dátach načítavajú nové súbory údajov a vyvíjajú dátové kanály s cieľom vylepšiť analytiku a rozhodovanie.
  • Systémy na spracovanie údajov sú často zložité a obsahujú rôzne nástroje na integráciu, správu, spracovanie, modelovanie a poskytovanie výsledkov.

Prvýkrát tímy prezentujú zúčastneným stranám zlé údaje alebo neplatnú analýzu. Spravidla je to prvé budenie, ktoré vyžaduje ich postupy a nástroje na proaktívne testovanie, diagnostiku a aktívne riešenie týchto problémov s údajmi.

Pochopenie počtu údajov a kvality údajov

Problémy s dátami je najlepšie riešiť pri ich zdrojoch a prostredníctvom rôznych transformácií údajov vykonávaných pri načítaní a spracovaní údajov. Ak majú zdrojové údaje nové problémy s kvalitou údajov alebo ak došlo k chybám zavedeným do dátového kanálu, je oveľa efektívnejšie ich identifikovať a vyriešiť na začiatku procesu spracovania údajov.

S týmito problémami pomáhajú dva postupy a súvisiace nástroje. Oba umožňujú vývojovým a dátovým tímom identifikovať problémy s údajmi skôr, ako sa dostanú k následným vizualizáciám údajov a aplikáciám.

Prvý postup zahŕňa nástroje na kvalitu údajov, ktoré sú často doplnkovými funkciami na extrahovanie, transformáciu a načítanie (ETL), ako aj niektoré nástroje na prípravu údajov. Nástroje na zabezpečenie kvality údajov slúžia na rôzne účely, ale jedna vec, ktorú môžu urobiť, je identifikovať a opraviť známe problémy s údajmi. Niektoré opravy je možné automatizovať, iné možno označiť ako výnimky a odoslať ich správcom údajov, aby ich opravili manuálne alebo aktualizovali pravidlá čistenia.

Spoločnosti Informatica, Talend, IBM, Oracle, Microsoft a mnoho ďalších ponúkajú nástroje na kvalitu údajov, ktoré sa pripájajú k ich platformám ETL, zatiaľ čo nástroje na prípravu údajov od spoločností Tableau, Alteryx, Paxata, Trifacta a ďalších majú možnosti kvality údajov.

Druhým postupom je dátová línia. Zatiaľ čo kvalita údajov pomáha identifikovať problémy s údajmi, línia údajov je súbor postupov a nástrojov, ktoré sledujú zmeny údajov a základné implementácie. Pomáhajú používateľom pochopiť, kde v životnom cykle údajov je implementovaná transformácia, výpočet alebo iná manipulácia s údajmi. Nástroje, zostavy a dokumentáciu údajovovej línie je potom možné použiť na vysledovanie späť do dátového toku a pomôcť presne určiť, kde v toku údajov bola zavedená chyba alebo iný problém.

Používanie zlatých súborov údajov na overenie vizualizácií údajov

Analytics, informačné panely a vizualizácie údajov nefungujú na zdrojoch statických údajov. Údaje sa menia určitou rýchlosťou a vývojári a vedci v oblasti údajov môžu súčasne upravovať základné dátové toky, algoritmy a vizualizácie. Keď sa pozeráte na informačný panel, je ťažké oddeliť, či je neočakávaný problém s údajmi spôsobený programovou zmenou alebo či súvisí so zmenami v kvalite údajov alebo údajov.

Jedným zo spôsobov, ako izolovať zmeny, je oddeliť známe zlatámnožina údajov, ktorá pomáha overiť zmeny toku údajov, aplikácií a vizualizácie údajov. Pomocou súboru zlatých údajov môže testovací tím definovať jednotkové, funkčné a výkonnostné testy na overenie a porovnanie výstupov. Testéri môžu spustiť testy A / B, kde A je výstup pred zavedením implementačných zmien a B je výstup po vykonaní zmien. Test by mal zobraziť iba rozdiely vo výstupe v očakávaných oblastiach, kde boli zmenené dátové toky, modely, analytika, obchodná logika alebo vizualizácie.

Aj keď sa jedná o pomerne jednoduchý koncept, jeho implementácia nie je triviálna.

Najskôr musia tímy vytvoriť zlaté súbory údajov a rozhodnúť sa, aký objem a rozmanitosť údajov predstavuje komplexnú sadu vzoriek na testovanie. Môže tiež vyžadovať viac súborov údajov, aby pomohla overiť rôzne segmenty údajov, okrajové podmienky alebo analytické modely. Jedným z nástrojov, ktorý môže pomôcť tímom pri správe testovacích údajov, je Delphix pre správu testovacích údajov; túto možnosť ponúkajú aj ďalší predajcovia.

Po druhé, po vytvorení zlatých súborov údajov môžu testovacie tímy vyžadovať ďalšie prostredia alebo nástroje na prepínanie základných zdrojov údajov v ich prostrediach. Testeri môžu napríklad chcieť otestovať porovnanie so zlatými súbormi údajov a potom druhýkrát spustiť údaje, ktoré sú replikou produkčných údajov. Tímy fungujúce v cloudových prostrediach a využívajúce nástroje infraštruktúry ako kód, ako sú Puppet, Chef a Ansible, môžu skonštruovať a zbúrať viacero testovacích prostredí na tieto rôzne účely.

A nakoniec, testovacie tímy potrebujú nástroje na implementáciu A / B testovania údajov a výsledkov. Mnoho tímov, ktoré poznám, to robí ručne tak, že napíšu dotazy SQL a potom porovnajú výsledky. Ak sú súbory údajov a testy jednoduché, môže byť tento prístup postačujúci. Ak je však potrebné otestovať viac bodov v toku údajov, pravdepodobne budete potrebovať vyhradené nástroje na centralizáciu testovacích dotazov, ich automatizáciu a použitie správ na overenie zmien. Jeden nástroj, QuerySurge, je špeciálne navrhnutý na implementáciu A / B testovania proti dátovým tokom, databázam a niektorým nástrojom business intelligence.

Efektívna práca s odborníkmi na danú tému

V určitom okamihu musíte zapojiť odborníkov na predmet, aby používali nové a aktualizované vizualizácie údajov a poskytovali spätnú väzbu. Musia pomôcť odpovedať na otázky, či je analýza platná a užitočná na získanie poznatkov alebo pomoc pri rozhodovaní na základe údajov.

Problémom, s ktorým sa veľa tímov stretáva, je získanie dostatočného času od odborníkov na danú tému na účasť na tomto testovaní. To môže byť významná výzva pri pokuse o časté testovanie a nasadenie zmien.

Aby ste svoj čas využili efektívne, odporúčam tri samostatné aktivity:

  • Implementujte čo najviac kvality údajov, počtu údajov a testovania A / B do zlatých súborov údajov. Predtým, ako zapojíte odborníkov na predmet, sa primerane snažte overiť, či sú nespracované a vypočítané údaje správne. Je potrebné to robiť s istotou, aby ste expertom na predmet mohli vysvetliť a ideálne ilustrovať, že podkladové dáta, transformácie a výpočty sú presné - môžete si byť istí, že na ich manuálne testovanie nie je potrebné investovať veľa času.
  • Navrhnite vizualizácie údajov, ktoré pomôžu odborníkom pri kontrole a overovaní údajov a analýz. Niektoré vizualizácie môžu byť výstupmi z A / B testov, zatiaľ čo iné by mali byť vizualizáciami, ktoré vystavujú údaje na nízkej úrovni. Pri implementácii rozsiahlejších údajov, zmien algoritmov, modelov alebo vizualizácií často pomáha mať tieto vizualizácie údajov kontroly kvality pripravené na to, aby pomohli odborníkom v odbore vykonať rýchle overenia.
  • Chcete, aby odborníci na predmet vykonali používateľské testovanie (UAT) na finálnych aplikáciách a vizualizáciách údajov. V čase, keď dosiahnu tento krok, by mali mať úplnú istotu, že údaje a analýzy sú platné.

Tento posledný krok je potrebný na zistenie, či sú vizualizácie efektívne pri skúmaní údajov a zodpovedaní otázok: Je vizualizácia ľahko použiteľná? Sú k dispozícii správne rozmery na vŕtanie údajov? Pomáha vizualizácia úspešne odpovedať na otázky, na ktoré bola navrhnutá?

V tomto bode procesu testujete používateľskú skúsenosť a zaisťujete optimalizáciu informačných panelov a aplikácií. Tento kritický krok je možné vykonať oveľa efektívnejšie, ak dôjde k porozumeniu a dôvere v podkladové údaje a analýzy.

$config[zx-auto] not found$config[zx-overlay] not found