5.7.8 Статическое и динамическое тестирование

iDevice ikoon 5.7.8 Статическое и динамическое тестирование

Тестирование программного обеспечения делятся на статическое и динамическое. Главной задачей статического тестирования является найти недостатки уже в фазах проектирования программы и спецификации. Во время статического тестирования можно также проверить свойства системы, такие как ремонтопригодность, надежность, анализируемость.

Проведение статического тестирования может значительно снизить затраты на разработку программного обеспечения и уменьшить время, необходимое для разработки программного обеспечения. Тем не менее, необходимо помнить, что статическое тестирование не является заменой динамического тестирования и нельзя гарантировать, что программное обеспечение, прошедшее только статическое тестирование, будет работать безупречно. Инструменты статического анализа уведомляют разработчиков программного обеспечения о таких недостатках как непригодный для использования программный код, неописанные переменные ит.д.

Динамическое тестирование делится на:

  • функциональное тестирование
  • структурное тестирование.

Функциональные методы тестирования также известны как «Black Box» (черный ящик), а также техники тестирования входов / выходов.

Это потому, что при данной методике тестирования интересно не само программное обеспечение, а только входы и выходы. Тестировщик не должен знать или иметь знания о программном коде и структуре, он сосредоточен на функциональности программного обеспечения, интересуясь тем, что программное обеспечение делает, а не тем, как программное обеспечение это делает.

При структурных методах тестирования применяемые тесты исходят из внутренней структуры программного обеспечения и их называют также методы «White Box» (белый ящик), так как при их применении надо знать, как внедрено программное обеспечение и как оно работает. Как правило, этими методами пользуются сами разработчики программного обеспечения. Методы структурного тестирования типичные методы модуль-тестирования, при которых тестируются только в компоненты системы программного обеспечения.