Тестування якості даних (Data Quality Testing)
Last updated
Last updated
Якість даних (data quality): Атрибут даних, що показує їх коректність згідно з деякими зумовленими критеріями: бізнес-очікування, вимоги щодо повноти даних або їх несуперечності. (ISTQB)
Сьогоднішній світ переживає чергову технологічну революцію, одним із аспектів якої є використання різноманітними компаніями накопичених даних для розкручування власного маховика продажів, прибутків та піару. Звісно ж, що саме наявність добрих (якісних) даних, а також умілих мізків, які зможуть з них робити гроші (правильно обробити, візуалізувати, побудувати моделі машинного навчання тощо), стали сьогодні ключем до успіху для багатьох. Природно, це зажадало технічної організації цього процесу - приєднатися до джерела даних, викачати їх, перевірити, що вони завантажені в повному обсязі тощо. , хто стежив би за потоком даних у системі (data pipelines), за якістю даних на вході та на виході, робив би висновки про їх достатність, цілісність та інші характеристики. Обов'язки Data Quality інженера не обмежуються лише рутинними ручними/автоматичними перевірками на «nulls, count і sums» у таблицях БД, а вимагають глибокого розуміння бізнес потреб замовника і, відповідно, здібностей трансформувати наявні дані на придатну бізнес-інформацію.
Data Quality - один із етапів Data Management і перший пункт плану управління даними ( ).
Аспекти якісних даних ( ):
Точність (Accuracy): наскільки добре інформація відображає реальність?
Повнота (Completeness). Чи відповідає вашим очікуванням від того, що є всеосяжним?
Узгодженість (Consistency): чи відповідає інформація, що зберігається в одному місці, релевантним даним, що зберігається в іншому місці?
Своєчасність (Timeliness): чи доступна ваша інформація тоді, коли вона вам потрібна?
Термін дії, відповідність: чи має інформація певний формат, тип чи розмір? Чи відповідає вона бізнес-правилам/передовій практиці?
Цілісність (Integrity): чи можна правильно поєднати різні набори даних, щоб відобразити загальну картину? Чи добре визначені та реалізовані відносини?
Сам процес тестування не має на увазі суворе копіювання цих ознак у тест-кейси та їх перевірку. У Data Quality, як і в будь-якому іншому вигляді тестування, необхідно насамперед відштовхуватися від вимог щодо якості даних, узгоджених з учасниками проекту, які приймають бізнес-рішення.
Приклад найзагальнішого переліку активностей Data Quality інженера:
Підготувати тестові дані (валідні\невалідні\великі\маленькі) через автоматизований інструмент.
Завантажити підготовлений набір даних у вихідне джерело та перевірити його готовність до використання.
Запустити ETL-процеси з обробки набору даних з вихідного сховища в остаточне або проміжне із застосуванням певного набору налаштувань (у разі можливості встановити параметри, що конфігуруються, для ETL-завдання).
Верифікувати оброблені ETL-процесом дані щодо їх якості та відповідність бізнес-вимогам.
При цьому основний акцент перевірок повинен припадати не тільки на те, що потік даних у системі в принципі відпрацював і дійшов до кінця (що є частиною функціонального тестування), а здебільшого на перевірку та валідацію даних на предмет відповідності очікуваним вимогам, виявлення аномалій та іншого.
Джерела + дод. матеріал: