Начну издалека. Вы наверно знаете, что теория управления и принятия решений является основой кибернетики, созданной Норбертом Винером еще в 1948 году. С тех пор развитие самой теории и технологий прошло множество этапов развития. Сама логика развития индустрии Интернет-технологий привела к тому, чтобы создать технологии управления и принятия решений, основанные на новых подходах к извлечению, анализу и трансформации данных, которые получили название больших данных.
Согласно циклу Гартнера, технологии обработки больших данных давно уже должны были пройти пик своего развития и перейти в устойчивое состояние, однако интерес к исследованию больших данных и потребность рынка в специалистах по анализу данных по-прежнему высокая. Большой интерес проявляют работодатели и к тестировщикам, умеющим тестировать большие данные, понимающим основы этой технологии и разбирающихся в процессах обработки данных.
Основными характеристиками больших данных являются VVV:
- volume - объем данных;
- velocity - скорость обработки данных;
- variety - разнообразие одновременно обрабатываемых типов структурированных и неструктурированных данных.
Источниками данных, ежеминутно поступающих в Интернет, являются цифровые устройства, передающие сообщения пользователей, рекламные и информационно-развлекательные тексты, поисковые запросы, посты в соцсетях, учебные материалы, передаваемые во время онлайн-обучения, сообщения систем мониторинга и безопасности, потоки данных по защищенным соединениям, выполняющие банковские транзакции и т.д.
Данные с камер наблюдения, оцифрованные потоки аудиосигналов, координаты мобильных устройств, данные датчиков температуры и влажности и другие оперативные данные, которые можно использовать для быстрого реагирования на опасные ситуации, нуждаются в быстрой обработке. От скорости их обработки зависит, на какой вопрос отвечают эти данные, "кто виноват?", если сделать уже ничего нельзя, или "что делать?", когда еще есть время что-то предпринять для исправления ситуации.
Благодаря большим данным, появились такие технологии, как Интернет вещей, сокращенно IoT, Internet of Things, и Интернет людей, сокращенно IoP, Internet of People. Симбиоз этих технологий, киберпространства и реального мира, позволил получить огромное количество информации о каждом человеке: где живет, что покупает, сколько тратит. На основе этой информации системы маркетинга вычисляют, какие товары и когда предложить, системы безопасности находят преступников.
Обработка данных включает в себя:
- периодическую выгрузку данных из разных источников, с целью обеспечения их качества;
- преобразование к единому формату;
- загрузку в хранилище по одному из трех типов: пакетной обработки, реального времени или гибридному типу.
При проведении тестов с большим количеством разнообразных наборов входных данных, эти данные отделяют от кода самого теста и хранят в отдельном файле. Один тестовый набор может повторяться многократно для разных значений. Эту методологию называют тестирование, управляемое данными DDT, расшифровывается как Data Driven Testing.
Сложность реализации этой методологии через графический интерфейс связана с недостаточной скоростью передачи запросов серверу. Когда данные загружаются в какой-то интерфейс, в любой момент может произойти сбой, связанный с обработкой событий от элементов графического интерфейса. Это снижает надежность тестов, проводимых с использованием интерфейса. Поэтому самым оптимальным способом для проведения тестирования больших данных является тестирование с помощью специализированных инструментов, напрямую обращающихся к серверу, на уровне http-запросов. Это значительно повышает скорость и надежность проведения тестов.
В качестве контейнера для хранения данных, полученных из разных источников, обычно используется язык XML, Extensible Markup Language, что переводится как расширяемый язык разметки. Этот язык позволяет структурировать различные данные, привести их к одному формату для дальнейшей обработки.
В бизнес-аналитике процессы извлечения, преобразования и загрузки ETL, Extraction-Transformation-Loading, используются вместе с более сложными процессами, такими как квантование, снижающее объем обрабатываемых данных, нормализация данных, приводящая сложные реляционные базы данных, состоящие из множества таблиц, связанных через отношения, к табличному виду. Процесс нормализации используется для преобразования числовых данных к одному формату. Кодирование данных приводит к сжатию данных для более компактного хранения.
На этом пока остановимся, т.к. тема довольно объемная. Для тестировщика здесь важно понимать, что мы делаем. Иначе процесс тестирования становится неконтролируемым, из-за большого объема повторяющихся действий. Если не отслеживать логику, в которой данные должны быть обработаны, то нельзя оценить качество подготавливаемых данных.
Если понравилось, ставьте лайк. Если есть вопросы, задавайте. В закрепленном посте видео для подписчиков и ссылки на другие бонусы.