Чи використовує інтеграційне тестування глузування?


24

Зараз я перебуваю в класі тестування програмного забезпечення, де для нашого семестрового проекту ми маємо виконувати на ньому кілька типів тестування, наприклад тестування одиниць та інтеграція. Для тестування на інтеграцію професор сказав, що для макетування інтеграції та глузливих бібліотек (як EasyMock та Mockito) використовуються бібліотеки для інтеграції. Я дуже заплутався. Інтеграційне тестування - це тестування поза класами, модулями, послугами тощо. Чому макети та заглушки було б належним чином використовувати для тестування інтеграції, якщо ви тестуєте кілька класів та служб?


8
"Інтеграція" та "Блок" тестування не є загальновизнаними умовами. Найкраще запитати свого професора, як саме вони визначили ці терміни.
RubberDuck

1
Просто коментар. Інтеграційний тест - це не тестування залежностей. Це тестування правильної інтеграції коду із залежностями (дзвінки, відповідь та обробка помилок тощо).
Лаїв

Відповіді:


25

Якщо у вас є функціонал, який стосується декількох зовнішніх компонентів, ви можете знущатися над усіма, крім одного, щоб виділити і протестувати певний компонент. Наприклад, припустимо, у вас є функція, яка викликає веб-службу, а потім робить щось із базою даних за результатами. Ви можете написати три інтеграційні тести:

  1. тест, який висміює дзвінок веб-сервісу, але передбачає реальне підключення до бази даних.
  2. тест, який робить справжній виклик веб-сервісу, але використовує макет підключення до бази даних.
  3. тест, який робить справжній виклик веб-сервісу і включає реальне підключення до бази даних.

Якщо ви запустили всі три тести, а 1 і 3 вийшли з ладу, є хороший шанс, що у вашому коді може виникнути помилка, яка працює з базою даних, оскільки єдиний пройдений тест - це те, що використовує макетну базу даних.

Як правило, інтеграційні тести не використовують глузування, але я робив щось подібне при нагоді.


7

Не одразу зрозуміло, що розуміється під інтеграційним тестом, але використання фактів / макетів / тестування пар - це дійсна методика створення тестових сценаріїв на всіх рівнях у межах піраміди тестів . [1] [2] [3]

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.