Что такое тестовые данные при тестировании программного обеспечения?

⚡ Умное резюме

В программном тестировании тестовые данные — это входные данные, подаваемые в приложение во время выполнения тестов. Хорошо разработанные данные определяют положительные и отрицательные результаты проверок, а также проверки производительности и безопасности, поэтому их необходимо генерировать, анонимизировать и обновлять на протяжении всего жизненного цикла продукта.

  • 🗓️ Планируйте заранее: Создавайте тестовые данные одновременно с тестовыми примерами, чтобы выполнение никогда не блокировалось из-за отсутствующих входных данных или настроек среды.
  • 🎯 Рассмотрите все возможные сценарии: Подготовьте наборы данных с положительным, отрицательным, граничным и эквивалентным разделением, которые будут отдельными и четко обозначенными.
  • 🛡️ Перед копированием сделайте маску: Сопоставьте наборы данных о производительности с объемом и структурой производства, но анонимизируйте конфиденциальные поля перед любым копированием.
  • ⚙️ Автоматизируйте сложную работу: Используйте генераторы или инструменты искусственного интеллекта для масштабирования реалистичных наборов данных, сокращения трудозатрат и предотвращения дублирования.
  • 🔄 Обновляйте каждый релиз: RevПросматривайте наборы данных после изменений схемы, добавления новых функций и обновлений нормативных требований, чтобы старые данные не приводили к ложным срабатываниям.

Тестовые данные при тестировании программного обеспечения

Как тестировщик, вы, возможно, считаете, что разработка тестовых сценариев и так достаточно сложна, так зачем же заниматься чем-то таким обыденным, как тестовые данные? В этом руководстве мы познакомим вас с тестовыми данными, объясним, почему они важны, и поделимся практическими советами по их быстрой генерации.

Что такое тестовые данные при тестировании программного обеспечения?

Тестовые данные при тестировании программного обеспечения Тестовые данные — это входные данные, передаваемые программному обеспечению во время выполнения теста. Они представляют собой данные, которые либо влияют на программное обеспечение, либо подвергаются его влиянию во время тестирования. Тестовые данные используются в позитивном тестировании — для проверки того, что функции выдают ожидаемые результаты для заданных входных данных, — и в негативном тестировании, для проверки того, как программное обеспечение обрабатывает необычные, исключительные или недопустимые входные данные.

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

Тестовые данные при тестировании программного обеспечения

Что такое генерация тестовых данных и почему тестовые данные следует создавать до выполнения теста?

Тестирование — это процесс, в ходе которого создаются и обрабатываются большие объемы данных. Данные, используемые в тестировании, описывают начальные условия для теста и являются средством взаимодействия тестировщика с программным обеспечением. Поэтому они являются важнейшей частью большинства тестов. функциональные тесты.

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

Тестовые данные можно получить четырьмя распространенными способами:

  • Вручную, тестировщиком или бизнес-аналитиком.
  • Массовое копирование данных из производственной среды в тестовую среду.
  • Массовое копирование тестовых данных из устаревших клиентских систем.
  • Инструменты автоматизированной генерации тестовых данных.

Необходимо сгенерировать выборочные данные. до Выполнение теста начинается, потому что его создание позже сложно контролировать. Во многих тестовых средах требуется несколько предварительных шагов или трудоемкая настройка, прежде чем можно будет загрузить данные. Если генерация данных происходит на этапе выполнения, вы рискуете не уложиться в срок тестирования.

В разделах ниже описаны несколько типов тестирования, а также даны рекомендации по необходимым для них тестовым данным.

Тестовые данные для белого цвета Box Тестирование

In Белый Box ТестированиеУправление тестовыми данными основано на непосредственном анализе тестируемого кода. Критерии выбора обычно включают:

  • Зона покрытия филиалов: Сгенерируйте данные таким образом, чтобы каждая ветка исходного кода была протестирована как минимум один раз.
  • Проверка пути: Сформулируйте данные таким образом, чтобы каждый путь был пройден хотя бы один раз.
  • Отрицательный API тестирование: Используйте недопустимые типы параметров или недопустимые комбинации аргументов для вызова внутренних методов.

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

Тестирование производительности Измеряет скорость реакции системы при определенной нагрузке. Цель состоит не в поиске функциональных ошибок, а в выявлении узких мест. Пример набора данных должен быть очень близок к реальный или живой Для получения значимых результатов необходимы производственные данные.

Как получить такие данные? Самый надежный источник — это… клиентов Они могут либо предоставить существующий набор данных, либо описать, как выглядят данные из реального мира, чтобы вы могли их смоделировать. эксплуатационные испытания В рамках проекта вы можете скопировать данные из производственной среды в тестовую среду. Это хорошая практика. анонимный (Зашифруйте) конфиденциальные поля — номера социального страхования, номера кредитных карт, банковские реквизиты — перед созданием любого копирования.

Тестовые данные для тестирования безопасности

Тестирование безопасности Проверяет, что информационная система защищает данные от злонамеренных действий. Наборы данных должны соответствовать четырем основным критериям:

  • Конфиденциальность: Информация от клиентов хранится в строгой конфиденциальности и не передается третьим лицам. Если приложение использует SSL, предоставляются проектные данные, подтверждающие корректность шифрования.
  • Integrity: Информация, возвращаемая системой, верна. Создайте данные, проверив дизайн, код, схемы баз данных и структуру файлов.
  • Аутентификация: Процесс установления личности пользователя. Используйте различные комбинации имен пользователей и паролей, чтобы убедиться, что доступ получают только авторизованные лица.
  • Авторизация: Права, предоставленные конкретному пользователю. Объедините пользователей, роли и операции, чтобы убедиться, что только пользователи с достаточными привилегиями могут выполнять определенную операцию.

Тестовые данные для черного цвета Box Тестирование

В черном Box Тестируемый код не виден тестировщику. Функциональные тестовые примеры должны включать данные, отвечающие следующим критериям:

  • Нет данных: Проверьте ответ, если ничего не отправлено.
  • Достоверные данные: Проверьте ответ, используя корректные тестовые данные.
  • Неверные данные: Проверьте ответ, используя некорректные тестовые данные.
  • Недопустимый формат данных: Проверьте ответ, если данные представлены в неподдерживаемом формате.
  • Набор данных граничных условий: данные, находящиеся на минимальных, максимальных и немного выходящих за пределы граничных значений.
  • Набор данных с эквивалентным разделением: данные, представляющие каждый класс эквивалентности.
  • Набор данных в виде таблицы решений: данные, которые проверяют каждое правило в таблице решений.
  • Набор данных о переходах между состояниями: данные, которые управляют системой на каждом определенном этапе перехода между состояниями.
  • Данные для тестирования вариантов использования: данные, соответствующие сквозным сценариям использования.

Примечание: В зависимости от тестируемого приложения вы можете использовать некоторые или все из вышеперечисленных категорий.

Инструменты автоматического создания тестовых данных

Автоматизированные инструменты генерируют большие и разнообразные наборы данных быстрее, чем любой ручной процесс. Два давних примера:

  • Данные испытаний DTM Generator — Настраиваемая утилита, которая создает данные, таблицы, представления и процедуры для сценариев тестирования баз данных, включая тестирование производительности, контроля качества, нагрузки и удобства использования.
  • Дататект - ан SQL Генератор данных от Banner Software, который создает реалистичные тестовые данные в текстовых файлах ASCII или напрямую в реляционные СУБД, такие как Oracle, Sybase, SQL Server и Informix.

Актуальный и оцененный список кандидатов можно посмотреть здесь. 10 лучших тестовых данных Generator Инструменты.

лучшие практики управления тестовыми данными

Надежные результаты тестирования зависят от дисциплинированного уборщика.pingСледуйте этим рекомендациям, чтобы поддерживать работоспособность наборов данных между различными версиями:

  • Версионируйте ваши данные: Храните наборы данных в репозитории вместе с тестовыми примерами, которые их используют, чтобы изменения можно было отслеживать.
  • Маскировать чувствительные поля: Перед копированием из рабочей среды необходимо анонимизировать личные, финансовые и медицинские данные.
  • Регулярно обновляйте: При каждом выпуске необходимо перестраивать наборы данных, чтобы они соответствовали изменениям схемы и бизнес-правил.
  • Документируйте ожидаемые результаты: Сопоставьте каждый набор данных с ожидаемым результатом, чтобы было легко выявить и устранить причины сбоев.
  • Автоматизация посева: Используйте скрипты или фикстуры для загрузки данных в начале каждого тестового запуска, обеспечивая повторяемость результатов.

Часто задаваемые вопросы (FAQ)

Тестовые данные — это любые входные данные, предоставляемые программному обеспечению во время тестирования. В качестве примеров для формы входа в систему можно привести действительное имя пользователя и пароль (положительный результат), пустой пароль (отрицательный результат) и адрес электронной почты длиной в 300 символов (граничный результат).

Тестовый пример описывает шаги и ожидаемый результат отдельного сценария. Тестовые данные — это конкретные входные значения, подаваемые на эти шаги. Для каждого тестового примера необходим собственный набор данных, который проверяет сценарий.

Достаточно данных – это данные, охватывающие все классы эквивалентности, границы и сценарии с учетом рисков. Одного объема недостаточно для охвата. Сопоставляйте данные с тестовыми случаями и прекращайте добавлять записи, когда пробелы в охвате исчезнут.

Только после маскировки конфиденциальных полей, таких как имена, номера счетов и медицинские данные. Немаскированные производственные данные нарушают такие правила, как GDPR и HIPAA, и создают реальный риск утечки данных в случае компрометации тестовой среды.

К распространенным категориям относятся: допустимые, недопустимые, граничные, эквивалентные разбиения, таблицы решений, переходы состояний, варианты использования и наборы данных, в которых отсутствуют данные. Каждая категория нацелена на определенный риск в тестируемом приложении.

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

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

Нет. Искусственный интеллект ускоряет генерацию и подтверждает закономерности, но эксперты-люди должны оценивать бизнес-риски, нестандартные ситуации и требования соответствия. Наиболее эффективные команды сочетают сгенерированные ИИ наборы данных с экспертной обработкой.

Подведем итог этой публикации следующим образом: