Статичне тестування проти динамічного тестування: в чому різниця?

Зміст:

Anonim

Що таке статичне тестування?

Статичне тестування - це тип тестування програмного забезпечення, при якому програмне забезпечення тестується без виконання коду. Щоб знайти помилки, проводяться ручні або автоматизовані огляди коду, вимог та оформлення документів. Основною метою статичного тестування є поліпшення якості програмних додатків шляхом виявлення помилок на ранніх стадіях процесу розробки програмного забезпечення.

Статичне тестування передбачає ручний або автоматизований огляд документів. Цей огляд проводиться на початковому етапі тестування для виявлення дефекту на початку STLC. Він вивчає робочі документи та надає оглядові коментарі. Його також називають тестуванням на невиконання або верифікацією.

Приклади робочих документів

  • Специфікація вимог
  • Проектний документ
  • Вихідний код
  • Плани випробувань
  • Тестові кейси
  • Тестові сценарії
  • Довідка або документ користувача
  • Зміст веб-сторінки

Що таке динамічне тестування?

У рамках Динамічного тестування виконується код. Він перевіряє функціональну поведінку програмної системи, використання пам'яті / процесора та загальну продуктивність системи. Звідси і назва "Динамічна"

Основна мета цього тестування - підтвердити, що програмний продукт працює відповідно до вимог бізнесу. Це тестування також називають технікою виконання або тестуванням на перевірку.

Динамічне тестування виконує програмне забезпечення та перевіряє результати з очікуваним результатом. Динамічне тестування проводиться на всіх рівнях тестування, і це може бути як чорне, так і біле тестування.

КЛЮЧОВА РІЗНИЦЯ

  • Статичне тестування проводилось без запуску програми, тоді як динамічне тестування виконувалось шляхом виконання програми.
  • Статичне тестування перевіряє код, документи вимог та проектну документацію для виявлення помилок, тоді як динамічне тестування перевіряє функціональну поведінку програмної системи, використання пам'яті / центрального процесора та загальну продуктивність системи.
  • Статичне тестування стосується запобігання дефектам, тоді як динамічне тестування - пошуку та усунення дефектів.
  • Статичне тестування виконує процес перевірки, а динамічне тестування - процес перевірки.
  • Статичне тестування проводиться до компіляції, тоді як динамічне тестування проводиться після компіляції.
  • Методи статичного тестування є структурним та висвітленням, тоді як динамічні методи тестування - це граничний аналіз та розподіл еквівалентності.

Методи статичного тестування:

  • Неформальні огляди: це один із типів огляду, який не відповідає жодному процесу пошуку помилок у документі. За цією методикою ви просто переглядаєте документ і даєте неформальні коментарі щодо нього.
  • Технічні огляди: Команда, що складається з ваших однолітків, переглядає технічну специфікацію програмного продукту та перевіряє, чи підходить він для проекту. Вони намагаються виявити будь-які розбіжності в технічних характеристиках та стандартах, яких дотримуються. Цей огляд зосереджений головним чином на технічній документації, що стосується програмного забезпечення, такі як Стратегія випробувань, План випробувань та документи специфікації вимог.
  • Покрокове керівництво: автор робочого продукту пояснює товар своїй команді. Учасники можуть задавати питання, якщо такі є. Зустріч веде автор. Скрайб робить коментар до оглядних коментарів
  • Огляд: Основна мета - знайти дефекти, а зустріч веде навчений модератор. Цей огляд є формальним типом огляду, де слід суворий процес пошуку дефектів. Рецензенти мають контрольний список для перегляду робочих продуктів. Вони фіксують дефект і інформують учасників про виправлення цих помилок.
  • Перегляд статичного коду: Це систематичний огляд вихідного коду програмного забезпечення без виконання коду. Він перевіряє синтаксис коду, стандарти кодування, оптимізацію коду тощо. Це також називається тестуванням білих ящиків. Цей огляд можна зробити в будь-який момент під час розробки.

Методи динамічного тестування:

  • Модульне тестування: У рамках модульного тестування розробники перевіряють окремі блоки або модулі. Він передбачає тестування вихідного коду розробниками.
  • Тестування інтеграції: Окремі модулі згруповані та перевірені розробниками. Мета полягає в тому, щоб визначити, які модулі працюють належним чином після їх інтеграції.
  • Тестування системи: Тестування системи проводиться на всій системі, перевіряючи, чи відповідає система або додаток документу специфікації вимог.

Крім того, нефункціональне тестування, таке як продуктивність, тестування безпеки підпадає під категорію динамічного тестування.

Різниця між статичним та динамічним тестуванням:

Статичне тестування

Динамічне тестування

Тестування проводилося без виконання програми Тестування проводиться шляхом виконання програми
Це тестування робить процес перевірки Динамічне тестування виконує процес перевірки
Статичне тестування стосується попередження дефектів Динамічне тестування полягає у пошуку та усуненні дефектів
Статичне тестування дає оцінку коду та документації Динамічне тестування дає помилки / вузькі місця в програмній системі.
Статичне тестування включає контрольний список та процес, яким слід керуватися Динамічне тестування включає тестові кейси для виконання
Це тестування можна провести перед компіляцією Динамічне тестування проводиться після складання
Статичні випробування охоплюють випробування на покриття конструкцій та тверджень Методи динамічного тестування - це граничний аналіз та розподіл еквівалентності.
Вартість виявлення дефектів та їх усунення менша Вартість пошуку та виправлення дефектів висока
Рентабельність інвестицій буде високою, оскільки цей процес задіяний на ранній стадії Рентабельність інвестицій буде низькою, оскільки цей процес передбачає фазу розвитку
Більше відгуків відгуки настійно рекомендується для хорошої якості Більше дефектів настійно рекомендується для хорошої якості.
Потрібно багато зборів Порівняно вимагає менших зустрічей