1. Новый функционал
6голосов

Добавление тестовой модели - mind map - для связи продукта, требований и тестов

Проблема

Я бы хотела в одном месте хранить тестовую модель, которая описывает продукт. Такую модель можно хранить в виде mind-map.
Далее match существующих тест-кейсов и тестов из launch с этой моделью.
Это поможет решить проблему оценки test-coverage как оценка покрытия по требованиям.


Идея

Я полагаю, что тестовая модель могла бы выглядеть как mind-map - дерево (древовидная структура). У каждого элемента дерева могут быть имя, id, description, тип узла (кастомное значение, которое можно было бы настраивать на отдной странице настроек проекта), теги, потомки (связь с другими листьями).

Каждый лист этого дерева генерирует уникальный id из path. Этот id мог бы прописываться в тест-кейсы/автотесты из кода, и на основе этого генерировать отдельный chart, в котором показывалось бы соотношение "фичи - кейсы", т.е. показывалось бы покрытие и плотность покрытия.

Пример возможной тестовой модели с фичами и "чек-листом" для проверок:
```
/
└── PRODUCT_NAME
└── login
├── user_name
│ ├── length
│ └── special_symbols
└── password
├── length
├── special_symbols
└── empty

```

Полное представление этого примера:

/
└── PRODUCT_NAME {id: 1, type: root, children: [2]}
└── login {id: 2, type: page, children: [3, 6], description: "page login"}
├── user_name {id: 3, type: field, children: [4, 5], description: "field for user login/name"}
│ ├── length {id: 4, type: requirement, children: [], id_path: "login-user_name-length"}
│ └── special_symbols {id: 5, type: requirement, children: [], id_path: "login-user_name-special_symbols"}
└── password {id: 6, type: field, children: [7, 8, 9]}
├── length {id: 7, type: requirement, children: [], id_path: "login-password-length"}
├── special_symbols {id: 8, type: requirement, children: [], id_path: "login-password-special_symbols"}
└── empty {id: 9, type: requirement, children: [], id_path: "login-password-empty"}

```

type: root - могло бы быть дефолтным ("стартовым") системным значением.
Остальные типы заполнять по-умолчанию.

Возможно id_path не нужен, но это что-то вроде человекочитаемого id до листа (по которому будет расчёт покрытия в основном).

нет комментариев