SRS (Software Requirements Specification) — це специфікація програмних вимог, один із головних документів у процесі розробки та тестування програмного забезпечення.
У контексті тестування ПЗ, SRS — це основне джерело інформації для створення тест-кейсів, планів тестування та визначення критеріїв прийнятності (acceptance criteria).
Що таке SRS
SRS описує, як саме має працювати майбутня система — з технічної точки зору. Якщо BRD відповідає на питання «що потрібно бізнесу», то SRS пояснює «як саме програмне забезпечення має це реалізувати».
Основний зміст SRS
Типова структура SRS включає такі розділи:
- Вступ
- Мета документа
- Сфера застосування системи
- Терміни, скорочення
- Посилання на інші документи (наприклад, BRD)
- Загальний опис
- Контекст системи
- Основні функції
- Типи користувачів
- Обмеження, припущення, залежності
- Функціональні вимоги
- Детальний опис кожної функції системи
- Вхідні та вихідні дані
- Валідаційні правила
- Взаємодія між компонентами
- Нефункціональні вимоги
- Продуктивність
- Безпека
- Надійність
- Зручність використання (usability)
- Сумісність
- Інтерфейсні вимоги
- Опис GUI (екрани, поля, кнопки)
- Інтеграції з іншими системами або API
Роль SRS у тестуванні
Для тестувальників SRS є детальним технічним джерелом вимог, на основі якого вони можуть:
- Розробити тест-кейси з точним описом очікуваної поведінки системи;
- Побудувати RTM (Requirements Traceability Matrix), щоб переконатися, що всі вимоги покрито тестами;
- Зрозуміти логіку бізнес-процесів і перевірити, чи система працює відповідно до вимог;
- Виявити суперечності або пропуски у вимогах ще до початку розробки.
Взаємозв’язок із іншими документами
| Документ | Опис | Хто створює | Рівень деталізації |
| BRD | Бізнес-вимоги — що потрібно бізнесу | Бізнес-аналітик | Високий, загальний |
| FRD | Функціональні вимоги — що має робити система | Системний аналітик | Середній |
| SRS | Специфікація програмних вимог — як це має бути реалізовано | Аналітик / архітектор | Детальний |