
Я не буду описывать здесь, что такое матрица трассировки, какие они бывают, как строить зависимости и прочую теорию. Это вы можете самостоятельно погуглить, если интересно. Я не люблю переписывать учебники.
Мы с вами разберем на примере, как аналитику проверить доработку с помощью матрицы трассировки.
Вы сняли требования, написали ТЗ, отдали разработчику. Он сделал. Теперь нужно проверить результат.
Вариант «просто потыкать в кнопки» — самая частая ошибка. Потыкали — вроде работает — отдали заказчику. А через день звонок: «А почему вот здесь не считается?» Потому что нужно проверить не только позитивный сценарий.
Начнем.
Пример: Расходная накладная со складами в табличной части
Документ: Реализация товаров (расходная накладная)
Конфигурация: 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. Час работы — и сплю спокойно.
И самое важное: очень быстро вы научитесь думать на шаг вперёд.
Удачных вам внедрений!
А вы проверяете доработки системно или «на глаз»?
