[{"data":1,"prerenderedAt":49},["ShallowReactive",2],{"wiki-test-management-requirements-traceability-ru":3},{"meta":4,"html":8,"headings":9,"words":48},{"title":5,"description":6,"published":7,"updated":7,"sourceUpdated":7},"Трассируемость и покрытие требований","Трассируемость требований: прямые и обратные связи, матрица трассируемости, покрытие требований и его расчёт, анализ влияния изменений.","2026-11-03","\u003Cp>\u003Cstrong>Трассируемость требований\u003C/strong> (requirements traceability) - возможность проследить требование от его источника через проектирование, реализацию и тесты до результатов тестирования и обратно. Готел и Финкельштейн в 1994 году определили её как возможность описать и проследить жизнь требования в прямом и обратном направлении. Словарный стандарт ISO/IEC/IEEE 24765 определяет трассируемость в общем виде как степень, в которой можно установить связь между двумя или более продуктами процесса разработки.\u003C/p>\n\u003Cp>В тестировании трассируемость - это связи между базисом тестирования (требованиями, \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"user-story\">юзер стори\u003C/span>, рисками) и тестовыми артефактами (\u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"test-case\">тест-кейсами\u003C/span>, \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"test-result\">результатами тестов\u003C/span>, \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"defect\">дефектами\u003C/span>). Силлабус ISTQB Foundation Level (версия 4.0.1, раздел 1.4.4) считает установление и поддержание такой трассируемости на всём протяжении процесса тестирования условием эффективного мониторинга и контроля тестирования. На трассируемости основаны два показателя, которые вычисляет \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>, которые затрагивает изменение.\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\u003Cul>\n\u003Cli>у каких требований нет ни одного теста;\u003C/li>\n\u003Cli>какие требования проверены в этом релизе и с каким результатом;\u003C/li>\n\u003Cli>какие тест-кейсы нужно выполнить снова, когда меняется требование;\u003C/li>\n\u003Cli>зачем существует тест-кейс и нужен ли он ещё;\u003C/li>\n\u003Cli>какие требования затронуты открытыми дефектами релиза.\u003C/li>\n\u003C/ul>\n\u003Cp>Силлабус ISTQB называет применения трассируемости в тестировании: оценка покрытия, определение влияния изменений, поддержка аудитов и ИТ-управления (IT governance), а также более понятные отчёты о ходе и завершении тестирования - в них можно показать состояние элементов базиса тестирования: требований, которые прошли свои тесты, не прошли их или ждут выполнения тестов.\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\u003Cul>\n\u003Cli>\u003Cstrong>Прямая трассируемость\u003C/strong> (forward traceability) идёт от требования к рабочим продуктам, которые из него выведены: проекту, коду, тест-кейсам, результатам тестов. Она отвечает на вопрос «реализовано и проверено ли это требование?».\u003C/li>\n\u003Cli>\u003Cstrong>Обратная трассируемость\u003C/strong> (backward traceability) идёт от рабочего продукта назад к требованию, из которого он происходит. Она отвечает на вопрос «зачем существует этот тест-кейс, этот фрагмент кода?».\u003C/li>\n\u003C/ul>\n\u003Cp>Если по связям можно пройти в обоих направлениях, трассируемость называют \u003Cstrong>двусторонней\u003C/strong> (bidirectional). В системе управления тестированием связь требования с тест-кейсом обычно одна запись, и её читают в обе стороны.\u003C/p>\n\u003Cp>Готел и Финкельштейн разделили трассируемость и по этапам. \u003Cstrong>Трассируемость до спецификации требований\u003C/strong> (pre-requirements specification traceability) связывает требование с его происхождением: людьми, документами и решениями, из которых оно взялось. \u003Cstrong>Трассируемость после спецификации требований\u003C/strong> (post-requirements specification traceability) связывает требование с тем, что из него следует: проектом, реализацией, тестами. Их исследование с участием более 100 практиков показало, что большинство проблем, которые приписывают плохой трассируемости, связаны с первым видом. Управление тестированием имеет дело в основном со вторым.\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-code wiki-code--plain\">\u003Cpre>\u003Ccode>Requirement PAY-7 &quot;An expired card is rejected&quot;\n |\n +-- Test condition: payment with an expired saved card\n       |\n       +-- Test case TC-13 &quot;Pay with an expired card&quot;\n             |\n             +-- Result in run &quot;Release 2.4.0, Safari&quot;: failed\n             |     |\n             |     +-- Defect BUG-310\n             |\n             +-- Result in run &quot;Retest, 2.4.1, Safari&quot;: passed\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Каждую связь в цепочке создаёт своя активность. Связь требования с \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"test-condition\">условием тестирования\u003C/span> появляется при анализе тестирования, связь условия с тест-кейсом - при проектировании тестов, связь тест-кейса с результатом - при выполнении, связь результата с дефектом - при регистрации дефекта. Цепочка полна, только если каждая активность записывает свою связь.\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> (traceability matrix) - таблица, которая показывает связи между двумя видами элементов, например требованиями и тест-кейсами. Строки - элементы одного вида, столбцы - другого, отметка на пересечении означает связь. Пример ниже охватывает пять требований и шесть тест-кейсов:\u003C/p>\n\u003Cdiv class=\"wiki-table wiki-table--cols-6\">\u003Ctable>\n\u003Cthead>\n\u003Ctr>\n\u003Cth>Требование\u003C/th>\n\u003Cth>TC-11\u003C/th>\n\u003Cth>TC-12\u003C/th>\n\u003Cth>TC-13\u003C/th>\n\u003Cth>TC-14\u003C/th>\n\u003Cth>TC-15\u003C/th>\n\u003Cth>TC-16\u003C/th>\n\u003C/tr>\n\u003C/thead>\n\u003Ctbody>\n\u003Ctr>\n\u003Ctd>PAY-5 Оплата новой картой\u003C/td>\n\u003Ctd>x\u003C/td>\n\u003Ctd>\u003C/td>\n\u003Ctd>\u003C/td>\n\u003Ctd>\u003C/td>\n\u003Ctd>\u003C/td>\n\u003Ctd>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>PAY-6 Оплата сохранённой картой\u003C/td>\n\u003Ctd>\u003C/td>\n\u003Ctd>x\u003C/td>\n\u003Ctd>\u003C/td>\n\u003Ctd>\u003C/td>\n\u003Ctd>\u003C/td>\n\u003Ctd>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>PAY-7 Отклонение просроченной карты\u003C/td>\n\u003Ctd>\u003C/td>\n\u003Ctd>\u003C/td>\n\u003Ctd>x\u003C/td>\n\u003Ctd>x\u003C/td>\n\u003Ctd>\u003C/td>\n\u003Ctd>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>PAY-8 Возврат платежа\u003C/td>\n\u003Ctd>\u003C/td>\n\u003Ctd>\u003C/td>\n\u003Ctd>\u003C/td>\n\u003Ctd>\u003C/td>\n\u003Ctd>\u003C/td>\n\u003Ctd>\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>PAY-9 Чек по электронной почте\u003C/td>\n\u003Ctd>\u003C/td>\n\u003Ctd>x\u003C/td>\n\u003Ctd>\u003C/td>\n\u003Ctd>\u003C/td>\n\u003Ctd>x\u003C/td>\n\u003Ctd>\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Из матрицы прямо читаются два вида пробелов:\u003C/p>\n\u003Cul>\n\u003Cli>строка без отметок - \u003Cstrong>требование без тестов\u003C/strong>: PAY-8 не покрыто;\u003C/li>\n\u003Cli>столбец без отметок - \u003Cstrong>тест-кейс без требования\u003C/strong>: TC-16 не связан ни с одним из перечисленных требований. Он может проверять требование, которого нет в списке, а может быть устаревшим тестом.\u003C/li>\n\u003C/ul>\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>Связи требований с тест-кейсами - «многие ко многим». Требование обычно проверяют несколько тест-кейсов: у PAY-7 есть TC-13 для самого отклонения и TC-14 для сообщения, которое видит пользователь. Тест-кейс может проверять несколько требований: TC-12 оплачивает сохранённой картой и заодно проверяет, что чек приходит по электронной почте, поэтому он связан с PAY-6 и PAY-9.\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\u003C/ul>\n\u003Cp>По этому правилу непройденный TC-12 сразу помечает два требования как непройденные. Поэтому отчёт по требованиям и отчёт по тест-кейсам дают для одного прогона разные числа, и оба верны.\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> (requirements coverage) - доля требований, покрытых тестами. В общем виде глоссарий ISTQB определяет покрытие (coverage) как степень, в которой набор тестов задействует заданные элементы покрытия, выраженную в процентах. Для покрытия требований элементы покрытия - это требования.\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>По связям\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>По прохождению\u003C/td>\n\u003Ctd>Все связанные тест-кейсы, выполненные в прогоне, пройдены\u003C/td>\n\u003Ctd>Работает ли оно на этой сборке?\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Для матрицы выше и прогона, в котором TC-11, TC-12, TC-13 и TC-15 пройдены, а TC-14 не пройден:\u003C/p>\n\u003Cul>\n\u003Cli>покрытие по связям: у 4 из 5 требований есть тест-кейс (у PAY-8 нет), 80 процентов;\u003C/li>\n\u003Cli>покрытие по выполнению: у тех же 4 требований есть выполненный тест-кейс, 80 процентов;\u003C/li>\n\u003Cli>покрытие по прохождению: у PAY-5, PAY-6 и PAY-9 все тест-кейсы пройдены, у PAY-7 есть непройденный, итого 3 из 5, 60 процентов.\u003C/li>\n\u003C/ul>\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>Покрытие требований считает связи, а не глубину проверки. Требование с одним поверхностным тест-кейсом и требование с двадцатью тест-кейсами, которые проверяют все границы, одинаково считаются покрытыми. Покрытие 100 процентов означает, что нет требований без тестов. Оно не означает, что требования проверены достаточно.\u003C/p>\n\u003Cp>Все требования считаются с одинаковым весом. На практике покрытие часто показывают отдельно для требований разного приоритета или риска: «все требования высокого риска покрыты и пройдены» говорит больше, чем «покрыто 92 процента требований».\u003C/p>\n\u003Cp>Показатель полон настолько, насколько полон список требований. Поведения, которое никто не записал как требование, в нём нет, каким бы важным оно ни было. Техники, которые позволяют получить тест-кейсы, проверяющие требование в глубину, описаны в серии о тест-дизайне, начиная со статьи \u003Ca href=\"/ru/wiki/test-design/equivalence-partitioning-and-boundary-values\" 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>\u003Cstrong>Анализ влияния\u003C/strong> (impact analysis), в формулировке глоссария ISTQB, - определение всех рабочих продуктов, которые затрагивает изменение, включая оценку ресурсов, нужных для его выполнения. В тестировании он отвечает на вопрос: какие тесты нужно обновить и выполнить снова после этого изменения?\u003C/p>\n\u003Cp>При наличии трассируемости анализ влияния идёт по связям:\u003C/p>\n\u003Cdiv class=\"wiki-code wiki-code--plain\">\u003Cpre>\u003Ccode>Change: requirement PAY-7 now also rejects cards that expire this month\n |\n +-- Linked test cases: TC-13, TC-14       -&gt; review and update\n +-- Their open defects: none\n +-- Related requirements: PAY-6           -&gt; its test case TC-12 goes to regression\u003C/code>\u003C/pre>\u003C/div>\n\u003Cp>Без связей затронутые тесты ищут поиском по текстам тест-кейсов, и тесты, которые описывают поведение другими словами, теряются.\u003C/p>\n\u003Cp>Силлабус ISTQB связывает анализ влияния с \u003Cspan class=\"wiki-term\" tabindex=\"0\" data-wiki-term=\"regression-testing\">регрессионным тестированием\u003C/span>: анализ влияния помогает определить объём регрессионного тестирования после изменения. Связи требований с тестами дают один источник сведений о влиянии. Другой источник - код: инструменты, которые записывают, какие тесты выполняют какие части кода, могут выбрать тесты, затронутые изменением кода. Два источника дополняют друг друга: первый отражает изменения замысла, второй - изменения реализации. Повторное и регрессионное тестирование в прогонах описано в статье \u003Ca href=\"/ru/wiki/test-management/test-run\" 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\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>Требования часто хранятся не в том инструменте, что тест-кейсы: в системе управления требованиями, таск-трекере, документе. Для обмена требованиями между инструментами разных производителей консорциум Object Management Group (OMG) публикует формат Requirements Interchange Format (ReqIF) на основе XML; его текущая версия 1.2 вышла в июле 2016 года. У каждого требования в файле ReqIF есть идентификатор, который не меняется от обмена к обмену, поэтому связи можно сохранить при повторном импорте требований.\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>Что означает пробел\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>Типичный уровень\u003C/td>\n\u003Ctd>Системные и приёмочные тесты\u003C/td>\n\u003Ctd>Модульные и интеграционные тесты\u003C/td>\n\u003C/tr>\n\u003C/tbody>\n\u003C/table>\u003C/div>\n\u003Cp>Каждая мера находит пробелы, которые другая найти не может. Покрытие кода не найдёт требование, которое так и не реализовали: покрывать нечего. Покрытие требований не найдёт код, который не выполняет ни один тест. Их используют вместе: покрытие требований - для вопроса «проверено ли всё, что требуется?», покрытие кода - для вопроса «выполняется ли тестами всё, что написано?». Уровни тестирования и их типичные меры описаны в статье \u003Ca href=\"/ru/wiki/test-automation/automation-levels-and-test-pyramid\" 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\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>Трассируемость требований (requirements traceability)\u003C/td>\n\u003Ctd>Возможность описать и проследить жизнь требования в прямом и обратном направлении\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Трассируемость (traceability)\u003C/td>\n\u003Ctd>Степень, в которой можно установить связь между двумя или более продуктами процесса разработки\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Прямая трассируемость (forward traceability)\u003C/td>\n\u003Ctd>Связи от требования к выведенным из него рабочим продуктам: проекту, коду, тестам, результатам\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Обратная трассируемость (backward traceability)\u003C/td>\n\u003Ctd>Связи от рабочего продукта назад к требованию, из которого он происходит\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Матрица трассируемости (traceability matrix)\u003C/td>\n\u003Ctd>Таблица, которая показывает связи между двумя видами элементов, например требованиями и тест-кейсами\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Покрытие требований (requirements coverage)\u003C/td>\n\u003Ctd>Доля требований, покрытых тестами: по связям, по выполнению или по прохождению\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Покрытие (coverage)\u003C/td>\n\u003Ctd>Степень, в которой набор тестов задействует заданные элементы покрытия, выраженная в процентах\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>Анализ влияния (impact analysis)\u003C/td>\n\u003Ctd>Определение рабочих продуктов, которые затрагивает изменение\u003C/td>\n\u003C/tr>\n\u003Ctr>\n\u003Ctd>ReqIF\u003C/td>\n\u003Ctd>Requirements Interchange Format: XML-формат OMG для обмена требованиями между инструментами\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://discovery.ucl.ac.uk/749/\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">An analysis of the requirements traceability problem, O. Gotel, A. Finkelstein, 1994\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/71952.html\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">ISO/IEC/IEEE 24765:2017, Systems and software engineering, Vocabulary\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.omg.org/spec/ReqIF/1.2\" target=\"_blank\" rel=\"noopener\" class=\"wiki-link wiki-link--external\">Requirements Interchange Format (ReqIF), version 1.2, OMG\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,20,23,27,30,33,36,39,42,45],{"id":11,"level":12,"text":13},"какую-задачу-решает-трассируемость",2,"Какую задачу решает трассируемость",{"id":15,"level":12,"text":16},"направления-трассируемости","Направления трассируемости",{"id":18,"level":12,"text":19},"цепочка-связей","Цепочка связей",{"id":21,"level":12,"text":22},"матрица-трассируемости","Матрица трассируемости",{"id":24,"level":25,"text":26},"связи-многие-ко-многим",3,"Связи «многие ко многим»",{"id":28,"level":12,"text":29},"покрытие-требований","Покрытие требований",{"id":31,"level":25,"text":32},"ограничения-покрытия-требований","Ограничения покрытия требований",{"id":34,"level":12,"text":35},"анализ-влияния","Анализ влияния",{"id":37,"level":12,"text":38},"поддержание-трассируемости","Поддержание трассируемости",{"id":40,"level":12,"text":41},"покрытие-требований-и-покрытие-кода","Покрытие требований и покрытие кода",{"id":43,"level":12,"text":44},"термины","Термины",{"id":46,"level":12,"text":47},"источники","Источники",1713,1793718892092]