Автоматическое тестирование и поиск ошибок.
Ведение и контроль возникающих программных ошибок в продукте.
Система отслеживания ошибок (англ. bug tracking system) — прикладная программа, разработанная с целью помочь разработчикам программного обеспечения (программистам, тестировщикам и др.) учитывать и контролировать ошибки (баги), найденные в программах, пожелания пользователей, а также следить за процессом устранения этих ошибок и выполнения или невыполнения пожеланий.
Главный компонент такой системы — база данных, содержащая сведения об обнаруженных ошибках. Эти сведения могут включать в себя:
· кто сообщил о проблеме;
· дата и время, когда была обнаружена проблема;
· серьёзность(критичность) проблемы;
· описание неправильного поведения программы;
· кто занимается устранением (разрешением) проблемы;
· состояние ошибки.
Типичная система отслеживания ошибок использует концепцию «жизненного цикла» ошибки, который отслеживается по состоянию, в котором находится ошибка. Система может предоставлять администратору возможность настроить, какие пользователи могут просматривать и редактировать ошибки в зависимости от их состояния, переводить их в другое состояние или удалять.
В корпоративной среде, система отслеживания ошибок может использоваться для получения отчётов, показывающих продуктивность программистов при исправлении ошибок. Однако, часто такой подход не даёт достаточно точных результатов, из-за того что разные ошибки имеют различную степень серьёзности и сложности. При этом серьёзность проблемы не имеет прямого отношения к сложности устранения ошибки.
Статический анализ кода - это анализ программного обеспечения, который производится над исходным кодом программ и реализуется без реального исполнения исследуемой программы.
Программное обеспечение часто содержит разнообразные уязвимости из-за ошибок в коде программ. Ошибки, допущенные при разработке программ, в некоторых ситуациях приводят к сбою программы, а следовательно, нарушается нормальная работа программы, при этом часто возникает изменение и порча данных, останов программы или даже системы. Большинство уязвимостей связано с неправильной обработкой данных, получаемых извне, или недостаточно строгой их проверкой. Для выявления уязвимостей используют различные инструментальные средства. Для обнаружения уязвимостей защиты в программах применяют следующие инструментальные средства:
- Динамические отладчики. Инструменты, которые позволяют производить отладку программы в процессе её исполнения.
- Статические анализаторы (статические отладчики). Инструменты, которые используют информацию, накопленную в ходе статического анализа программы.
Статические анализаторы указывают на те места в программе, в которых возможно находится ошибка. Эти подозрительные фрагменты кода могут, как содержать ошибку, так и оказаться совершенно безопасными.
В случае разработки сложных систем автоматизации имеет смысл использовать подобные системы для автоматического тестирования программного решения.