Куда я попал?
AppSec Table Top: методология безопасной разработки от Positive Technologies
Framework
Инженерные практики QA
Для проведения оценки соответствия по документу войдите в систему.
Список требований
-
Инициатива: Использование автотестов
Описание:
Автотестирование — это процесс автоматизации функционального тестирования [QA1] с помощью специализированных инструментов и заранее подготовленных тест-кейсов. Тестировщики занимаются написанием автотестов, которые проверяют приложение на ошибки, баги и корректную работу функционала. Основными преимуществами автотестирования являются уменьшение времени тестирования, автоматизация ручного труда и минимизация человеческого фактора. Это позволяет тестировщикам сосредоточиться на более сложных задачах, а также увеличить частоту тестирования и обеспечить более стабильное качество продукта.
Однако для наибольшей эффективности автотестирования рекомендуется сочетать его с ручным тестированием. Ручное тестирование позволяет выявить ошибки, пропущенные автотестами, а также оценить юзабилити и общее впечатление от приложения.
Также важно создавать автотесты, которые имитируют злоумышленника и основные атаки (abuse-тесты).
Шаги реализации:- Определить цели автотестирования: проверка функциональности, выявление ошибок, обеспечение безопасности, ускорение тестирования и т. д.
- Определить инструменты для автотестов.
- Настроить тестовую среду, которая будет использоваться для запуска автотестов.
- Разработать тестовые кейсы с описанием шагов проверки каждой функции, ожидаемых результатов и критериев успешного тестирования.
- Написать автотесты на основе разработанных тестовых кейсов.
- Применить параметризацию тестов для упрощения их написания и увеличения гибкости.
- Использовать данные из файлов (например, CSV, JSON) для заполнения входных данных тестов.
- Разработать стратегию автотестирования, определяющую области приложения, которые будут тестироваться автоматически, частоту запуска тестов и т. п.
- Интегрировать автотесты в CI/CD-конвейер для автоматического запуска тестов при каждом изменении кода.
- Настроить создание отчетов о результатах автотестирования для анализа и управления качеством приложения.
- Составить документацию (или дополнить документацию по тестированию), описывающую процесс проведения автотестов, сценарии автотестов, их параметры.
- Довести документацию до сотрудников и разместить на внутреннем портале.
Зона ответственности: ИТ
Инструмент: Инструменты автотестирования
Артефакт: Регламент тестирования -
Инициатива: Покрытие кода
Описание:
Покрытие кода — это метрика, которая показывает, какая часть кодовой базы приложения покрыта различными тестами. Низкое покрытие кода говорит о том, что большая часть кода не тестируется и приводит к риску появления ошибок и уязвимостей.
Покрытие кода можно использовать как метрику оценки стратегии SSDL [SSDL5]. Высокое покрытие кода указывает на высокую эффективность стратегии, а низкое — требует дополнительных мер по тестированию и устранению уязвимостей. Важно отметить, что целевой результат покрытия кода зависит от конкретного приложения и его критичности. 100% покрытие кода зачастую является недостижимым и непрактичным, так как тестирование всех ветвей кода может быть слишком дорогостоящим и долгим. Однако, необходимо стремиться к достаточно высокому покрытию кода, чтобы обеспечить надежность и безопасность приложения.
Шаги реализации:- Определить подходы к снятию метрики покрытия кода (для автоматизированного создания отчетов о покрытия можно применять специализированные инструменты).
- Выбрать инструмент, который соответствует используемому языку программирования и платформе разработки.
- Интегрировать инструмент анализа покрытия кода с системой сборки или CI/CD-конвейером.
- Настроить инструмент для создания отчетов о покрытии кода в желаемом формате (HTML, XML или др.).
- Запустить тесты с включенным инструментом покрытия кода.
- Получить отчет инструмента, собравшего информацию о выполненных тестами строках кода.
- Изучить отчет о покрытии кода и определить участки кода, которые не тестируются.
- Создать новые тестовые кейсы для участков кода, которые не покрыты тестами.
- Регулярно использовать метрику покрытия кода для корректировки стратегии SSDL.
Зона ответственности: Appsec/ИТ
Инструмент: Инструменты анализа покрытия кода
Артефакт: -
Мы используем cookie-файлы, чтобы получить статистику, которая помогает нам улучшить сервис для вас с целью персонализации сервисов и предложений. Вы может прочитать подробнее о cookie-файлах или изменить настройки браузера. Продолжая пользоваться сайтом, вы даёте согласие на использование ваших cookie-файлов и соглашаетесь с Политикой обработки персональных данных.