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

Как тестировщик, вы, возможно, считаете, что разработка тестовых сценариев и так достаточно сложна, так зачем же заниматься чем-то таким обыденным, как тестовые данные? В этом руководстве мы познакомим вас с тестовыми данными, объясним, почему они важны, и поделимся практическими советами по их быстрой генерации.
Что такое тестовые данные при тестировании программного обеспечения?
Тестовые данные при тестировании программного обеспечения Тестовые данные — это входные данные, передаваемые программному обеспечению во время выполнения теста. Они представляют собой данные, которые либо влияют на программное обеспечение, либо подвергаются его влиянию во время тестирования. Тестовые данные используются в позитивном тестировании — для проверки того, что функции выдают ожидаемые результаты для заданных входных данных, — и в негативном тестировании, для проверки того, как программное обеспечение обрабатывает необычные, исключительные или недопустимые входные данные.
Некачественно разработанные тестовые данные не охватывают все возможные сценарии, что напрямую снижает качество программного обеспечения.
Что такое генерация тестовых данных и почему тестовые данные следует создавать до выполнения теста?
Тестирование — это процесс, в ходе которого создаются и обрабатываются большие объемы данных. Данные, используемые в тестировании, описывают начальные условия для теста и являются средством взаимодействия тестировщика с программным обеспечением. Поэтому они являются важнейшей частью большинства тестов. функциональные тесты.
В зависимости от вашей среды тестирования вам может потребоваться следующее: Создайте протестируйте данные с нуля или, по крайней мере, найдите подходящий существующий набор данных для ваших целей. контрольные примерыТестовые данные обычно создаются синхронно с поддерживаемым ими тестовым случаем.
Тестовые данные можно получить четырьмя распространенными способами:
- Вручную, тестировщиком или бизнес-аналитиком.
- Массовое копирование данных из производственной среды в тестовую среду.
- Массовое копирование тестовых данных из устаревших клиентских систем.
- Инструменты автоматизированной генерации тестовых данных.
Необходимо сгенерировать выборочные данные. до Выполнение теста начинается, потому что его создание позже сложно контролировать. Во многих тестовых средах требуется несколько предварительных шагов или трудоемкая настройка, прежде чем можно будет загрузить данные. Если генерация данных происходит на этапе выполнения, вы рискуете не уложиться в срок тестирования.
В разделах ниже описаны несколько типов тестирования, а также даны рекомендации по необходимым для них тестовым данным.
Тестовые данные для белого цвета Box Тестирование
In Белый Box ТестированиеУправление тестовыми данными основано на непосредственном анализе тестируемого кода. Критерии выбора обычно включают:
- Зона покрытия филиалов: Сгенерируйте данные таким образом, чтобы каждая ветка исходного кода была протестирована как минимум один раз.
- Проверка пути: Сформулируйте данные таким образом, чтобы каждый путь был пройден хотя бы один раз.
- Отрицательный API тестирование: Используйте недопустимые типы параметров или недопустимые комбинации аргументов для вызова внутренних методов.
Тестовые данные для тестирования производительности
Тестирование производительности Измеряет скорость реакции системы при определенной нагрузке. Цель состоит не в поиске функциональных ошибок, а в выявлении узких мест. Пример набора данных должен быть очень близок к реальный или живой Для получения значимых результатов необходимы производственные данные.
Как получить такие данные? Самый надежный источник — это… клиентов Они могут либо предоставить существующий набор данных, либо описать, как выглядят данные из реального мира, чтобы вы могли их смоделировать. эксплуатационные испытания В рамках проекта вы можете скопировать данные из производственной среды в тестовую среду. Это хорошая практика. анонимный (Зашифруйте) конфиденциальные поля — номера социального страхования, номера кредитных карт, банковские реквизиты — перед созданием любого копирования.
Тестовые данные для тестирования безопасности
Тестирование безопасности Проверяет, что информационная система защищает данные от злонамеренных действий. Наборы данных должны соответствовать четырем основным критериям:
- Конфиденциальность: Информация от клиентов хранится в строгой конфиденциальности и не передается третьим лицам. Если приложение использует SSL, предоставляются проектные данные, подтверждающие корректность шифрования.
- Integrity: Информация, возвращаемая системой, верна. Создайте данные, проверив дизайн, код, схемы баз данных и структуру файлов.
- Аутентификация: Процесс установления личности пользователя. Используйте различные комбинации имен пользователей и паролей, чтобы убедиться, что доступ получают только авторизованные лица.
- Авторизация: Права, предоставленные конкретному пользователю. Объедините пользователей, роли и операции, чтобы убедиться, что только пользователи с достаточными привилегиями могут выполнять определенную операцию.
Тестовые данные для черного цвета Box Тестирование
В черном Box Тестируемый код не виден тестировщику. Функциональные тестовые примеры должны включать данные, отвечающие следующим критериям:
- Нет данных: Проверьте ответ, если ничего не отправлено.
- Достоверные данные: Проверьте ответ, используя корректные тестовые данные.
- Неверные данные: Проверьте ответ, используя некорректные тестовые данные.
- Недопустимый формат данных: Проверьте ответ, если данные представлены в неподдерживаемом формате.
- Набор данных граничных условий: данные, находящиеся на минимальных, максимальных и немного выходящих за пределы граничных значений.
- Набор данных с эквивалентным разделением: данные, представляющие каждый класс эквивалентности.
- Набор данных в виде таблицы решений: данные, которые проверяют каждое правило в таблице решений.
- Набор данных о переходах между состояниями: данные, которые управляют системой на каждом определенном этапе перехода между состояниями.
- Данные для тестирования вариантов использования: данные, соответствующие сквозным сценариям использования.
Примечание: В зависимости от тестируемого приложения вы можете использовать некоторые или все из вышеперечисленных категорий.
Инструменты автоматического создания тестовых данных
Автоматизированные инструменты генерируют большие и разнообразные наборы данных быстрее, чем любой ручной процесс. Два давних примера:
- Данные испытаний DTM Generator — Настраиваемая утилита, которая создает данные, таблицы, представления и процедуры для сценариев тестирования баз данных, включая тестирование производительности, контроля качества, нагрузки и удобства использования.
- Дататект - ан SQL Генератор данных от Banner Software, который создает реалистичные тестовые данные в текстовых файлах ASCII или напрямую в реляционные СУБД, такие как Oracle, Sybase, SQL Server и Informix.
Актуальный и оцененный список кандидатов можно посмотреть здесь. 10 лучших тестовых данных Generator Инструменты.
лучшие практики управления тестовыми данными
Надежные результаты тестирования зависят от дисциплинированного уборщика.pingСледуйте этим рекомендациям, чтобы поддерживать работоспособность наборов данных между различными версиями:
- Версионируйте ваши данные: Храните наборы данных в репозитории вместе с тестовыми примерами, которые их используют, чтобы изменения можно было отслеживать.
- Маскировать чувствительные поля: Перед копированием из рабочей среды необходимо анонимизировать личные, финансовые и медицинские данные.
- Регулярно обновляйте: При каждом выпуске необходимо перестраивать наборы данных, чтобы они соответствовали изменениям схемы и бизнес-правил.
- Документируйте ожидаемые результаты: Сопоставьте каждый набор данных с ожидаемым результатом, чтобы было легко выявить и устранить причины сбоев.
- Автоматизация посева: Используйте скрипты или фикстуры для загрузки данных в начале каждого тестового запуска, обеспечивая повторяемость результатов.

