В разработке программного обеспечения тестовый пример — это спецификация входных данных, условий выполнения, процедуры тестирования и ожидаемых результатов, которые определяют один тест, который должен быть выполнен для достижения конкретной цели тестирования программного обеспечения , например, для проверки определенного пути программы или для проверки. соответствие конкретному требованию. [1] Тестовые случаи лежат в основе тестирования, которое носит методический, а не бессистемный характер. Для обеспечения желаемого покрытия тестируемого программного обеспечения можно создать батарею тестовых примеров . Формально определенные тестовые сценарии позволяют повторно запускать одни и те же тесты для последовательных версий программного обеспечения, что позволяет проводить эффективное и последовательное регрессионное тестирование . [2]
Чтобы полностью проверить соответствие всем требованиям приложения, для каждого требования должно быть как минимум два тестовых примера: один положительный тест и один отрицательный тест. [3] Если требование имеет подтребования, каждое подтребование должно иметь как минимум два тестовых примера. Отслеживание связи между требованием и тестом часто осуществляется с помощью матрицы прослеживаемости . Письменные тестовые примеры должны включать описание тестируемой функциональности и подготовку, необходимую для проведения теста.
Формальный письменный тестовый пример характеризуется известными входными данными и ожидаемым результатом, который рассчитывается до выполнения теста. [4] Известные входные данные должны проверять предварительное условие , а ожидаемые выходные данные должны проверять постусловие .
Для приложений или систем без формальных требований тестовые примеры могут быть написаны на основе принятой нормальной работы программ аналогичного класса. В некоторых школах тестирования тестовые примеры вообще не пишутся, а действия и результаты сообщаются после запуска тестов.
При сценарном тестировании используются гипотетические истории, которые помогают тестировщику продумать сложную проблему или систему. Эти сценарии обычно не описываются подробно. Это могут быть простые диаграммы среды тестирования или описания, написанные прозой. Идеальный сценарий теста — это мотивирующая, заслуживающая доверия, сложная и легко поддающаяся оценке история. Они обычно отличаются от тестовых примеров тем, что тестовые сценарии представляют собой отдельные шаги, тогда как сценарии охватывают несколько ключевых шагов. [5] [6]
Тестовый пример обычно содержит один шаг или последовательность шагов для проверки правильного поведения/функциональности и функций приложения. Обычно дается ожидаемый результат или ожидаемый результат.
Дополнительная информация, которая может быть включена: [7]
Более крупные тестовые примеры могут также содержать обязательные состояния или шаги, а также описания. [7]
Письменный тестовый пример также должен содержать место для фактического результата.
Эти шаги можно сохранить в документе текстового процессора, электронной таблице, базе данных или другом общем репозитории.
В системе базы данных вы также можете увидеть результаты прошлых тестов, а также информацию о том, кто сгенерировал результаты, а также конфигурацию системы, использованную для генерации этих результатов. Эти прошлые результаты обычно хранятся в отдельной таблице.
Наборы тестов часто также содержат [8]
Помимо описания тестируемой функциональности и подготовки, необходимой для обеспечения возможности проведения теста, наиболее трудоемкой частью тестового сценария является создание тестов и их модификация при изменении системы.
В особых обстоятельствах может возникнуть необходимость провести тест, получить результаты, а затем группа экспертов оценит, можно ли считать результаты пройденными. Это часто происходит при определении показателей производительности новых продуктов. Первый тест принимается в качестве базовой линии для последующих циклов тестирования и выпуска продукта.
Приемочные тесты , в которых используется разновидность письменного тестового примера, обычно выполняются группой конечных пользователей или клиентов системы, чтобы убедиться, что разработанная система соответствует указанным требованиям или контракту. [9] [10] Пользовательские приемочные тесты отличаются включением « счастливого пути» или положительных тестовых случаев и почти полным исключением отрицательных тестовых случаев. [11]