Я не буду описывать здесь, что такое матрица трассировки, какие они бывают, как строить зависимости и прочую теорию. Это вы можете самостоятельно погуглить, если интересно. Я не люблю переписывать учебники.

Мы с вами разберем на примере, как аналитику проверить доработку с помощью матрицы трассировки.

Вы сняли требования, написали ТЗ, отдали разработчику. Он сделал. Теперь нужно проверить результат.

Вариант «просто потыкать в кнопки» — самая частая ошибка. Потыкали — вроде работает — отдали заказчику. А через день звонок: «А почему вот здесь не считается?» Потому что нужно проверить не только позитивный сценарий.

Начнем.


Пример: Расходная накладная со складами в табличной части

Документ: Реализация товаров (расходная накладная)
Конфигурация: 1С: Управление торговлей
Доработка: В табличную часть документа добавлена колонка «Склад», чтобы можно было отгружать товар с разных складов одним документом.

Коротенько напомню: требования бывают разные и их много, нас интересуют только функциональные требования.


Шаг 1. Выписываем функциональные требования из ТЗ

ID

Требование

FR-01

В табличную часть документа добавлена колонка «Склад»

FR-02

Пользователь может выбрать склад из справочника «Склады» для каждой строки

FR-03

При проведении товар списывается со склада, указанного в строке

FR-04

Если в какой-либо строке склад не заполнен — документ не проводится

FR-05

Если на складе недостаточно остатка — документ не проводится

FR-06

В печатной форме ТОРГ-12 выводится склад по каждой позиции

Шаг 2. На каждое требование пишем тест-кейсы (позитивные, негативные, граничные)

Позитивные:

ID

Тест-кейс

TC-01

Заполнить две строки с разными складами (остатков достаточно). Провести. Проверить движения — остатки уменьшились на нужных складах

TC-02

Сформировать печатную форму ТОРГ-12 после проведения — проверить, что склады выводятся по строкам

Негативные и граничные:

ID

Тест-кейс

TC-03

В одной из строк не заполнить склад. Попытаться провести — ожидаем ошибку

TC-04

В одной из строк указать склад, на котором недостаточно остатка. Провести — ожидаем ошибку

TC-05

В первой строке указать склад с остатком ровно под нужное количество, во второй — склад с остатком больше. Провести — должно провестись

TC-06

Указать в нескольких строках один и тот же склад. Провести — остаток должен уменьшиться на общую сумму

TC-07

Попытаться выбрать склад, помеченный на удаление (если в системе есть такая возможность) — проверка, что система не даёт выбрать или предупреждает

TC-08

Провести документ, затем попытаться изменить проведённый документ (если редактирование запрещено настройками) — проверка блокировки

Шаг 3. Матрица трассировки

Строки — требования, столбцы — тест-кейсы. На пересечении X, если тест проверяет это требование.

Требование

TC-01

TC-02

TC-03

TC-04

TC-05

TC-06

TC-07

TC-08

FR-01

X

X

X

X

X

FR-02

X

X

X

X

X

FR-03

X

X

X

X

FR-04

X

FR-05

X

X

FR-06

X

Шаг 4. Что даёт такая матрица

  • FR-04 (проверка заполнения склада) проверяется только TC-03 — если тест пройден, требование работает.

  • FR-05 (недостаток остатка) проверяется TC-04 и TC-05 — если падает TC-04, значит, при нехватке остатка документ всё равно проводит.

  • FR-03 (списание) проверяется TC-01, TC-05, TC-06, а также TC-08 — последний проверяет, что после проведения нельзя изменить склад (иначе списание перестанет быть корректным).

  • FR-06 (печатная форма) — только TC-02.

  • TC-07 проверяет одновременно FR-01 и FR-02 (выбор склада и наличие колонки).

  • TC-08 связан с FR-02 и FR-03 — если тест падает, значит, проведённый документ можно редактировать, что ломает логику списания.

  • TC-05 проверяет граничное условие: если остаток ровно равен нужному количеству, система должна провести документ (типичная ошибка разработчика — поставить условие «больше» вместо «больше или равно»).

Если TC-04 упадёт — разработчик идёт чинить проверку остатков.
Если TC-03 упадёт — чинит обязательность заполнения.


Зачем это аналитику в 1С

В 1С-проектах отдельного тестировщика чаще всего нет. Аналитик сам проверяет доработки. Матрица даёт:

  • Ничего не забыть. Каждое требование привязано к тесту.

  • Не пропустить граничные случаи. Негативные сценарии не на коленке, а в таблице.

  • Понять последствия. Если падает один тест — видно, какие требования под угрозой.

  • Отчитаться. Заказчику можно показать: все требования проверены.


Коротко

Матрица трассировки — это ваш щит перед заказчиком. Если возникнут вопросы, у вас есть документ, в котором проверили ВСЕ функциональные требования. Вы защищаете и себя, и разработчика. Вы не будете стоять и хлопать глазами перед заказчиком, пытаясь оправдаться: «А… эээ… ну… всё работало… сейчас будем разбирать».

Я делаю её в Google Sheets на каждую доработку. Можете делать где вам удобно, например в Miro. Час работы — и сплю спокойно.

И самое важное: очень быстро вы научитесь думать на шаг вперёд.

Удачных вам внедрений!


А вы проверяете доработки системно или «на глаз»?

Комментарии (7)


  1. kompilainenn2
    27.02.2026 14:26

    Заяем аналитику делать работу тестировщика? Или в мире 1С так принято просто?


    1. AriaQA Автор
      27.02.2026 14:26

      Хороший вопрос! В мире классической разработки это действительно выглядит странно, но в 1С своя специфика.

      Если мы говорим про внутренний инхаус крупных компаний, там стек обычно полный: есть архитекторы, консультанты и аналитики. Но даже там ручной QA — это исчезающий вид. Чаще всего всё закрывают автотестами (Vanessa Automation), а функциональную приемку "на соответствие бизнесу" всё равно делает аналитик.

      А вот в компаниях, которые занимаются внешним внедрением, ситуация жестче. Там команда часто состоит из троих: Менеджер (его задача — продать проект), Разработчик и Аналитик. И вот тут Аналитик реально превращается в "человека-оркестра": он снимает требования, пишет ТЗ, сам же его тестирует и сам сдает заказчику.

      Матрица трассировки в таких условиях — это не попытка отобрать хлеб у тестировщика, а единственный способ для аналитика выжить, не пропустить баги и не "хлопать глазами" на сдаче. Это просто инструмент контроля качества там, где больше некому этот контроль обеспечить.


    1. gennayo
      27.02.2026 14:26

      Да, в мире 1С очень часто нет выделенной роли тестировщика, поэтому кроме аналитика типа некому :) В идеальном мире сейчас грамотные аналитики 1С пишут сценарии функционального тестирования с использованием специализированного ПО, которые затем прогоняются в автоматическом режиме.


  1. USergey
    27.02.2026 14:26

    Я думал работа системного аналитика заключается в знание программы, чтоб не переизобретать и не тестировать переизобретенные костыли, а по максимому использовать что заложено в типовое решение.

    Я к тому что в УТ насколько помню, заложена реализация с нескольких складов. Если ошибаюсь прошу меня заранее извенить, выгараю без компьютера на пляжу.


    1. AriaQA Автор
      27.02.2026 14:26

      Хорошего отдыха! ☀️ Вы абсолютно правы: изобретать то, что уже есть в типовом функционале — это зло. Золотое правило 1С-аналитика: максимально использовать заложенное вендором.

      В статье я взяла этот кейс именно как короткий и понятный каждому аналитику пример, чтобы не перегружать текст спецификой сложной кастомной логики. Моя цель — показать саму систему: как работает Матрица трассировки.

      Этот инструмент универсален. Его можно и нужно применять на любой доработке: от маленькой колонки до огромной подсистемы, которой точно нет в коробке.


      1. USergey
        27.02.2026 14:26

        Вы правильно объясняете на доступных, базовых примерах, так делают многие учителя в уц1.

        Единственное отличие что они свою упрощенную конфигурацию называют каркасной. Это заготовка с который ученик работает.

        Называя это торговлей, можно в будущем наткнутся на ленивого аналитика получившего похожую задачу и списавшего в интернете требования с условиями приемки.

        Это породит дальнейшие ошибки в человеческой многоножке. Мусор на входе - порождает мусор на выходе.

        А так замечательная статья. Можно в колонки и строки добавить наименование, а не только номер и в ней орентироваться можно будет без сопровождающего описания. Это убережет мозги от хранения бесполезных переменных fr и tc.


        1. AriaQA Автор
          27.02.2026 14:26

          Насчет "каркасности" примера — это осознанный выбор. На Хабре в 80% случаев встречаются только обзоры инструментов, но почти нет конкретики: а как его применить в реальной жизни? Я взяла УТ как понятную базу, чтобы сфокусироваться на методике.

          К сожалению, в среде аналитиков 1С системная проверка через Матрицу трассировки — это большая редкость. Многие привыкли проверять "на глаз", и моя статья — попытка показать, что можно (и нужно) работать по-другому.

          Про "человеческую многоножку" — риск есть, но я надеюсь, что статья научит коллег именно думать, а не просто копировать ID. Насчет названий требований прямо в матрице — отличный совет, в крупных проектах это действительно спасает мозги от лишних переменных. Спасибо за конструктив!»