Всем известно, что тестирование — это процесс, который производит и потребляет большие объемы данных. Данные, используемые в тестировании, описывают начальные условия для теста и представляют среду, посредством которой тестер влияет на программное обеспечение. Это важная часть большинства функциональных испытаний . Но что на самом деле является тестовыми данными? Почему это используется? Возможно, вы задаетесь вопросом: «Разработка тестовых случаев достаточно сложна, тогда зачем беспокоиться о чем-то таком тривиальном, как тестовые данные» Цель этого руководства — познакомить вас с тестовыми данными, их важностью и дать практические советы и рекомендации для быстрой генерации тестовых данных. , Итак, начнем!
Что такое тестовые данные? Почему это важно?
Тестовые данные на самом деле являются входными данными для программы. Он представляет данные, которые влияют или зависят от выполнения определенного модуля. Некоторые данные могут использоваться для положительного тестирования, как правило, для проверки того, что данный набор входных данных для данной функции дает ожидаемый результат. Другие данные могут использоваться для отрицательного тестирования, чтобы проверить способность программы обрабатывать необычный, экстремальный, исключительный или неожиданный ввод. Плохо спроектированные данные тестирования могут не проверять все возможные сценарии тестирования, которые будут ухудшать качество программного обеспечения.
Что такое генерация тестовых данных? Почему тестовые данные должны быть созданы до выполнения теста?
В зависимости от среды тестирования вам может потребоваться СОЗДАТЬ тестовые данные (в большинстве случаев) или, по крайней мере, определить подходящие тестовые данные для ваших тестовых случаев (если тестовые данные уже созданы).
Обычно тестовые данные создаются синхронно с тестовым набором, для которого они предназначены.
Тестовые данные могут быть сгенерированы —
- Вручную
- Массовое копирование данных из производства в среду тестирования
- Массовое копирование тестовых данных из устаревших клиентских систем
- Инструменты автоматического создания тестовых данных
Как правило, образцы данных должны быть сгенерированы перед началом выполнения теста, поскольку в противном случае сложно обработать управление данными теста. Поскольку во многих средах тестирования создание тестовых данных требует много предварительных шагов или конфигураций среды тестирования, что занимает очень много времени . Кроме того, если генерация тестовых данных выполнена, когда вы находитесь в фазе выполнения теста, вы можете превысить срок тестирования.
Ниже описаны несколько типов тестирования, а также некоторые предложения относительно их потребностей в данных тестирования.
Тестовые данные для тестирования белого ящика
В White Box Testing управление данными тестирования выводится из непосредственного изучения кода, подлежащего тестированию. Тестовые данные могут быть выбраны с учетом следующих вещей:
- Желательно охватить как можно больше веток; данные тестирования могут быть сгенерированы таким образом, что все ветви в исходном коде программы проверяются хотя бы один раз
- Тестирование пути: все пути в исходном коде программы проверяются как минимум один раз — можно подготовить тестовые данные, чтобы охватить как можно больше случаев.
- Отрицательное API-тестирование :
- Данные тестирования могут содержать недопустимые типы параметров, используемые для вызова различных методов.
- Данные тестирования могут состоять из недопустимых комбинаций аргументов, которые используются для вызова методов программы
Тестовые данные для тестирования производительности
Тестирование производительности — это тип тестирования, который выполняется для определения того, насколько быстро система реагирует на конкретную рабочую нагрузку. Целью этого типа тестирования является не поиск ошибок, а устранение узких мест. Важным аспектом тестирования производительности является то, что набор используемых образцов данных должен быть очень близок к «реальным» или «живым» данным, которые используются в производстве. Возникает следующий вопрос: «Хорошо, хорошо проверять реальные данные, но как мне получить эти данные?» Ответ довольно прост: от людей, которые знают лучше всего — от клиентов . Они могут предоставить некоторые данные, которые у них уже есть, или, если у них нет существующего набора данных, они могут помочь вам, предоставив обратную связь относительно того, как могут выглядеть реальные данные.Если вы находитесь вПроект технического обслуживания вы можете скопировать данные из производственной среды в испытательный стенд. Хорошей практикой является анонимизация (шифрование) конфиденциальных данных клиента, таких как номер социального страхования, номера кредитных карт, банковские реквизиты и т. Д., Пока выполняется копия.
Тестовые данные для тестирования безопасности
Тестирование безопасности — это процесс, который определяет, защищает ли информационная система данные от злонамеренных действий. Набор данных, который необходимо спроектировать для полного тестирования безопасности программного обеспечения, должен охватывать следующие темы:
- Конфиденциальность. Вся информация, предоставляемая клиентами, хранится в строжайшем секрете и не передается третьим лицам. В качестве короткого примера, если приложение использует SSL, вы можете создать набор тестовых данных, который проверяет, что шифрование выполнено правильно.
- Целостность: определите, что информация, предоставленная системой, верна. Для разработки подходящих тестовых данных вы можете начать с тщательного изучения дизайна, кода, баз данных и файловых структур.
- Аутентификация: представляет процесс установления личности пользователя. Данные тестирования могут быть спроектированы как различные сочетания имен пользователей и паролей, и их целью является проверка того, что только уполномоченные лица могут получить доступ к программной системе.
- Авторизация: сообщает, какие права принадлежат конкретному пользователю. Данные тестирования могут содержать различную комбинацию пользователей, ролей и операций , чтобы проверить, что только пользователи с достаточными привилегиями могут выполнять определенную операцию.
Тестовые данные для тестирования черного ящика
В Black Box Testing код не виден тестеру. Ваши функциональные тесты могут иметь тестовые данные, соответствующие следующим критериям:
- Нет данных : проверка ответа системы при отсутствии данных
- Допустимые данные : проверьте ответ системы при отправке действительных тестовых данных.
- Неверные данные : проверьте ответ системы при отправке тестовых данных InValid
- Недопустимый формат данных : проверьте ответ системы, когда данные теста имеют недопустимый формат.
- Набор данных граничных условий: данные испытаний, соответствующие граничным условиям
- Набор данных эквивалентных разделов: тестовые данные, квалифицирующие ваши эквивалентные разделы.
- Набор данных таблицы решений: тестовые данные, отвечающие вашей стратегии тестирования таблиц решений
- Набор тестовых данных перехода состояний: тестовые данные соответствуют вашей стратегии тестирования перехода состояний
- Use Case Test Data : данные теста синхронизированы с вашими вариантами использования.
Примечание . В зависимости от того, какое приложение тестируется, вы можете использовать некоторые или все вышеперечисленные методы создания тестовых данных.
Инструменты автоматического создания тестовых данных
Чтобы генерировать различные наборы данных, вы можете использовать гамму инструментов автоматического создания тестовых данных. Ниже приведены некоторые примеры таких инструментов:
1) Генератор тестовых данных GSApps можно использовать для создания интеллектуальных данных практически в любой базе данных или текстовом файле. Это позволяет пользователям:
- Завершите тестирование приложения, накачав базу данных значимыми данными
- Создание отраслевых данных, которые можно использовать для демонстрации
- Защита конфиденциальности данных путем создания клона существующих данных и маскирования конфиденциальных значений
- Ускорьте цикл разработки за счет упрощения тестирования и создания прототипов.
2) Генератор тестовых данных DTM — это полностью настраиваемая утилита, которая генерирует данные, таблицы (представления, процедуры и т. Д.) Для тестирования базы данных (тестирование производительности, тестирование качества, нагрузочное тестирование или тестирование удобства использования).
Datatect является генератором данных SQL от Banner Software, генерирует различные реалистичные тестовые данные в плоских файлах ASCII или напрямую генерирует тестовые данные для СУБД, включая Oracle, Sybase, SQL Server и Informix.
Вывод
В заключение, хорошо разработанные данные тестирования позволяют выявлять и исправлять серьезные недостатки в функциональности. Выбор выбранных тестовых данных должен быть переоценен на каждом этапе многофазного цикла разработки продукта. Поэтому всегда следите за этим.