База знань

Інтеграційне тестування

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

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

Так як модулі поєднуються між собою за допомогою передбачених реалізацією інтерфейсів і в процесі тестування у нас немає потреби розглядати внутрішню структуру компонентів, можна стверджувати, що інтеграційне тестування виконується методом «чорного ящику».

integr_test

Об’єкт тестування виділений червоним кольором.

Існує декілька підходів до інтеграційного тестування:

  • Знизу вгору. Спочатку збираються і тестуються модулі найнижчих рівнів, а потім по зростанню до вершини ієрархії. Даний підхід вимагає готовності усіх зібраних модулів на всіх рівнях системи.
  • Зверху вниз. Даний підхід передбачає рух з модулів високого рівня вниз. При цьому використовуються заглушки для тих модулів, які знаходяться нижче за рівнем, але включення яких до тесту ще не відбулося.
  • Великий вибух. Всі модулі всіх рівнів збираються разом, а потім тестується. Даний метод економить час, але вимагає ретельного опрацювання тест кейсів.

При автоматизації тестування використовується Система безперервної інтеграції. Принцип її дії в наступному:

1) Система безперервної інтеграції проводить моніторинг системи контролю версій.

2) При зміні джерела коду в репозиторії проводиться оновлення локального сховища.

3) Виконуються необхідні перевірки і модульні тести.

4) Вихідні коди компілюються в готові виконувані модулі.

5) Виконуються тести інтеграційного рівня.

6) Генерується звіт про тестування.

Це дозволяє тестувати систему відразу після внесення змін, що істотно скорочує час виявлення та виправлення помилок.