СТАТИЧЕСКОЕ И ДИНАМИЧЕСКОЕ ТЕСТИРОВАНИЕ
- Камила

- 18 апр. 2021 г.
- 3 мин. чтения
Обновлено: 20 апр. 2021 г.
СТАТИЧЕСКАЯ И ДИНАМИЧЕСКАЯ МЕТОДИКИ ТЕСТИРОВАНИЯ

Статическое тестирование является методикой тестирования программного обеспечения, при которой ПО тестируется без запуска кода. Оно представляет собой процесс или технику, которые выполняются для поиска потенциальных дефектов в программном обеспечении. Это также процесс обнаружения и устранения ошибок и дефектов в различных сопроводительных документах, таких как спецификации требований к программному обеспечению и т. д.
Можно поделить статическое тестирование на 2 типа:
Обзоры (Review);
Статический анализ (Static Analysis).
Обзоры (Review) – проверка обычно используется для поиска и устранения ошибок или неясностей в документах. Это могут быть требования, дизайн, тестовые случаи и так далее.
В свою очередь обзоры делятся на:
Неформальные. При неофициальном рассмотрении создатель документов показывает содержание документов аудитории. Каждый присутствующий высказывает свое мнение, что позволяет выявить недостатки на ранней стадии.
Сквозные просмотры (Walkthroughs). Выполняются опытным человеком или экспертом для проверки отсутствия дефектов, с целью предупреждения возникновения проблем на этапе разработки или тестирования.
Экспертная оценка. Означает проверку документов для выявления и исправления дефектов. В основном это делается в команде.
Инспектирование ПО. Это, в большинстве случаев, проверка документа вышестоящим органом, например, проверка требований к программному обеспечению.
Статический анализ (Static Analysis) – код, написанный разработчиками, анализируется на наличие структурных дефектов, которые могут привести к ошибкам.
Статический анализ включает оценку качества кода, написанного разработчиками. Для анализа кода и сравнения его со стандартом используются разные инструменты.
Статический анализ хорошо помогает найти такие ошибки, как:
неиспользуемые переменные;
мертвый код;
бесконечные циклы;
переменные с неопределенными значениями;
неправильный синтаксис.
Статический анализ состоит из 3-х частей:
Поток данных (поток данных связан с обработкой потока);
Контроль потока (как выполняются операторы или инструкции);
Цикломатическая сложность (измерение сложности программы, которое в основном связано с количеством независимых путей в графе потоков управления программы).
Анализ может производится как вручную, так и с помощью специальных инструментов.
Целью анализа является наиболее раннее выявление ошибок и потенциальных проблем в программном продукте. Как правило, код ревью выполняется самим разработчиком.
Преимущества статического тестирования
Снижает стоимость фикса найденных багов, поскольку выявляет баги на ранних этапах цикла разработки программного обеспечения.
Отзывы, полученные в ходе этого тестирования, помогают улучшить функционирование процесса, что также помогает команде избежать подобных дефектов и багов.
Повышает информированность о различных проблемах качества программного обеспечения.
Улучшает обмен критической и важной информацией между членами команды.
Существенно сокращаются усилия по исправлению ошибок, что еще больше способствует продуктивности разработки.
Недостатки статического тестирования
Процесс статического тестирования может занимать много времени, так как в основном он выполняется вручную.
Препятствует обнаружению уязвимостей, представленных в среде выполнения.

Динамическое тестирование – тип тестирования, который проверяет функциональность приложения, когда код выполняется. Проще говоря, динамическое тестирование выполняется путем фактического использования приложения и определения того, работает ли функциональность так, как ожидается.
Динамическое тестирование включает в себя тестирование ПО в режиме реального времени путем предоставления входных данных и изучения результата поведения программы.
Если рассмотреть функции, предлагаемые динамическим тестированием, можно легко понять причины его выполнения в течение жизненного цикла тестирования программного обеспечения. С помощью этого тестирования команда может проверить различные критические аспекты программного обеспечения. Если оставить их без какой-либо оценки, они могут повлиять на производительность, функциональность, а также надежность программного продукта.
Преимущества динамического тестирования
Это тщательное исследование, которое рассматривает всю функциональность приложения, поэтому качество соответствует самым высоким стандартам.
Процесс динамического тестирования хорошо налажен, приложение тестируется с точки зрения пользователя, что повышает качество ПО.
Обнаружение сложных ошибок, которые могли ускользнуть на этапе код ревью.
Динамическое тестирование может быть автоматизировано с помощью специальных инструментов.
Недостатки динамического тестирования
Поскольку динамическое тестирование представляет собой сложный процесс, оно занимает много времени.
Высокая стоимость проведения тестирования.
Динамическое тестирование обычно выполняется после завершения кодирования, и найденные баги обнаруживаются позже в жизненном цикле разработки.
Сравнение динамического и статического тестирования

ЗАКЛЮЧЕНИЕ
Исходя из вышеизложенного, можно легко сделать вывод – несмотря на то, что статическое тестирование требует много времени на бурные дискуссии и встречи, все же стоит потратить время на предотвращение появления дефектов на последних этапах разработки продукта. Поэтому статическое тестирование по праву считается важным шагом на пути к разработке ПО без ошибок. Но важность динамического тестирования также огромна. Благодаря непосредственному выполнению тестов программного обеспечения (проверки функционального поведения, производительности, надежности и других важных аспектов) команда может проверить и подтвердить качество и эффективность ПО.




Комментарии