Задание 1. Выберите три главных риска
- Назовите три проблемы, из-за которых «Кампус» может оказаться некачественным.
- Укажите, какую характеристику качества затрагивает каждая проблема.
- Расположите риски по важности и объясните порядок.
Как превратить «работает хорошо» в требования, которые можно проверить. Сначала изучите теорию и интерактивные модели, затем выполните три практических задания и тест внизу страницы. Всё сохраняется в этом браузере автоматически.
Представьте сервис электронного журнала колледжа «Кампус». В нём студент просматривает оценки, преподаватель выставляет результаты, а администратор создаёт учётные записи. Сегодня вход работает, но загрузка страницы занимает 25 секунд; завтра сервис быстро открывается, однако показывает чужие оценки. В обоих случаях система неудовлетворительна, хотя причина совершенно разная.
Качество компьютерной системы — степень, в которой система удовлетворяет установленным и подразумеваемым потребностям заинтересованных сторон в заданных условиях. Оно относится не только к коду: сеть, сервер, база данных, оборудование, процессы эксплуатации и работа пользователя влияют на результат.
Страница оценок показывает неправильную дисциплину. Нарушена функциональная корректность.
Сервер выключен из-за отсутствия питания. Пользователь также не может работать, хотя программный код может быть исправен.
В стандарте ISO/IEC 25010:2023 модель качества продукта содержит девять характеристик. Для начального курса полезно связывать каждую не с абстрактным названием, а с конкретным риском для «Кампуса». Стандарт используется как ориентир, а не как обещание, что все характеристики можно измерить одним числом.
| Характеристика | О чём спрашиваем | Пример проверки |
|---|---|---|
| Функциональная пригодность | Делает ли система то, что требуется? | Оценка сохраняется и отображается правильно |
| Производительность | Достаточно ли быстро и экономно расходуются ресурсы? | 95-й процентиль ответа при нагрузке |
| Совместимость | Может ли система взаимодействовать с окружением? | Работа в поддерживаемых браузерах |
| Способность к взаимодействию | Понятно ли человеку пользоваться продуктом? | Студент находит ведомость без подсказок |
| Надёжность | Стабильно ли работает и восстанавливается? | Время доступности, восстановление после сбоя |
| Безопасность | Защищены ли данные и действия? | Студент не может изменить чужие оценки |
| Сопровождаемость | Удобно ли анализировать, изменять и проверять? | Тесты и понятные журналы ошибок |
| Гибкость | Можно ли адаптировать систему к новым условиям? | Перенос на другую платформу |
| Безопасность применения (safety) | Не причиняет ли работа системы неприемлемый вред? | Контроль критических ошибочных действий в значимых системах |
Фраза «сайт должен работать быстро» не позволяет проверить результат однозначно. Одному пользователю достаточно 5 секунд, другой считает долгим ожидание более секунды. Поэтому требование формулируют с операцией, условиями, измерением, порогом и способом проверки.
| Расплывчато | Проверяемо |
|---|---|
| Доступность должна быть высокой | За календарный месяц доля успешных запросов чтения журнала ≥ 99,9% при оговорённых условиях измерения |
| Страницы открываются быстро | При 100 одновременных пользователях p95 серверного ответа GET /grades ≤ 800 мс |
| Система безопасна | Пользователь роли student получает отказ 403 при попытке изменить оценку через API |
| Резервные копии хорошие | Копия БД создаётся каждые 6 ч; контрольное восстановление проводится ежемесячно |
Критерий приёмки описывает наблюдаемый результат проверки. Требования должны быть реалистичны: способ измерения и границы ответственности согласуются заранее. Например, задержка ответа сервера и полная загрузка страницы в браузере — не одно и то же.
В колледже 1200 студентов. Во время публикации оценок сервис испытывает кратковременную нагрузку. Преподаватели хотят уверенно сохранять записи, студенты — быстро их читать. На протяжении всех пяти работ вы будете анализировать качество именно этой системы.
SLI — измеряемый индикатор (например, доля успешных запросов). SLO — выбранная цель для индикатора (например, не менее 99,9% за 30 дней). SLA — договорное обязательство, которое может включать условия и последствия невыполнения. SLO автоматически не превращается в SLA.
Для учебных расчётов по времени используем формулу: доступность = (плановое время наблюдения − недоступность) / плановое время × 100%. Такой расчёт применим, если договорились измерять именно временную доступность. Другой SLI может считать долю успешных запросов, и итог будет другим.
Укажите длительность наблюдения, целевую доступность и фактическую недоступность. Изменение параметров сразу обновит расчёт.
Полоса показывает израсходованную долю допуска; значения более 100% отображаются как заполненная полоса с пояснением.
Метрика полезна только при понятном источнике данных. Для производительности снимают распределение задержек, для доступности — результаты синтетических или пользовательских запросов, для защиты данных — результаты проверки ролей, для восстановления — реальные испытания резервных копий.
| Метод | Что получаем | Ограничения |
|---|---|---|
| Функциональные тесты | Есть ли ожидаемый результат на конкретных входах | Не гарантируют отсутствия неизвестных дефектов |
| Нагрузочный тест | Поведение под заданной нагрузкой | Зависит от среды и профиля запросов |
| Мониторинг | Временной ряд показателей в эксплуатации | Нужны пороги, качество данных и контекст |
| Аудит настроек | Соответствие параметров утверждённой конфигурации | Не заменяет тестов поведения |
| Опрос и наблюдение | Понятность интерфейса и реальные проблемы людей | Выборка и условия влияют на вывод |
Из 100 запросов 95 могли завершиться за 100 мс, а пять — за 10 секунд. Среднее около 595 мс скрывает проблему для «медленной» части аудитории. p95 помогает оценивать хвост распределения, но трактовка зависит от способа расчёта. Точность сбора и период наблюдения необходимо фиксировать.
Допустим, «Кампус» обещает SLO 99,9% успешных запросов за 30 дней. Бюджет ошибок равен 0,1% запросов в том же окне. Если за период поступил миллион подходящих запросов, в бюджете условно допускается до 1000 неуспешных. Если выбрать временной SLI, бюджет будет выражен минутами, а не запросами. Нельзя смешивать эти модели в одном расчёте.
Команда использует бюджет ошибок как инструмент приоритизации. Когда бюджет почти исчерпан, внедрение рискованных изменений можно замедлить и переключить ресурсы на повышение стабильности. Если сервис уверенно укладывается в SLO, команда может чаще выпускать новые полезные функции. Подобная политика должна быть заранее согласована, а не придумана во время инцидента.
| Ситуация | Разумное действие | Почему |
|---|---|---|
| Ошибка в экспериментальной странице | Исправить по обычному приоритету | Влияние ограничено |
| Массово не сохраняются оценки | Приоритетно восстановить функцию | Нарушена критичная пользовательская операция |
| Бюджет ошибок на исходе | Ограничить риск новых релизов | Вероятность нарушения SLO высока |
Сильная метрика имеет чёткий числитель, знаменатель, интервал и источник. Для успешности запросов потребуется договориться, какие HTTP-коды считаются успехом, включать ли сетевые тайм-ауты и считать ли ошибки, вызванные самим клиентом. Например, не все ответы 4xx — дефекты системы: пользователь мог запросить несуществующую страницу.
Проводя нагрузочный тест, зафиксируйте состав тестовых данных, количество одновременных пользователей, профиль операций, характеристики сервера и время прогрева. Результат «справился с тысячей запросов» без длительности и условий почти неинформативен. Тест с пустой базой и тест с миллионом оценок могут дать разную задержку.
Сервис обработал 950 успешных запросов из 1000. Доля успеха равна 95%. Не следует писать «доступность 95% за месяц», если эти запросы пришли лишь в течение пяти минут: измерена выборка запросов, а не весь месяц работы.
Прослеживаемость связывает требование с тестами, метриками, дефектами и принятым решением. Без неё команда может пройти сотню тестов и не заметить, что самое опасное требование никто не проверял. Для учебного проекта достаточно небольшого реестра: идентификатор, формулировка, способ проверки, критерий и ответственный.
| ID | Требование | Доказательство |
|---|---|---|
| Q-01 | Студент читает только свои оценки | Негативные тесты доступа с разными ID |
| Q-02 | p95 чтения ≤ 800 мс | Нагрузочный протокол с условиями |
| Q-03 | Система восстанавливается ≤ 4 ч | Протокол испытания аварийного восстановления |
| Q-04 | Все новые API-изменения проходят интеграционные тесты | Отчёт CI для конкретной сборки |
Когда время ограничено, сначала проверяйте сценарии с высокой вероятностью сбоя и сильными последствиями. Утечка чужих оценок и массовая невозможность сохранения важнее незначительного смещения декоративного элемента. Однако эстетика и удобство также учитываются, если они влияют на реальные задачи людей.
На этом этапе вы не внедряете мониторинг. Вы превращаете пожелания в проверяемый паспорт качества для следующей практической работы. Для всех заданий используйте вымышленный учебный сервис и самостоятельно обоснуйте целевые значения.
Выберите один ответ в каждом вопросе и нажмите «Проверить тест». После проверки появятся разборы. Практические задания и развёрнутые вопросы проверяет преподаватель — в процентах они не учитываются.
Эти вопросы оценивает преподаватель. Не копируйте определения: приведите собственный аргумент и, где необходимо, расчёт или пример.
Теоретические сведения адаптированы для обучения. Интерактивные расчёты и сценарии — учебные модели, не измерения работающей инфраструктуры. Внешние ссылки нужны только для дополнительного чтения: сама работа открывается без интернета.
Нажмите «Отправить работу — сохранить PDF» и в диалоге печати выберите «Сохранить как PDF». В PDF попадут ФИО, ответы, результат тестирования и задания. Никакие данные не отправляются на сервер.