211.64K
AI

Анализ_спецификаций,_верификация_и_аттестация_ПО

1.

МДК.02.01 «ТЕХНОЛОГИЯ РАЗРАБОТКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ»
Анализ спецификаций. Верификация и
аттестация ПО
Тема 2.1.3 «Оценка качества программных средств»

2.

КОНТЕКСТ ДИСЦИПЛИНЫ
Место занятия в жизненном цикле ПО
Требования
Спецификация
Разработка
Тестирование
Ключевой принцип инженерии качества:
Ошибку в требованиях и спецификации экспоненциально дешевле обнаружить до начала реализации, чем после завершения кодирования.
Верификация

3.

БЛОК 1. АНАЛИЗ СПЕЦИФИКАЦИЙ
Что такое спецификация требований?
Спецификация требований — структурированное описание того, какие функции, свойства и ограничения должна иметь программная система.
Функциональное
Нефункциональное
Ограничение
Авторизация по логину и паролю.
Отклик сервера < 2с при нагрузке.
Пароль от 8 до 32 символов.
Связь с тестированием: Требование → Критерий проверки → Тест-кейс

4.

БЛОК 1. АНАЛИЗ СПЕЦИФИКАЦИЙ
Виды спецификаций
Функциональные
Нефункциональные
Технические
Что должна делать система.
Характеристики системы.
Ограничения реализации.
• Регистрация и авторизация
• Производительность и масштабируемость
• Используемая СУБД
• Создание и обработка заказа
• Информационная безопасность
• Требования к ОС и окружению
• Формирование отчётов
• Эргономичность и надёжность
• Протоколы и форматы обмена

5.

БЛОК 1. АНАЛИЗ СПЕЦИФИКАЦИЙ
Критерии качества спецификации
Полнота
Непротиворечивость
Все необходимые условия и сценарии описаны.
Требования не исключают друг друга.
Проверяемость
Однозначность
Возможно объективно проверить выполнение.
Единая трактовка всеми участниками команды.
Пример анализа требования:
«Система должна быстро обрабатывать запросы» → Непроверяемо. Уточнение: «Результат запроса за ≤ 2 с при 100 одновременных пользователей».

6.

БЛОК 1. АНАЛИЗ СПЕЦИФИКАЦИЙ
Алгоритм анализа спецификации
1. Чтение
2. Результат
3. Полнота
4. Конфликты
Практический кейс:
Требование: «Пользователь должен иметь возможность быстро найти товар».
Проблемы: нет критерия «быстро», не определены атрибуты поиска и состав выдачи. Требует уточнения до этапа кодирования.
5. Тест-связь

7.

БЛОК 1. АНАЛИЗ СПЕЦИФИКАЦИЙ
Трассировка требований (Traceability)
Трассировка — установление явных связей между требованиями и связанными артефактами разработки и тестирования.
REQ-01
Use Case
Компонент
Польза: контроль реализации всех требований, анализ влияния изменений, выявление непокрытого функционала.
Test Case
Статус

8.

БЛОК 1. АНАЛИЗ СПЕЦИФИКАЦИЙ
Матрица трассировки требований
ID
Требование
Компонент
Test Case
Результат
REQ-01
Авторизация пользователя
AuthService
TC-01
Passed
REQ-02
Восстановление пароля
AccountService
TC-02
Passed
REQ-03
Блокировка после 5 ошибок
AuthService
TC-03
Failed
Матрица наглядно связывает требование, программный компонент и результаты проверки. REQ-03 сигнализирует о несоответствии.

9.

БЛОК 2. ВЕРИФИКАЦИЯ ПО
Что такое верификация?
Верификация — проверка того, что результаты определенного этапа разработки соответствуют установленным спецификациям.
Главный вопрос: «Правильно ли мы создаем систему?»
Верификация не сводится исключительно к тестированию программного кода; это комплекс инженерных процедур на всех этапах жизненного цикла.

10.

БЛОК 2. ВЕРИФИКАЦИЯ ПО
Методы верификации
Метод верификации
Выполнение программы
Описание
Code Review
Нет
Экспертная оценка кода коллегами
Инспекция
Нет
Формализованный разбор артефакта
Статический анализ
Нет
Проверка линтерами и анализаторами
Тестирование
Да
Проверка поведения на тест-кейсах

11.

БЛОК 2. ВЕРИФИКАЦИЯ ПО
Непрерывность верификации
Этап жизненного цикла
Объект проверки
Требования
Полнота и непротиворечивость спецификации
Проектирование
Архитектурные схемы и модели
Кодирование
Соответствие исходного кода стандартам
Тестирование
Фактическое поведение системы
Верификация — сквозной процесс на протяжении всего цикла разработки.

12.

БЛОК 3. АТТЕСТАЦИЯ И ВАЛИДАЦИЯ
Что такое валидация?
Валидация — оценка того, соответствует ли созданная система реальным потребностям и ожиданиям пользователя.
Главный вопрос: «Ту ли систему мы создаем?»
Процессы верификации и валидации взаимно дополняют друг друга, решая разные задачи контроля качества.

13.

БЛОК 3. АТТЕСТАЦИЯ И ВАЛИДАЦИЯ
Верификация vs Валидация
Критерий
Верификация
Валидация
Фокус вопроса
Правильно ли реализованы требования?
Решает ли система задачу пользователя?
Базовый ориентир
Спецификация / ТЗ
Реальные бизнес-потребности
Типичные методы
Code Review, юнит-тесты, статанализ
Приемочное и пользовательское тестирование
«Правильно строим?»
«То ли строим?»

14.

БЛОК 3. АТТЕСТАЦИЯ И ВАЛИДАЦИЯ
Формы и методы аттестации
Приемочное тестирование
Альфа-тестирование
Проверка перед передачей заказчику.
Внутренняя проверка в контролируемой среде.
Бета-тестирование
Защита проекта
Внешняя проверка пользователями.
Демонстрация результата в учебном процессе.
Конкретный набор процедур подбирается индивидуально под специфику и масштаб каждого проекта.

15.

БЛОК 4. СВЯЗЬ С ПРАКТИКОЙ
Связь с предыдущими ПЗ
ПЗ №9
ПЗ №10
ПЗ №11
Тестовый сценарий
Тестовое покрытие
Анализ спецификаций
Требование → Тест-кейс → Ожидаемый результат
Требования → Пакет тестов → Оценка покрытия
Требования → Контроль качества → Трассировка
Единая сквозная цепь: Требования → Спецификация → Тест → Покрытие → Верификация → Валидация

16.

ИТОГИ ЗАНЯТИЯ
Ключевые результаты обучения
Анализ и верификация спецификаций требований.
Построение матриц трассировки («требование → тест»).
Разделение понятий верификации («правильно ли строим?») и валидации («то ли строим?»).
МДК.02.01 • Специальность 09.02.07 • Информационные системы и программирование
English     Русский Правила