Лучшие навыки, необходимые для тестирования проектов, связанных с большими данными

🙋♀️ Привет! Вы тоже работаете QA/тестировщиком/инженером по автоматизации и задаетесь вопросом, как тестировать проекты, связанные с Big Data/AI? Если да, то эта статья для вас.

Что такое большие данные? Что такое искусственный интеллект? Большинство из нас знают эти понятия, но каково это — работать над ними? Действительно ли это поддается тестированию?

Помимо знания основ тестирования, тестирование проектов Больших Данных подтолкнет вас к совершенствованию навыков. Я перечислил здесь комбинацию навыков, которые очень помогли мне в моем предыдущем проекте по тестированию больших данных.

1. SQL/NoSQL

SELECT * FROM ____ WHERE <column_name> = _____;.
Это базовый вариант. Но вам нужно немного подтянуться. При работе с очень большим набором данных пригодится ключевое слово LIMIT. Почему LIMIT? Большие данные = много строк, которые вы даже не можете сосчитать. Limit используется для указания количества возвращаемых строк.

Еще одно понятие, о котором вы, возможно, захотите узнать, — это разделение.
Что такое разделы? Это меньшие части огромной таблицы. С разделами запросы будут выполняться быстрее. Разделы также помогают «организовать» ваши данные. Общим критерием раздела является «дата» (но это может быть что угодно, в зависимости от структуры вашей БД или таблицы и реализации проекта). Представьте себе таблицу с миллиардами записей. Вместо того чтобы обходить всю таблицу, он сосредоточится только на определенном разделе.

Бонус: шпаргалка по SQL


Кредиты оригинальному владельцу (кстати, я добавил сюда ключевое слово DISTINCT!)

Бонус: Общие запросы к большим данным для проверки определения таблицы и разделов
DESCRIBE <table_name>;
SHOW CREATE TABLE <table_name>;
SHOW PARTITIONS <table name>;
Вход в полноэкранный режим Выйти из полноэкранного режима

2. Python / R

  • Наиболее распространенными языками для ИИ являются Python и R. Ознакомьтесь с краш-курсом Python от GoogleЭтот курс разработан сотрудниками Google и, вероятно, имеет лучшее содержание.
  • R обычно используется для анализа и визуализации данных. Посмотрите курс программирования на языке R от Университета Джона Хопкина.

Как QA, вам не нужно овладевать этим языком, но знание Python/R (или любого другого языка программирования, который использует ваша компания) определенно поможет вам понять разработчиков, особенно когда они говорят, что определенное исправление «сложное».

Уверенное владение программированием на Python — это реальный плюс, поскольку вы также можете использовать его при автоматизации тестов. Существует множество библиотек Python, которые вы можете импортировать для тестирования UI/API/данных.
(Скоро я создам отдельную статью по автоматизации тестирования! 🙂👍 )

3. Общие знания по науке о данных / статистике

Что такое кластеризация? Что такое k-средние? Что такое алгоритм глубинного поиска (DFS)?
Если вы работаете над проектами по работе с большими данными, разработчики могут предложить вам множество новых терминов, которые вы обычно не слышите в обычных проектах.

Ознакомьтесь с программой MITx «Вычислительное мышление с использованием Python XSeries».
Эта программа онлайн-обучения включает в себя 2 курса:

  • Введение в компьютерные науки и Программирование с использованием Python
  • Введение в вычислительное мышление и науку о данных

Лично я проходил этот курс в течение 3-4 месяцев, и это того стоило. Получение этого курса поможет вам понять термины науки о данных/статистики, которые обычно используются в проектах Big Data/AI.

4. Базовые знания о сервисах данных

  • Одним из хороших курсов, который я проходил в прошлом, был AWS Data Services на LinkedIn Learning.

Опять же, это зависит от того, что будет использовать ваша компания.
Знакомство с вашими службами данных определенно поможет вам в создании и расширении плана тестирования.
Например, что если путь хранения отсутствует или не настроен? Что, если нет нового файла? Что, если местоположение существует, но в нем нет данных? Что, если я загружу плохой/поврежденный файл данных?

5. Хранилища больших данных и другие инструменты

Hadoop, Hive, Apache Spark, Apache Airflow и многое другое.
Как QA, вам не нужно осваивать их все. Все, что вам нужно знать, это то, как вы сможете перемещаться/мониторить эти инструменты для тестирования.

В заключение …

Вам предстоит многому научиться. Поначалу это будет ошеломлять, но со временем это станет вашей новой нормой.

Если есть один совет (будущим) QA Больших Данных — «Никогда не бойтесь спрашивать своих разработчиков». Сотрудничество и общение всегда являются ключевыми моментами.


Есть вопросы по QA или автоматизации? Не стесняйтесь, обращайтесь. Я готов к сотрудничеству! 🙂 .

Оцените статью
devanswers.ru
Добавить комментарий