Похожие презентации:
Тестирование требований. Лабораторное занятие
1. Тестирование требований. Лабораторное занятие
2. Классификация требований
Отметьте требования следующим образом: функциональное / нефункциональное /ограничение / бизнес-правило / “мусорное”
1. Система должна позволять пользователю регистрироваться по email и паролю.
2. Время отклика страницы не должно превышать 2 секунд при нагрузке до 1000
пользователей
3. Разработка системы должна выполняться только на языке Java
4. Пользователь может добавить товар в корзину
5. Скидка 10% предоставляется при покупке от 3 товаров
6. Интерфейс системы должен быть «дружелюбным и современным»
7. В системе должен быть реализован поиск товаров по ключевым словам
8. Все данные пользователей должны храниться в зашифрованном виде
9. Проект необходимо завершить до конца квартала
10. При оплате банковской картой комиссия не взимается
3.
Классификация требованийОтметьте требования следующим образом: функциональное / нефункциональное /
ограничение / бизнес-правило / “мусорное”
11. В системе должна быть реализована функция восстановления пароля
12. Система должна быть максимально удобной для всех пользователей
13. Доступ к административной панели разрешён только пользователям с ролью
«Администратор»
14. Мобильное приложение должно работать на Android 10 и выше
15. В случае сбоя система должна восстанавливаться не дольше чем за 10 минут
16. Сайт должен быть красивым и современным
17. Доступ к корзине должен быть возможен только для авторизованных пользователей
18. Все денежные операции должны соответствовать требованиям законодательства РФ
19. Система должна интегрироваться с внешней CRM
20. Пользователь должен иметь возможность отменить заказ до момента его оплаты
4. Задание: поиск дефектов в требованиях
1) Система должна обеспечивать бесперебойную работу 24/7 без ошибок.2) Все пользователи должны авторизоваться через корпоративный портал или
социальные сети
3) Система должна работать одинаково быстро на любом устройстве и в любой
сети
4) Система должна отправлять одноразовые коды подтверждения (OTP) по SMS и
email. Код действителен 5 минут и не должен истекать, пока пользователь находится
на странице ввода кода
5) Система должна автоматически блокировать аккаунт при подозрительной
активности
6) Система должна работать быстро даже при большом количестве пользователей
7) В системе должна быть реализована поддержка всех форматов изображений
8) Загрузка отчётов должна происходить мгновенно, независимо от их объема
9) В системе должны храниться все версии документов, но при этом доступ к
старым версиям должен быть ограничен
10) Система должна быть защищена от всех типов атак
5. Разбор и обсуждение задания
1) Система должна обеспечивать бесперебойную работу 24/7 без ошибок.Проблемы:
«Бесперебойная» и «без ошибок» — недостижимо (ни одна система не работает
абсолютно без сбоев).
Не указаны допустимые метрики: например, сколько времени система может
быть недоступна.
Нет разграничения: плановые техработы тоже запрещены?
Нет приоритета: важна ли доступность всех модулей или только ключевых?
Исправленный вариант:
«Система должна обеспечивать доступность не менее 99,5% в месяц (кроме
плановых технических работ, уведомление о которых публикуется за 24 часа).
При этом время восстановления после сбоя не должно превышать 30 минут для
критичных сервисов и 2 часа для остальных.»
6. Разбор и обсуждение задания
2) Все пользователи должны авторизоваться через корпоративный портал или социальныесети.
Проблемы:
Не указано, какие именно соцсети поддерживаются.
Неясно, можно ли использовать оба способа или только один.
Нет информации про fallback (резервный), в случае если корпоративный портал недоступен.
Нет уточнения для разных категорий пользователей (например, у всех ли есть корпоративная
учётка?).
Исправленный вариант:
«Пользователи могут авторизоваться через:
– корпоративный портал (основной способ)
– социальные сети Facebook и ВКонтакте (по выбору пользователя)
Если корпоративный портал недоступен более 10 минут, пользователи могут входить через
соцсети
Авторизация обязательна для всех пользователей»
7. Разбор и обсуждение задания
3) Система должна работать одинаково быстро на любом устройстве и влюбой сети
Проблемы:
«Одинаково быстро» невозможно: на старом телефоне и при 2G
скорость будет разная.
Нет метрик: что значит «быстро»? 1 секунда? 5 секунд?
Нет учёта различий в устройствах и браузерах.
Исправленный вариант:
«На устройствах с актуальными версиями iOS и Android (не старше 2 лет)
время загрузки главной страницы должно составлять не более 3 секунд
при подключении к сети LTE или Wi-Fi.
На слабых сетях (3G) страница должна оставаться работоспособной и
загружаться не более чем за 7 секунд.»
8. Разбор и обсуждение задания
4) Система должна отправлять одноразовые коды подтверждения (OTP) по SMS и email. Коддействителен 5 минут и не должен истекать, пока пользователь находится на странице ввода кода
Проблемы:
Противоречие: 5 минут ↔ пока открыт экран
Непонятно: по SMS и email вместе или по выбору?
Нет лимитов на отправку и ввод
Нет формата кода (кол-во цифр)
Уязвимость: «код не истекает, пока открыт экран» = бесконечный код
Исправленный вариант:
«Код подтверждения (6 цифр) отправляется по выбранному пользователем каналу (SMS или email).
Срок действия кода — 5 минут с момента отправки
Повторная отправка кода возможна не чаще, чем 1 раз в 30 секунд, не более 5 раз за 10 минут
Ввод допускает не более 3 неверных попыток, после чего доступ блокируется на 15 минут»
9. Разбор и обсуждение задания
5) Система должна автоматически блокировать аккаунт при подозрительнойактивности.
Проблемы:
«Подозрительная активность» не определена: что именно считается
подозрительным?
Нет критериев блокировки (кол-во попыток, время).
Нет механизма разблокировки (автоматически, через поддержку, email?).
Исправленный вариант:
Аккаунт блокируется при 5 неудачных попытках входа подряд в течение 10
минут.
При блокировке пользователю отправляется уведомление по email.
Разблокировка возможна через ссылку в email или обращение в службу
поддержки.
10. Разбор и обсуждение задания
6) Система должна работать быстро даже при большом количествепользователей.
Проблемы:
«Быстро» и «большое количество» не измеримы.
Нет метрик производительности (задержка ответа, время загрузки).
Нет данных о нагрузке (сколько пользователей одновременно?).
Исправленный вариант:
При нагрузке до 10 000 одновременных пользователей система должна
обрабатывать 95% запросов с задержкой не более 2 секунд.
Время ответа API не должно превышать 500 мс при стандартных запросах
11. Разбор и обсуждение задания
7) В системе должна быть реализована поддержка всех форматовизображений.
Проблемы:
«Все форматы» — слишком абстрактно (их тысячи).
Неясно, в каком виде: загрузка? просмотр? экспорт?
Нет ограничений по размеру файлов.
Исправленный вариант:
Система должна поддерживать загрузку и просмотр изображений в
форматах: JPEG, PNG, GIF (до 20 МБ).
При загрузке изображений большего размера система должна выдавать
сообщение об ошибке.
12. Разбор и обсуждение задания
8) Загрузка отчётов должна происходить мгновенно, независимо от ихобъема
Проблемы:
«Мгновенно» — не измеримо.
«Независимо от объема» — невыполнимо (отчёт на 1 МБ и на 2 ГБ —
разная нагрузка).
Нет уточнения: речь о загрузке из БД или выгрузке файла пользователю?
Исправленный вариант:
Формирование отчёта до 50 МБ должно занимать не более 5 секунд.
Для отчётов большего объема — не более 30 секунд, при этом
пользователю показывается индикатор прогресса
13. Разбор и обсуждение задания
9) В системе должны храниться все версии документов, но при этомдоступ к старым версиям должен быть ограничен
Проблемы:
«Все версии» — как долго? навсегда?
«Ограничен» — как именно? кто имеет доступ?
Нет требований по количеству копий и срокам хранения.
Исправленный вариант:
«Система хранит все версии документов за последние 3 года.
Доступ к архивным версиям имеют только администраторы и владелец
документа.
Пользователь может просматривать только последнюю актуальную
версию.»
14. Разбор и обсуждение задания
10) Система должна быть защищена от всех типов атак.Проблемы:
«Всех типов» — невозможно (атак тысячи, постоянно появляются новые).
Не указаны конкретные стандарты или методы защиты.
Не ясно, какие угрозы считать приоритетными.
Исправленный вариант:
«Система должна соответствовать стандарту OWASP Top-10 по защите
веб-приложений и проходить ежегодное тестирование на проникновение.
Должна быть реализована защита от SQL-инъекций, XSS, CSRF, brute force
авторизации.»
15.
Составление чек-листаЗадание: Составьте чек-лист из 8–10 пунктов, по которому можно
оценивать качество требований
Бизнес