[{"data":1,"prerenderedAt":64},["ShallowReactive",2],{"wiki-test-management-test-case-ru":3},{"meta":4,"html":8,"headings":9,"words":63},{"title":5,"description":6,"published":7,"updated":7,"sourceUpdated":7},"Тест-кейс","Тест-кейс: предусловия, шаги, ожидаемые результаты и постусловия, атомарность, параметризация, приоритет, статусы жизненного цикла и пользовательские свойства.","2026-11-03","\u003Cp>\u003Cstrong>Тест-кейс\u003C/strong> (test case) - описание одной проверки продукта: состояние, с которого проверка начинается, выполняемые действия, ожидаемые результаты и состояние после проверки. Глоссарий ISTQB определяет тест-кейс как совокупность предусловий, входных данных, действий (если они нужны), ожидаемых результатов и постусловий, разработанную на основе условий тестирования.\u003C/p>\n\u003Cp>Структуру тест-кейса описывает международный стандарт документации тестирования ISO/IEC/IEEE 29119-3 (текущая редакция 2021 года) в составе документа «спецификация тест-кейсов» (test case specification). До 2013 года ту же роль играл стандарт IEEE 829 о документации тестирования программного обеспечения. В \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"test-management-system\">системе управления тестированием\u003C/span> тест-кейс - центральная сущность: \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"test-suite\">наборы тестов\u003C/span> группируют тест-кейсы, \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"test-run\">тестовые прогоны\u003C/span> их выполняют, результаты и \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"defect\">дефекты\u003C/span> на них ссылаются. Система в целом описана в статье \u003Ca href=\"/ru/wiki/test-management/what-is-a-test-management-system\" class=\"wiki-link wiki-link--article\">Что такое система управления тестированием\u003C/a>.\u003C/p>\n\u003Ch2 id=\"зачем-нужен-тест-кейс\" class=\"wiki-heading\">Зачем нужен тест-кейс\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"зачем-нужен-тест-кейс\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Незаписанная проверка существует только в голове того, кто её выполняет. Другой человек не сможет повторить её так же, её нельзя проверить до выполнения, а её результат нельзя сравнить с результатом прошлого релиза.\u003C/p>\n\u003Cp>Записанный тест-кейс решает эти задачи:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>Повторяемость.\u003C/strong> Два человека, которые выполняют один тест-кейс на одной версии продукта, получают одинаковый результат: условия, действия и ожидаемые результаты зафиксированы.\u003C/li>\n\u003Cli>\u003Cstrong>Рецензирование.\u003C/strong> Тест-кейсы рецензируют до выполнения, как любой другой рабочий продукт. Ошибку в тесте дешевле найти в его тексте, чем в его результатах.\u003C/li>\n\u003Cli>\u003Cstrong>История.\u003C/strong> Каждое выполнение тест-кейса оставляет результат. Результаты одного тест-кейса по релизам показывают, когда изменилось поведение.\u003C/li>\n\u003Cli>\u003Cstrong>Покрытие.\u003C/strong> Тест-кейс связан с требованиями или рисками, которые он проверяет. По связям видно, что покрыто тестами, а что нет.\u003C/li>\n\u003Cli>\u003Cstrong>Регрессия.\u003C/strong> После изменений продукта набор тест-кейсов выполняют снова. Без записанных тест-кейсов \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"regression-testing\">регрессионное тестирование\u003C/span> зависит от памяти тестировщиков.\u003C/li>\n\u003C/ul>\n\u003Ch2 id=\"структура-тест-кейса\" class=\"wiki-heading\">Структура тест-кейса\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"структура-тест-кейса\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Определение ISTQB перечисляет части тест-кейса. Системы управления тестированием добавляют к ним идентификатор, название и атрибуты.\u003C/p>\n\u003Ch3 id=\"идентификатор-и-название\" class=\"wiki-heading\">Идентификатор и название\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"идентификатор-и-название\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>Идентификатор уникален в пределах проекта и не меняется при правке тест-кейса: на него ссылаются результаты, дефекты и связи с требованиями. Название говорит, что проверяется, в терминах поведения: «Оплата просроченной картой отклоняется», а не «Тест оплаты 3».\u003C/p>\n\u003Ch3 id=\"цель-и-трассируемость\" class=\"wiki-heading\">Цель и трассируемость\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"цель-и-трассируемость\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>Цель указывает, какое условие тестирования проверяет тест-кейс. \u003Cstrong>Условие тестирования\u003C/strong> (test condition) в глоссарии ISTQB - проверяемый аспект компонента или системы, выбранный как основа для тестирования. Цель записывается как связь с требованием, \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"user-story\">юзер стори\u003C/span>, критерием приёмки или риском. Эти связи - основа \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"requirements-traceability\">трассируемости требований\u003C/span>, описанной в статье \u003Ca href=\"/ru/wiki/test-management/requirements-traceability\" class=\"wiki-link wiki-link--article\">Трассируемость и покрытие требований\u003C/a>.\u003C/p>\n\u003Ch3 id=\"предусловия\" class=\"wiki-heading\">Предусловия\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"предусловия\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>\u003Cstrong>Предусловие\u003C/strong> (precondition) - необходимое состояние объекта тестирования и \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"test-environment\">тестового окружения\u003C/span> перед выполнением теста. К предусловиям относятся версия продукта, конфигурация окружения, существующие данные и состояние пользователя: «Пользователь вошёл в систему. В корзине один товар. К учётной записи привязана сохранённая карта со сроком действия 01/2025».\u003C/p>\n\u003Cp>Предусловие записывают так, чтобы его можно было проверить и создать. «Система в нормальном состоянии» проверить нельзя. «Список заказов пользователя пуст» - можно.\u003C/p>\n\u003Ch3 id=\"шаги-и-ожидаемые-результаты\" class=\"wiki-heading\">Шаги и ожидаемые результаты\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"шаги-и-ожидаемые-результаты\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>\u003Cstrong>Шаг теста\u003C/strong> (test step) - одно взаимодействие участника с объектом тестирования: входные данные, действие и ожидаемый результат. \u003Cstrong>Ожидаемый результат\u003C/strong> (expected result) - наблюдаемое предсказанное поведение объекта тестирования в заданных условиях, основанное на базисе тестирования.\u003C/p>\n\u003Cp>Ожидаемый результат каждого шага записывают так, чтобы исполнитель мог сравнить его с наблюдаемым без толкований. «Страница работает правильно» сравнить нельзя. «Под полем карты показано сообщение Card expired, заказ не создан» - можно.\u003C/p>\n\u003Cp>Пример ниже - тест-кейс из трёх шагов:\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-3\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>№\u003C/th>\n\u003Cth>Действие\u003C/th>\n\u003Cth>Ожидаемый результат\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>1\u003C/td>\n\u003Ctd>Открыть корзину и нажать «Оформить заказ»\u003C/td>\n\u003Ctd>Открывается страница оплаты, выбрана сохранённая карта\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>2\u003C/td>\n\u003Ctd>Нажать «Оплатить»\u003C/td>\n\u003Ctd>Под полем карты показано сообщение «Card expired»\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>3\u003C/td>\n\u003Ctd>Открыть список заказов\u003C/td>\n\u003Ctd>Список пуст\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Отдельный ожидаемый результат нужен не каждому шагу. Шаг, который только готовит следующий («Ввести сумму 100»), можно объединить с шагом, результат которого проверяется.\u003C/p>\n\u003Ch3 id=\"постусловия\" class=\"wiki-heading\">Постусловия\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"постусловия\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>\u003Cstrong>Постусловие\u003C/strong> (postcondition) - ожидаемое состояние объекта тестирования и его окружения в конце выполнения тест-кейса. Постусловия описывают, что остаётся после теста, например созданные записи или изменённые настройки, и что нужно убрать, чтобы следующий тест начинался с известного состояния.\u003C/p>\n\u003Ch3 id=\"тестовые-данные\" class=\"wiki-heading\">Тестовые данные\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"тестовые-данные\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>Тестовые данные - значения, которые использует тест-кейс: учётные записи, суммы, даты, файлы. Их записывают в самом тест-кейсе, в отдельной таблице или в наборе данных, на который ссылается тест-кейс. Тестовые данные, которые зависят от окружения (учётная запись, которая есть только на одном стенде), указывают явно, иначе тест-кейс нельзя выполнить в другом окружении.\u003C/p>\n\u003Ch3 id=\"высокоуровневые-и-низкоуровневые-тест-кейсы\" class=\"wiki-heading\">Высокоуровневые и низкоуровневые тест-кейсы\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"высокоуровневые-и-низкоуровневые-тест-кейсы\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h3>\n\u003Cp>Глоссарий ISTQB различает два уровня детализации. У \u003Cstrong>высокоуровневого тест-кейса\u003C/strong> (high-level test case) абстрактные предусловия, входные данные, ожидаемые результаты и действия: «Оплатить просроченной картой». У \u003Cstrong>низкоуровневого тест-кейса\u003C/strong> (low-level test case) конкретные значения и подробное описание действий: номер карты, дата, точный текст сообщения.\u003C/p>\n\u003Cp>Высокоуровневые тест-кейсы быстрее писать, и они оставляют место для опыта тестировщика. Низкоуровневые дают одинаковый результат у любого исполнителя и служат прямой основой для автоматизации. Выбор зависит от квалификации тестировщиков, риска области и требований проекта к повторяемости и аудиту.\u003C/p>\n\u003Ch2 id=\"атомарность\" class=\"wiki-heading\">Атомарность\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"атомарность\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Атомарный тест-кейс проверяет одно условие тестирования, и у него одна причина не пройти. Тогда у статуса его результата одно значение: «не пройден» указывает на одно поведение.\u003C/p>\n\u003Cp>У тест-кейса, который проверяет сразу несколько условий («регистрация, вход и смена пароля»), несколько проблем:\u003C/p>\n\u003Cul>\n\u003Cli>если не проходит вторая проверка, третья не выполняется, и её состояние остаётся неизвестным;\u003C/li>\n\u003Cli>статус «не пройден» не говорит, какое из поведений сломано;\u003C/li>\n\u003Cli>покрытие завышается: один пройденный результат засчитывается трём требованиям, хотя выполнена могла быть только часть тест-кейса.\u003C/li>\n\u003C/ul>\n\u003Cp>Атомарность не означает один шаг. Тест-кейсу часто нужно несколько шагов, чтобы дойти до состояния, в котором выполняется проверка. Атомарность означает одно проверяемое поведение, а предшествующие шаги служат подготовкой.\u003C/p>\n\u003Ch2 id=\"параметризация\" class=\"wiki-heading\">Параметризация\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"параметризация\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Многие проверки различаются только данными: те же шаги с разными суммами, валютами или ролями пользователя. Параметризация отделяет шаги от данных. Тест-кейс пишут один раз с параметрами, а таблица данных перечисляет сочетания:\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-3\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Роль\u003C/th>\n\u003Cth>Сумма\u003C/th>\n\u003Cth>Ожидаемый результат\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Покупатель\u003C/td>\n\u003Ctd>100.00\u003C/td>\n\u003Ctd>Оплата принята\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Покупатель\u003C/td>\n\u003Ctd>0.00\u003C/td>\n\u003Ctd>Сообщение «Введите сумму больше нуля»\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Гость\u003C/td>\n\u003Ctd>100.00\u003C/td>\n\u003Ctd>Открывается страница входа\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Каждая строка таблицы выполняется и записывается как отдельный результат. Изменение шагов делается в одном месте для всех сочетаний.\u003C/p>\n\u003Cp>В автоматизации тот же подход называется \u003Cstrong>тестированием на основе данных\u003C/strong> (data-driven testing): тестовые данные и ожидаемые результаты хранятся отдельно от тестового сценария. Тестовые фреймворки поддерживают его напрямую. В pytest, например, одна тестовая функция выполняется для каждого набора параметров:\u003C/p>\n\u003Cdiv class=\"wiki-code\" data-language=\"python\">\u003Cdiv class=\"wiki-code__header\">\u003Cspan class=\"wiki-code__language\">python\u003C/span>\u003Cbutton type=\"button\" class=\"wiki-code__copy\" data-wiki-copy data-copied-label=\"Скопировано\">\u003Csvg class=\"wiki-code__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z\"/>\u003C/svg>\u003Csvg class=\"wiki-code__icon wiki-code__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003Cspan class=\"wiki-code__label\">Копировать\u003C/span>\u003Cspan class=\"wiki-code__label wiki-code__label--done\">Скопировано\u003C/span>\u003C/button>\u003C/div>\u003Cpre>\u003Ccode>import pytest\n\n\n@pytest.mark.parametrize(\n    (&quot;amount&quot;, &quot;accepted&quot;),\n    [(&quot;100.00&quot;, True), (&quot;0.00&quot;, False)],\n)\ndef test_payment_amount(checkout, amount, accepted):\n    result = checkout.pay(amount)\n    assert result.accepted is accepted\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Как выбрать значения параметров, чтобы небольшое число строк покрывало значимые случаи, описано в серии о тест-дизайне: \u003Ca href=\"/ru/wiki/test-design/equivalence-partitioning-and-boundary-values\" class=\"wiki-link wiki-link--article\">Классы эквивалентности и граничные значения\u003C/a> и \u003Ca href=\"/ru/wiki/test-design/pairwise-testing\" class=\"wiki-link wiki-link--article\">Попарное тестирование\u003C/a>.\u003C/p>\n\u003Ch2 id=\"приоритет\" class=\"wiki-heading\">Приоритет\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"приоритет\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Приоритет определяет порядок выполнения тест-кейсов, когда выполнить все нельзя или когда самые важные нужны первыми. Силлабус ISTQB Foundation Level (версия 4.0.1) называет три распространённых подхода к приоритизации:\u003C/p>\n\u003Cul>\n\u003Cli>\u003Cstrong>на основе рисков\u003C/strong>: первыми выполняются тест-кейсы, которые проверяют самые высокие риски;\u003C/li>\n\u003Cli>\u003Cstrong>на основе покрытия\u003C/strong>: первыми выполняются тест-кейсы, которые дают наибольшее покрытие;\u003C/li>\n\u003Cli>\u003Cstrong>на основе требований\u003C/strong>: порядок следует приоритетам требований, которые задали заинтересованные стороны.\u003C/li>\n\u003C/ul>\n\u003Cp>На порядок влияют и зависимости между тест-кейсами: тест-кейс, которому нужны данные, созданные другим, выполняется после него.\u003C/p>\n\u003Cp>Приоритет тест-кейса - отдельный атрибут, не равный приоритету дефекта. Первый относится к порядку выполнения, второй - к порядку исправления. Оба разобраны отдельно в статье \u003Ca href=\"/ru/wiki/test-management/defect-report\" class=\"wiki-link wiki-link--article\">Отчёт о дефекте\u003C/a>.\u003C/p>\n\u003Ch2 id=\"статусы-жизненного-цикла\" class=\"wiki-heading\">Статусы жизненного цикла\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"статусы-жизненного-цикла\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Тест-кейс - рабочий продукт со своим жизненным циклом: его пишут, рецензируют, используют, обновляют и выводят из употребления. Стандарты не задают фиксированного набора статусов, и каждая система или команда задаёт свой. Типичный набор:\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-2\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Статус\u003C/th>\n\u003Cth>Значение\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Черновик\u003C/td>\n\u003Ctd>Тест-кейс пишется и в прогонах не используется\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>На рецензии\u003C/td>\n\u003Ctd>Тест-кейс ждёт рецензии\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Актуален\u003C/td>\n\u003Ctd>Тест-кейс утверждён и используется в прогонах\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Требует обновления\u003C/td>\n\u003Ctd>Продукт или требование изменились, и тест-кейс им больше не соответствует\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Устарел\u003C/td>\n\u003Ctd>Тест-кейс больше не используется, но его результаты сохраняются\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Статус тест-кейса и статус его результата - разные вещи. «Актуален» говорит, что описанием можно пользоваться. «Пройден» или «не пройден» говорит, что произошло при одном выполнении.\u003C/p>\n\u003Cp>Устаревший тест-кейс не удаляют. Его результаты принадлежат прошлым прогонам и отчётам, и удаление изменило бы историю. Его переводят в конечный статус и исключают из новых прогонов.\u003C/p>\n\u003Cp>Изменения тест-кейса версионируются. Результат ссылается на ту версию тест-кейса, которая была выполнена. Без этого прошлогодний результат указывал бы на шаги, написанные позже.\u003C/p>\n\u003Ch2 id=\"пользовательские-свойства\" class=\"wiki-heading\">Пользовательские свойства\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"пользовательские-свойства\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Системы управления тестированием позволяют командам добавлять к тест-кейсу свои поля - \u003Cstrong>пользовательские свойства\u003C/strong> (custom properties). Типичные примеры - компонент, платформа, вид теста (функциональный, производительности, безопасности), статус автоматизации (ручной, автоматизирован, к автоматизации) и уровень риска.\u003C/p>\n\u003Cp>\u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"custom-property\">Пользовательские свойства\u003C/span> служат трём целям: фильтрации при сборке прогона (например, все актуальные тест-кейсы компонента «Оплата» для Android), группировке в отчётах и сопоставлению данных при переносе тест-кейсов между системами. Последняя цель описана в статье \u003Ca href=\"/ru/wiki/test-management/migrating-test-management-systems\" class=\"wiki-link wiki-link--article\">Миграция между системами управления тестированием\u003C/a>.\u003C/p>\n\u003Ch2 id=\"тест-кейс-и-другие-формы-описания-тестов\" class=\"wiki-heading\">Тест-кейс и другие формы описания тестов\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"тест-кейс-и-другие-формы-описания-тестов\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cp>Тест-кейс - один из нескольких способов описать тест. Таблица сравнивает его с формами, которые чаще всего используют рядом с ним.\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-3\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Форма\u003C/th>\n\u003Cth>Что фиксирует\u003C/th>\n\u003Cth>Типичное применение\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Тест-кейс\u003C/td>\n\u003Ctd>Предусловия, шаги, ожидаемые результаты, постусловия\u003C/td>\n\u003Ctd>Повторяемые проверки, регрессия, аудит\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Чек-лист\u003C/td>\n\u003Ctd>Список условий для проверки, без шагов\u003C/td>\n\u003Ctd>Опытные тестировщики, быстрая регрессия, рецензии\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Тестовый устав (test charter)\u003C/td>\n\u003Ctd>Цель и границы сессии исследовательского тестирования, без шагов\u003C/td>\n\u003Ctd>Исследовательское тестирование\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Сценарий Gherkin\u003C/td>\n\u003Ctd>Поведение в форме Given / When / Then\u003C/td>\n\u003Ctd>Разработка через поведение (BDD), исполняемые спецификации\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Автотест\u003C/td>\n\u003Ctd>Шаги и проверки в виде кода\u003C/td>\n\u003Ctd>Регрессия в CI\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Чек-лист и тестовый устав оставляют действия на усмотрение тестировщика. Поэтому их быстрее писать, но они менее повторяемы: два выполнения одного пункта чек-листа могут различаться. Тест-кейс фиксирует действия и даёт одинаковый результат независимо от исполнителя.\u003C/p>\n\u003Cp>У сценария Gherkin те же части, что и у тест-кейса: \u003Ccode>Given\u003C/code> соответствует предусловиям, \u003Ccode>When\u003C/code> - действиям, \u003Ccode>Then\u003C/code> - ожидаемым результатам.\u003C/p>\n\u003Cdiv class=\"wiki-code\" data-language=\"gherkin\">\u003Cdiv class=\"wiki-code__header\">\u003Cspan class=\"wiki-code__language\">gherkin\u003C/span>\u003Cbutton type=\"button\" class=\"wiki-code__copy\" data-wiki-copy data-copied-label=\"Скопировано\">\u003Csvg class=\"wiki-code__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M216,28H88A12,12,0,0,0,76,40V76H40A12,12,0,0,0,28,88V216a12,12,0,0,0,12,12H168a12,12,0,0,0,12-12V180h36a12,12,0,0,0,12-12V40A12,12,0,0,0,216,28ZM156,204H52V100H156Zm48-48H180V88a12,12,0,0,0-12-12H100V52H204Z\"/>\u003C/svg>\u003Csvg class=\"wiki-code__icon wiki-code__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003Cspan class=\"wiki-code__label\">Копировать\u003C/span>\u003Cspan class=\"wiki-code__label wiki-code__label--done\">Скопировано\u003C/span>\u003C/button>\u003C/div>\u003Cpre>\u003Ccode>Feature: Payment\n\n  Scenario: Payment with an expired card is rejected\n    Given the user is signed in\n    And a saved card with the expiry date 01/2025 is linked to the account\n    When the user pays for the cart with the saved card\n    Then the message &quot;Card expired&quot; is shown\n    And no order is created\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Автотест часто пишут по тест-кейсу, и тест-кейс остаётся его описанием. Связь между ними хранится в системе управления тестированием: результат автотеста записывается как результат тест-кейса.\u003C/p>\n\u003Ch2 id=\"термины\" class=\"wiki-heading\">Термины\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"термины\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cdiv class=\"wiki-table wiki-table--cols-2\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Термин\u003C/th>\n\u003Cth>Значение\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>Тест-кейс (test case)\u003C/td>\n\u003Ctd>Совокупность предусловий, входных данных, действий, ожидаемых результатов и постусловий, разработанная на основе условий тестирования\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Условие тестирования (test condition)\u003C/td>\n\u003Ctd>Проверяемый аспект компонента или системы, выбранный как основа для тестирования\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Предусловие (precondition)\u003C/td>\n\u003Ctd>Необходимое состояние объекта тестирования и тестового окружения перед выполнением теста\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Шаг теста (test step)\u003C/td>\n\u003Ctd>Одно взаимодействие участника с объектом тестирования: входные данные, действие и ожидаемый результат\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Ожидаемый результат (expected result)\u003C/td>\n\u003Ctd>Наблюдаемое предсказанное поведение объекта тестирования в заданных условиях, основанное на базисе тестирования\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Постусловие (postcondition)\u003C/td>\n\u003Ctd>Ожидаемое состояние объекта тестирования и его окружения в конце выполнения тест-кейса\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Высокоуровневый тест-кейс\u003C/td>\n\u003Ctd>Тест-кейс с абстрактными предусловиями, входными данными, ожидаемыми результатами и действиями\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Низкоуровневый тест-кейс\u003C/td>\n\u003Ctd>Тест-кейс с конкретными значениями и подробным описанием действий\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Атомарный тест-кейс\u003C/td>\n\u003Ctd>Тест-кейс, который проверяет одно условие тестирования, и у него одна причина не пройти\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Тестирование на основе данных (data-driven testing)\u003C/td>\n\u003Ctd>Подход, при котором тестовые данные и ожидаемые результаты хранятся отдельно от шагов теста\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Ch2 id=\"источники\" class=\"wiki-heading\">Источники\u003Cbutton type=\"button\" class=\"wiki-heading__anchor\" data-wiki-anchor=\"источники\" aria-label=\"Скопировать ссылку на раздел\" data-copied-label=\"Ссылка на раздел скопирована\">\u003Csvg class=\"wiki-heading__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M117.18,188.74a12,12,0,0,1,0,17l-5.12,5.12A58.26,58.26,0,0,1,70.6,228h0A58.62,58.62,0,0,1,29.14,127.92L63.89,93.17a58.64,58.64,0,0,1,98.56,28.11,12,12,0,1,1-23.37,5.44,34.65,34.65,0,0,0-58.22-16.58L46.11,144.89A34.62,34.62,0,0,0,70.57,204h0a34.41,34.41,0,0,0,24.49-10.14l5.11-5.12A12,12,0,0,1,117.18,188.74ZM226.83,45.17a58.65,58.65,0,0,0-82.93,0l-5.11,5.11a12,12,0,0,0,17,17l5.12-5.12a34.63,34.63,0,1,1,49,49L175.1,145.86A34.39,34.39,0,0,1,150.61,156h0a34.63,34.63,0,0,1-33.69-26.72,12,12,0,0,0-23.38,5.44A58.64,58.64,0,0,0,150.56,180h.05a58.28,58.28,0,0,0,41.47-17.17l34.75-34.75a58.62,58.62,0,0,0,0-82.91Z\"/>\u003C/svg>\u003Csvg class=\"wiki-heading__icon wiki-heading__icon--done\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M232.49,80.49l-128,128a12,12,0,0,1-17,0l-56-56a12,12,0,1,1,17-17L96,183,215.51,63.51a12,12,0,0,1,17,17Z\"/>\u003C/svg>\u003C/button>\u003C/h2>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https://www.istqb.org/wp-content/uploads/2024/11/ISTQB_CTFL_Syllabus_v4.0.1.pdf\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">ISTQB Certified Tester Foundation Level Syllabus v4.0.1, ISTQB, 2024\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://glossary.istqb.org/\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Глоссарий ISTQB\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://www.iso.org/standard/79429.html\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">ISO/IEC/IEEE 29119-3:2021, Software testing, Part 3: Test documentation\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://standards.ieee.org/ieee/829/3787/\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">IEEE 829-2008, Standard for Software and System Test Documentation\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://docs.pytest.org/en/stable/how-to/parametrize.html\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">How to parametrize fixtures and test functions, документация pytest\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003Cli>\u003Ca href=\"https://cucumber.io/docs/gherkin/reference/\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Gherkin reference, Cucumber\u003Csvg class=\"wiki-link__icon\" viewBox=\"0 0 256 256\" width=\"16\" height=\"16\" fill=\"currentColor\" aria-hidden=\"true\" focusable=\"false\">\u003Cpath d=\"M228,104a12,12,0,0,1-24,0V69l-59.51,59.51a12,12,0,0,1-17-17L187,52H152a12,12,0,0,1,0-24h64a12,12,0,0,1,12,12Zm-44,24a12,12,0,0,0-12,12v64H52V84h64a12,12,0,0,0,0-24H48A20,20,0,0,0,28,80V208a20,20,0,0,0,20,20H176a20,20,0,0,0,20-20V140A12,12,0,0,0,184,128Z\"/>\u003C/svg>\u003Cspan class=\"wiki-visually-hidden\">(откроется в новой вкладке)\u003C/span>\u003C/a> (на английском)\u003C/li>\n\u003C/ul>\n",[10,14,17,21,24,27,30,33,36,39,42,45,48,51,54,57,60],{"id":11,"level":12,"text":13},"зачем-нужен-тест-кейс",2,"Зачем нужен тест-кейс",{"id":15,"level":12,"text":16},"структура-тест-кейса","Структура тест-кейса",{"id":18,"level":19,"text":20},"идентификатор-и-название",3,"Идентификатор и название",{"id":22,"level":19,"text":23},"цель-и-трассируемость","Цель и трассируемость",{"id":25,"level":19,"text":26},"предусловия","Предусловия",{"id":28,"level":19,"text":29},"шаги-и-ожидаемые-результаты","Шаги и ожидаемые результаты",{"id":31,"level":19,"text":32},"постусловия","Постусловия",{"id":34,"level":19,"text":35},"тестовые-данные","Тестовые данные",{"id":37,"level":19,"text":38},"высокоуровневые-и-низкоуровневые-тест-кейсы","Высокоуровневые и низкоуровневые тест-кейсы",{"id":40,"level":12,"text":41},"атомарность","Атомарность",{"id":43,"level":12,"text":44},"параметризация","Параметризация",{"id":46,"level":12,"text":47},"приоритет","Приоритет",{"id":49,"level":12,"text":50},"статусы-жизненного-цикла","Статусы жизненного цикла",{"id":52,"level":12,"text":53},"пользовательские-свойства","Пользовательские свойства",{"id":55,"level":12,"text":56},"тест-кейс-и-другие-формы-описания-тестов","Тест-кейс и другие формы описания тестов",{"id":58,"level":12,"text":59},"термины","Термины",{"id":61,"level":12,"text":62},"источники","Источники",1639,1793718891652]