Tester data gedhe lan cilik: tren, teori, critaku

Halo kabeh, jenengku Alexander, lan aku insinyur Kualitas Data sing mriksa kualitas data. Artikel iki bakal ngomong babagan carane aku teka lan kenapa ing 2020 area tes iki ana ing puncak gelombang.

Tester data gedhe lan cilik: tren, teori, critaku

tren global

Donya saiki ngalami revolusi teknologi liyane, salah sawijining aspek yaiku panggunaan data akumulasi dening kabeh jinis perusahaan kanggo promosi flywheel dodolan, bathi lan PR dhewe. Kayane anane data (kualitas) sing apik, uga otak sing trampil sing bisa ngasilake dhuwit (ngolah kanthi bener, nggambarake, mbangun model pembelajaran mesin, lan liya-liyane), wis dadi kunci sukses kanggo akeh wong saiki. Yen 15-20 taun kepungkur, perusahaan gedhe utamane melu kerja intensif kanthi akumulasi data lan monetisasi, saiki iki meh kabeh wong waras.

Ing babagan iki, sawetara taun kepungkur, kabeh portal sing darmabakti kanggo panelusuran kerja ing saindenging jagad wiwit diisi lowongan kanggo Ilmuwan Data, amarga kabeh wong yakin manawa, sawise nyewa spesialis kasebut, bisa uga nggawe supermodel pembelajaran mesin. , prédhiksi masa depan lan nindakake "kabisat kuantum" kanggo perusahaan. Sajrone wektu, wong nyadari yen pendekatan iki meh ora bisa digunakake ing ngendi wae, amarga ora kabeh data sing ana ing tangan spesialis kasebut cocok kanggo model latihan.

Lan panjaluk saka Ilmuwan Data wiwit: "Ayo tuku luwih akeh data saka iki lan sing ...", "We don't have enough data...", "We need some more data, better one high quality..." . Adhedhasar panjaluk kasebut, akeh interaksi wiwit dibangun ing antarane perusahaan sing duwe siji utawa liyane set data. Alami, iki mbutuhake organisasi teknis proses iki - nyambungake menyang sumber data, ngundhuh, mriksa manawa dimuat kanthi lengkap, lan liya-liyane. spesialis - Insinyur Kualitas Data - sing bakal ngawasi aliran data ing sistem (pipeline data), kualitas data ing input lan output, lan nggawe kesimpulan babagan kecukupan, integritas lan karakteristik liyane.

Tren insinyur Kualitas Data teka saka Amerika Serikat, ing ngendi, ing tengah-tengah jaman kapitalisme, ora ana sing siap kalah perang kanggo data. Ing ngisor iki aku wis nyedhiyakake gambar saka rong situs panelusuran proyek sing paling populer ing AS: www.monster.com и www.dice.com - sing nampilake data tanggal 17 Maret 2020 babagan jumlah lowongan sing dikirim kanthi nggunakake tembung kunci: Kualitas Data lan Ilmuwan Data.

www.monster.com

Ilmuwan Data - 21416 lowongan
Kualitas Data - 41104 lowongan

Tester data gedhe lan cilik: tren, teori, critaku
Tester data gedhe lan cilik: tren, teori, critaku

www.dice.com

Ilmuwan Data - 404 lowongan
Kualitas Data - lowongan 2020

Tester data gedhe lan cilik: tren, teori, critaku
Tester data gedhe lan cilik: tren, teori, critaku

Temenan, profesi kasebut ora saingan karo siji liyane. Kanthi gambar, aku mung pengin nggambarake kahanan saiki ing pasar tenaga kerja babagan panjaluk insinyur Kualitas Data, sing saiki luwih akeh dibutuhake tinimbang Ilmuwan Data.

Ing wulan Juni 2019, EPAM, nanggapi kabutuhan pasar IT modern, misahake Kualitas Data dadi praktik sing kapisah. Insinyur Kualitas Data, sajrone karya saben dinane, ngatur data, mriksa prilaku ing kahanan lan sistem anyar, ngawasi relevansi data, kecukupan lan relevansi. Kanthi kabeh iki, ing pangertèn praktis, insinyur Kualitas Data pancene mung nyawisake wektu kanggo tes fungsional klasik, Nanging iki banget gumantung ing project (Aku bakal menehi conto ing ngisor iki).

Tanggung jawab insinyur Kualitas Data ora mung diwatesi kanggo mriksa manual / otomatis rutin kanggo "nulls, counts and sums" ing tabel database, nanging mbutuhake pangerten sing jero babagan kabutuhan bisnis pelanggan lan, kanthi mangkono, kemampuan kanggo ngowahi data sing kasedhiya dadi. informasi bisnis migunani.

Teori Kualitas Data

Tester data gedhe lan cilik: tren, teori, critaku

Supaya luwih mbayangake peran insinyur kasebut, ayo ngerteni apa Kualitas Data ing teori.

Kualitas Data - salah sawijining tahapan Manajemen Data (donya kabeh sing bakal ditinggalake kanggo sampeyan sinau dhewe) lan tanggung jawab kanggo nganalisa data miturut kritéria ing ngisor iki:

Tester data gedhe lan cilik: tren, teori, critaku
Aku ora perlu kanggo decipher saben TCTerms (ing teori padha disebut "dimensi data"), padha cukup uga diterangake ing gambar. Nanging proses tes kasebut dhewe ora ateges nyalin fitur kasebut kanthi ketat menyang kasus tes lan mriksa. Ing Kualitas Data, kaya ing jinis tes liyane, perlu, pisanan kabeh, kanggo mbangun syarat kualitas data sing disepakati karo peserta proyek sing nggawe keputusan bisnis.

Gumantung ing proyek Kualitas Data, insinyur bisa nindakake macem-macem fungsi: saka tester otomatisasi biasa kanthi penilaian kualitas data sing entheng, nganti wong sing nindakake profil data sing jero miturut kritéria ing ndhuwur.

Katrangan rinci babagan Manajemen Data, Kualitas Data lan proses sing gegandhengan uga diterangake ing buku kasebut "DAMA-DMBOK: Data Management Body of Knowledge: 2nd Edition". Aku banget nyaranake buku iki minangka introduksi kanggo topik iki (sampeyan bakal nemokake link menyang mburi artikel).

riwayatku

Ing industri IT, aku kerja munggah saka tester Junior ing perusahaan produk dadi Lead Data Quality Engineer ing EPAM. Sawise kira-kira rong taun kerja minangka tester, aku yakin manawa aku wis nindakake kabeh jinis tes: kemunduran, fungsional, stres, stabilitas, keamanan, UI, lan sapiturute - lan nyoba macem-macem alat uji coba. makarya bebarengan ing telung basa program: Jawa, Scala, Python.

Nggolek maneh, aku ngerti sebabe set skillku maneka warna-aku melu proyek sing didhukung data, gedhe lan cilik. Iki sing nggawa aku menyang jagad sing akeh alat lan kesempatan kanggo tuwuh.

Kanggo ngapresiasi macem-macem alat lan kesempatan kanggo entuk kawruh lan katrampilan anyar, deleng gambar ing ngisor iki, sing nuduhake sing paling populer ing jagad "Data & AI".

Tester data gedhe lan cilik: tren, teori, critaku
Ilustrasi kaya iki disusun saben taun dening salah sawijining kapitalis ventura terkenal Matt Turck, sing asale saka pangembangan piranti lunak. kene pranala menyang blog lan perusahaan modal ventura, ing ngendi dheweke kerja minangka mitra.

Aku tansaya profesional utamané cepet nalika aku mung tester ing project, utawa ing paling ing awal project. Ing wayahe sampeyan kudu tanggung jawab kanggo kabeh proses testing, lan sampeyan ora duwe kesempatan kanggo mundur, mung maju. Wiwitane medeni, nanging saiki kabeh kaluwihan saka tes kasebut jelas kanggo aku:

  • Sampeyan wiwit komunikasi karo kabeh tim kaya sadurunge, amarga ora ana proxy kanggo komunikasi: ora manager test utawa fellow penguji.
  • Kecemplung ing proyek kasebut dadi jero banget, lan sampeyan duwe informasi babagan kabeh komponen, umume lan rinci.
  • Pangembang ora nganggep sampeyan minangka "wong saka tes sing ora ngerti apa sing ditindakake," nanging minangka padha sing ngasilake keuntungan sing luar biasa kanggo tim kanthi tes otomatis lan antisipasi bug sing katon ing komponen tartamtu saka produk.
  • Akibaté, sampeyan luwih efektif, luwih qualified, lan luwih dikarepake.

Nalika proyek kasebut saya tambah akeh, ing 100% kasus, aku dadi mentor kanggo penguji anyar, mulang lan menehi kawruh sing wis daksinaoni dhewe. Ing wektu sing padha, gumantung saka proyek kasebut, aku ora tansah nampa spesialis tes otomatis tingkat paling dhuwur saka manajemen lan ana perlu kanggo nglatih wong-wong mau ing otomatisasi (kanggo sing kasengsem) utawa nggawe alat sing digunakake ing aktivitas saben dina (alat. kanggo ngasilake data lan ngemot menyang sistem , alat kanggo nindakake testing beban / testing stabilitas "cepet", etc.).

Conto proyek tartamtu

Sayange, amarga kewajiban non-pambocoran, aku ora bisa ngomong kanthi rinci babagan proyek sing aku kerjo, nanging aku bakal menehi conto tugas khas Engineer Kualitas Data ing salah sawijining proyek.

Inti saka proyek kasebut yaiku ngetrapake platform kanggo nyiapake data kanggo nglatih model pembelajaran mesin adhedhasar kasebut. Pelanggan kasebut minangka perusahaan farmasi gedhe saka AS. Secara teknis, iki minangka kluster Kubernetes, munggah menyang AWS EC2 contone, karo sawetara layanan mikro lan proyek Open Source dhasar saka EPAM - legion, dicocogake kanggo kabutuhan pelanggan tartamtu (saiki proyek wis lair maneh menyang odahu). Proses ETL diatur kanthi nggunakake aliran udara apache lan dipindhah data saka Salesforce sistem pelanggan ing AWS S3 ember. Sabanjure, gambar Docker saka model pembelajaran mesin disebarake ing platform, sing dilatih babagan data seger lan, nggunakake antarmuka REST API, ngasilake prediksi sing menarik kanggo bisnis lan ngrampungake masalah tartamtu.

Secara visual, kabeh katon kaya iki:

Tester data gedhe lan cilik: tren, teori, critaku
Ana akeh testing fungsional ing proyek iki, lan diwenehi kacepetan pangembangan fitur lan perlu kanggo njaga jangkah saka siklus release (sprints rong minggu), iku perlu kanggo langsung mikir bab ngotomatisasi testing saka komponen paling kritis. sistem. Umume platform basis Kubernetes dhewe dilindhungi dening tes otomatis sing ditindakake ing Kerangka Robot + Python, nanging uga perlu kanggo ndhukung lan nggedhekake. Kajaba iku, kanggo nyenengake pelanggan, GUI digawe kanggo ngatur model pembelajaran mesin sing disebarake ing kluster, uga kemampuan kanggo nemtokake ngendi lan ing ngendi data kudu ditransfer kanggo latihan model kasebut. Tambahan ekstensif iki mbutuhake ekspansi tes fungsional otomatis, sing biasane ditindakake liwat telpon REST API lan sawetara tes UI pungkasan-2-mburi. Ing sekitar khatulistiwa kabeh gerakan iki, kita digabung karo tester manual sing nindakake proyek sing apik banget karo tes acceptance versi produk lan sesambungan karo pelanggan babagan nampa release sabanjure. Kajaba iku, amarga tekane spesialis anyar, kita bisa nyathet karya kita lan nambah sawetara pamriksa manual sing penting banget sing angel ditindakake kanthi otomatis.

Lan pungkasane, sawise entuk stabilitas saka platform lan tambahan GUI, kita wiwit mbangun pipa ETL nggunakake Apache Airflow DAGs. Pemeriksa kualitas data otomatis ditindakake kanthi nulis DAG Aliran Udara khusus sing mriksa data adhedhasar asil proses ETL. Minangka bagéan saka proyek iki, kita padha begja lan customer menehi kita akses menyang set data anonim sing kita dites. Kita mriksa baris data kanthi baris kanggo tundhuk karo jinis, anané data sing rusak, jumlah total cathetan sadurunge lan sawise, perbandingan transformasi sing digawe dening proses ETL kanggo agregasi, ngganti jeneng kolom, lan liya-liyane. Kajaba iku, pamriksaan kasebut diskalakake menyang macem-macem sumber data, contone, saliyane SalesForce, uga MySQL.

Pemeriksa kualitas data pungkasan wis ditindakake ing tingkat S3, sing disimpen lan siap digunakake kanggo latihan model pembelajaran mesin. Kanggo njupuk data saka file CSV final sing ana ing S3 Bucket lan validasi, kode ditulis nggunakake boto3 klien.

Ana uga syarat saka customer kanggo nyimpen bagean data ing siji S3 Bucket lan bagean liyane. Iki uga mbutuhake nulis mriksa tambahan kanggo mriksa linuwih saka ngurutake kuwi.

Pengalaman umum saka proyek liyane

Conto dhaptar aktivitas paling umum saka insinyur Kualitas Data:

  • Siapke data test (valid invalid gedhe cilik) liwat alat otomatis.
  • Upload set data sing disiapake menyang sumber asli lan priksa manawa wis siyap digunakake.
  • Bukak pangolahan ETL kanggo ngolah sakumpulan data saka panyimpenan sumber menyang panyimpenan pungkasan utawa penengah nggunakake setelan tartamtu (yen bisa, nyetel paramèter sing bisa dikonfigurasi kanggo tugas ETL).
  • Verifikasi data sing diproses dening proses ETL kanggo kualitas lan tundhuk karo syarat bisnis.

Ing wektu sing padha, fokus utama mriksa kudu ora mung ing kasunyatan sing aliran data ing sistem wis, ing asas, makarya lan tekan completion (kang bagéan saka testing fungsi), nanging biasane ing mriksa lan validasi data kanggo selaras karo syarat samesthine, ngenali anomali lan liyane.

Piranti

Salah sawijining teknik kanggo kontrol data kasebut bisa dadi organisasi mriksa rantai ing saben tahap pangolahan data, sing diarani "rantai data" ing literatur - kontrol data saka sumber menyang titik panggunaan pungkasan. Jinis-jinis pamriksa iki paling kerep dileksanakake kanthi nulis mriksa pitakon SQL. Cetha yen pitakon kasebut kudu entheng sabisa lan mriksa potongan kualitas data individu (metadata tabel, garis kosong, NULL, Kesalahan ing sintaks - atribut liyane sing dibutuhake kanggo mriksa).

Ing kasus tes regresi, sing nggunakake set data sing wis siap (ora bisa diganti, rada bisa diganti), kode autotest bisa nyimpen cithakan sing wis siap kanggo mriksa data kanggo tundhuk karo kualitas (deskripsi metadata tabel sing dikarepake; obyek sampel baris sing bisa dipilih kanthi acak sajrone tes, lsp).

Uga, sajrone tes, sampeyan kudu nulis proses tes ETL nggunakake kerangka kerja kayata Apache Airflow, Apache Spark utawa malah alat jinis maya kothak ireng GCP Dataprep, Aliran Data GCP Lan sateruse. Kahanan iki meksa insinyur tes nyemplungake awake dhewe ing prinsip operasi alat ing ndhuwur lan malah luwih efektif nindakake tes fungsional (contone, proses ETL sing ana ing proyek) lan digunakake kanggo mriksa data. Khususe, Apache Airflow duwe operator sing wis siap kanggo nggarap database analitik populer, contone GCP BigQuery. Conto paling dhasar babagan panggunaane wis digarisake kene, dadi aku ora bakal mbaleni dhewe.

Kajaba saka solusi sing wis siap, ora ana sing nglarang sampeyan ngetrapake teknik lan alat sampeyan dhewe. Iki ora mung bakal migunani kanggo proyek kasebut, nanging uga kanggo Insinyur Kualitas Data dhewe, sing bakal nambah wawasan teknis lan katrampilan coding.

Cara kerjane ing proyek nyata

Ilustrasi sing apik babagan paragraf pungkasan babagan "rantai data", ETL lan pamriksaan ing ngendi wae yaiku proses ing ngisor iki saka salah sawijining proyek nyata:

Tester data gedhe lan cilik: tren, teori, critaku

Ing kene, macem-macem data (alami, disiapake dening kita) ketik input "corong" sistem kita: sah, ora sah, campuran, lan sapiturute, banjur disaring lan rampung ing panyimpenan penengah, banjur padha maneh ngalami sawetara transformasi. lan diselehake ing panyimpenan pungkasan , saka ngendi, analytics, mbangun pasar data lan nggoleki wawasan bisnis bakal ditindakake. Ing sistem kasebut, tanpa mriksa fungsi proses ETL, kita fokus ing kualitas data sadurunge lan sawise transformasi, uga ing output kanggo analytics.

Kanggo ngringkes ing ndhuwur, preduli saka papan sing aku kerja, ing endi wae aku melu proyek Data sing nuduhake fitur ing ngisor iki:

  • Mung liwat otomatisasi sampeyan bisa nyoba sawetara kasus lan entuk siklus rilis sing bisa ditampa kanggo bisnis kasebut.
  • Penguji ing proyek kasebut minangka salah sawijining anggota tim sing paling dihormati, amarga menehi keuntungan gedhe kanggo saben peserta (akselerasi tes, data sing apik saka Data Scientist, identifikasi cacat ing tahap awal).
  • Ora preduli yen sampeyan nggarap hardware dhewe utawa ing awan - kabeh sumber daya diekstraksi dadi kluster kayata Hortonworks, Cloudera, Mesos, Kubernetes, lsp.
  • Proyèk dibangun kanthi pendekatan microservice, komputasi sing disebar lan paralel didominasi.

Aku pengin nyathet yen nalika nindakake tes ing bidang Kualitas Data, spesialis tes mindhah fokus profesional menyang kode produk lan alat sing digunakake.

Fitur khas saka tes Kualitas Data

Kajaba iku, kanggo aku dhewe, aku wis nemtokake ing ngisor iki (Aku bakal langsung nggawe reservasi sing VERY umum lan eksklusif subyektif) fitur khas testing ing Data (Big Data) proyek (sistem) lan wilayah liyane:

Tester data gedhe lan cilik: tren, teori, critaku

link migunani

  1. Teori: DAMA-DMBOK: Data Management Body of Knowledge: 2nd Edition.
  2. Pusat latihan EPAM 
  3. Bahan sing disaranake kanggo insinyur kualitas data wiwitan:
    1. Kursus gratis ing Stepik: Pambuka kanggo database
    2. Kursus ing LinkedIn Learning: Yayasan Ilmu Data: Teknik Data.
    3. Artikel:
    4. Video:

kesimpulan

Kualitas Data minangka arah janjeni banget enom, dadi bagéan saka kang tegese dadi bagéan saka wiwitan. Sawise ing Kualitas Data, sampeyan bakal kecemplung ing akeh teknologi modern sing dikarepake, nanging sing paling penting, kesempatan gedhe bakal mbukak kanggo sampeyan nggawe lan ngetrapake ide sampeyan. Sampeyan bakal bisa nggunakake pendekatan perbaikan sing terus-terusan ora mung ing proyek kasebut, nanging uga kanggo awake dhewe, terus berkembang minangka spesialis.

Source: www.habr.com

Add a comment