Большие данные

Тестирование приложений для работы с большими данными

Введение в тестирование приложений для работы с большими данными.

Почему нам нужно тестировать

Я хотел бы поделиться некоторыми случаями, когда приложение сильно потерпело неудачу, если тестирование не было проведено должным образом.

Банковская база данных

Банк хочет создать пары "ключ-значение" идентификатора клиента CI и номера телефона клиента CP. В этом сценарии алгоритм MapReduce путается между буквами P и L из-за опечатки.

Затем CP (номер телефона клиента) заменяется в парах ключ-значение CL (пин-код местоположения банка клиента). Теперь Клиенты не будут получать услуги OTP и телефонного банкинга.

Тенденции гриппа Google

В разгар сезона гриппа 2013 года GFT потерпела неудачу — и как. Это было на колоссальные 140 процентов! Как это произошло? Алгоритм был ошибочным и не учитывал несколько других факторов. Например, поиск таких терминов, как «простуда» и «лихорадка», не обязательно означал, что люди искали заболевания, связанные с гриппом; они могут просто смотреть на сезонные заболевания. В 2009 году он также полностью упустил возможность предсказать вспышку H1N1. GFT не смогла оправиться от этого гриппа, что в конечном итоге привело к его безвременной кончине в 2013 году.

Футболка с принтом Amazon

Когда вы не обращаете внимания на свои коды и их результаты, все может пойти совсем не так — с большими данными! Amazon была в центре фурора, когда опубликовала на своем сайте оскорбительные футболки, такие как «Сохраняйте спокойствие и изнасилуйте много» и «Сохраняйте спокойствие и ударьте ее».

Очевидно, Amazon была вынуждена их убрать. Solid Gold Bomb, компания-продавец, возложила вину на плохое программирование и аналитику. Эти фразы были автоматически сгенерированы с помощью компьютерной программы по сценарию, работающей с огромным словарем. Результаты были откровенно оскорбительными, и большая ошибка заключалась в том, что никто не проверял результаты.

Кто должен делать тест

Применяйте подход всей команды вместо того, чтобы только тестер выполнял задачу по обеспечению качества.

Типы тестирования

ФУНКЦИОНАЛЬНОЕ ТЕСТИРОВАНИЕ

  • Основные функции программного обеспечения или веб-приложения. Все просто: работают ли функции так, как задумано?
  • Насколько легко получить доступ — может ли конечный пользователь взаимодействовать со всем, что ему нужно?
  • Удобство использования. Конечный пользователь должен иметь возможность использовать его без каких-либо затруднений.
  • Что происходит при возникновении ошибок — есть ли соответствующие сообщения и способ их регистрации?

Тестирование производительности

  • Чтобы определить, удовлетворяет ли приложение требованиям к производительности (например, система должна поддерживать до 1000 одновременных пользователей).
  • Чтобы найти узкие места вычислений в приложении.
  • Чтобы установить, действительно ли уровни производительности, заявленные поставщиком программного обеспечения, соответствуют действительности.
  • Для сравнения двух или более систем и определения наиболее эффективной.
  • Для измерения стабильности при пиковых нагрузках.

Тестирование приема данных

  • Убедитесь, что принимаются правильные данные из нескольких источников данных. Все необходимые данные принимаются в соответствии с их определенной схемой, и данные, не соответствующие схеме, не должны приниматься. Данные, которые не соответствуют схеме, должны быть сохранены для целей статистической отчетности. Также убедитесь, что данные не повреждены.
  • Сравнение исходных данных с полученными данными для простой проверки правильности передачи данных.
  • Убедитесь, что правильные файлы данных созданы и правильно загружены в систему в нужное место.

Тестирование обработки данных

  • Убедитесь, что задания выполняются правильно без каких-либо исключений.
  • Убедитесь, что пары «ключ-значение» корректно создаются после вакансий.
  • Проверка бизнес-правил, реализованных в данных.
  • Проверка агрегации данных осуществляется для данных, а данные консолидируются после операций сокращения.
  • Убедитесь, что данные обрабатываются правильно после публикации заданий, сравнив выходные файлы с входными файлами.

Тестирование хранилища данных

  • Данные проверки агрегируются после вакансий.
  • Убедитесь, что правильные данные загружены в систему хранения, и отбросьте все имеющиеся промежуточные данные.
  • Убедитесь в отсутствии повреждения данных, сравнив выходные данные с данными системы хранения.

Тестирование переноса данных

  • Проверочное тестирование на уровне данных
  1. Проверяет количество записей, которые будут перенесены

2. Проверяет точность данных выбранного образца из перенесенных данных.

3. Проверяет настройку целевой базы данных для пользователей и образцов данных.

  • Проверочное тестирование на уровне приложения
  1. После миграции войдите в новое приложение и проверьте образец набора данных.

2. После миграции войдите в устаревшие системы и проверьте заблокированный/разблокированный статус учетных записей.

3. Подтвердите доступ службы поддержки клиентов ко всем устаревшим системам, несмотря на то, что пользователь был заблокирован в процессе миграции.

4. Проверьте, запрещено ли новым пользователям создавать новую учетную запись в устаревшей системе после запуска нового приложения.

5. Проверьте немедленное восстановление доступа пользователей к устаревшей системе, если миграция на новую систему не удалась.

6. Проверить прекращение доступа к устаревшим системам при миграции.

7. Подтвердите учетные данные для входа в систему для нового приложения.

~~ Вот так~~

Надеюсь это поможет.

Удачных испытаний, ребята!!

ССЫЛКА

https://www.edureka.co/blog/big-data-testing/

https://www.cio.com/article/3450518/5-cases-where-big-data-was-a-big-flop.html

http://guptayuvraj.github.io/post/Big-Data-Testing/