what is system integration testing
Що таке тестування системної інтеграції?
Тестування системної інтеграції (SIT) - це загальне тестування всієї системи, яка складається з багатьох підсистем. Головною метою SIT є забезпечення належної роботи всіх залежностей програмних модулів та збереження цілісності даних між окремими модулями всієї системи.
SUT (система, що перевіряється) може складатися з апаратного забезпечення, бази даних, програмного забезпечення, поєднання апаратного та програмного забезпечення або системи, що вимагає взаємодії людини (HITL - Human in Loop Testing).
З контексту інженерії програмного забезпечення та тестування програмного забезпечення, SIT можна розглядати як процес тестування, який перевіряє співпрацю програмної системи з іншими.
SIT має передумову, коли кілька базових інтегрованих систем вже пройшли та пройшли тестування системи. Потім SIT перевіряє необхідну взаємодію між цими системами в цілому. Результати SIT передаються в UAT (Тест прийнятності користувача).
Що ви дізнаєтесь:
- Необхідність тесту на системну інтеграцію
- Гранульованість SIT
- Як виконати тестування системної інтеграції?
- Тестування системи проти Тестування системної інтеграції
- Тестування системної інтеграції проти тестування прийняття користувачами
- Приклад SIT
- Техніка SIT
- Висновок
- Рекомендована література
Необхідність тесту на системну інтеграцію
Основною функцією SIT є тестування залежностей між різними компонентами системи, отже, регресійне тестування є важливою частиною SIT.
Для спільних проектів SIT є частиною STLC (життєвий цикл тестування програмного забезпечення). Як правило, попередній раунд SIT проводиться постачальником програмного забезпечення, перш ніж замовник проводить власні тести SIT.
У більшості організацій, що працюють в ІТ-проектах за моделлю спритного спринту, команда QA проводить раунд SIT перед кожним випуском. Дефекти, виявлені в SIT, надсилаються команді розробників, і вони працюють над виправленнями.
Випуск MVP (Мінімальний життєздатний продукт) зі спринту надходить лише тоді, коли він проходить через SIT.
SIT необхідний для виявлення несправностей, які виникають, коли відбувається взаємодія між інтегрованими підсистемами.
У системі використовується кілька компонентів, і вони не можуть бути протестовані в індивідуальному порядку. Навіть якщо пристрій проходить індивідуальне тестування, тоді також існує ймовірність того, що він може вийти з ладу при поєднанні в системі, оскільки існує багато проблем, які виникають при взаємодії підсистем між собою.
Таким чином, SIT дуже необхідний для виявлення та усунення несправностей перед розгортанням системи в кінці користувача. SIT виявляє дефекти на ранній стадії і тим самим економить час та витрати на їх усунення пізніше. Це також допомагає отримати попередні відгуки про прийнятність модуля.
Гранульованість SIT
SIT можна проводити на трьох різних рівнях деталізації:
(i) Внутрішньосистемне тестування: Це низький рівень інтеграційного тестування, метою якого є злиття модулів для побудови єдиної системи.
(ii) Міжсистемне тестування: Це тестування високого рівня, яке потребує взаємодії незалежних тестованих систем.
(iii) Тестування в парі: Тут одночасно тестуються лише дві взаємопов’язані підсистеми у всій системі. Це спрямовано на забезпечення того, щоб дві підсистеми могли добре функціонувати в поєднанні разом, припускаючи, що інші підсистеми вже працюють нормально.
Як виконати тестування системної інтеграції?
Найпростіший спосіб виконати SIT - це метод, керований даними. Це вимагає мінімального використання засобів тестування програмного забезпечення.
грати вау безкоштовно приватний сервер - -
Спочатку відбувається обмін даними (імпорт даних та експорт даних) між системними компонентами, а потім перевіряється поведінка кожного поля даних у межах окремого рівня.
Після інтеграції програмного забезпечення виникають три основні стани потоку даних, як зазначено нижче:
# 1) Стан даних на рівні інтеграції
Рівень інтеграції діє як інтерфейс між імпортом та експортом даних. Виконання SIT на цьому рівні вимагає деяких базових знань з певних технологій, таких як схеми (XSD), XML, WSDL, DTD та EDI.
Ефективність обміну даними можна перевірити на цьому рівні за допомогою наступних етапів:
- Перевірте властивості даних у цьому шарі щодо BRD / FRD / TRD (документ про бізнес-вимоги / документ про функціональні вимоги / документ про технічні вимоги).
- Перехресна перевірка запиту веб-служби за допомогою XSD та WSDL.
- Запустіть деякі модульні тести та підтвердьте відображення даних та запити.
- Перегляньте журнали проміжного програмного забезпечення.
# 2) Стан даних у шарі бази даних
Виконання SIT на цьому рівні вимагає базових знань SQL та збережених процедур.
Ефективність обміну даними на цьому рівні можна перевірити за допомогою наступних етапів:
- Перевірте, чи всі дані рівня інтеграції успішно досягли рівня шарів бази даних і були зафіксовані.
- Перевірте властивості таблиці та стовпця щодо BRD / FRD / TRD.
- Перевірте обмеження та правила перевірки даних, що застосовуються у базі даних, відповідно до специфікацій бізнесу.
- Перевірте збережені процедури на предмет обробки даних.
- Перегляньте журнали сервера.
# 3) Стан даних на рівні програми
SIT можна виконати на цьому шарі за допомогою наступних кроків:
- Перевірте, чи всі обов’язкові поля видно в інтерфейсі користувача.
- Виконайте кілька позитивних і негативних тестів і перевіріть властивості даних.
Примітка: Комбінацій, що відповідають імпорту та експорту даних, може бути багато. Вам потрібно буде виконати SIT для найкращих комбінацій, враховуючи доступний для вас час.
Тестування системи проти Тестування системної інтеграції
Відмінності між системним тестуванням та SIT:
SIT (тестування системної інтеграції) | Тестування системи |
---|---|
SIT в основному робиться для того, щоб перевірити, як окремі модулі взаємодіють між собою при інтеграції в систему в цілому. | Тестування системи в основному проводиться для того, щоб перевірити, чи вся система працює належним чином із посиланням на зазначені вимоги. |
Це проводиться після модульного тестування і буде виконуватися кожного разу, коли до системи додається новий модуль. | Він проводиться на остаточному рівні, тобто після завершення інтеграційного тестування і безпосередньо перед доставкою системи для UAT. |
Це тестування низького рівня. | Це тестування високого рівня. |
Тести SIT фокусуються на інтерфейсі між компонентами системи. | Тестові випадки, в даному випадку, зосереджені на моделюванні реальних сценаріїв. |
Тестування системної інтеграції проти тестування прийняття користувачами
Ось різниця між SIT та UAT:
SIT (тестування системної інтеграції) | UAT (Тест прийняття користувача) |
---|---|
Це тестування здійснюється з точки зору взаємодії між модулями. | Це тестування здійснюється з точки зору вимог користувача. |
SIT виконується розробниками та тестувальниками. | UAT здійснюється замовниками та кінцевими користувачами. |
Виконано після модульного тестування та перед тестуванням системи. | Це останній рівень тестування, який проводиться після тестування системи. |
Як правило, проблеми, виявлені в SIT, будуть пов'язані з потоком даних, потоком управління тощо. | Проблеми, виявлені в UAT, як правило, схожі на функції, які не працюють відповідно до вимог користувача. |
Наведене нижче зображення на рівнях тестування зробить для вас зрозумілим перехід від модульного тестування до UAT:
Приклад SIT
Припустимо, що компанія використовує програмне забезпечення для зберігання даних про клієнта.
Це програмне забезпечення має два екрани в інтерфейсі користувача - Екран 1 і Екран 2, і воно має базу даних. Деталі, введені на екрані 1 та екрані 2, вводяться в базу даних. На даний момент компанія задоволена цим програмним забезпеченням.
Однак через кілька років компанія виявляє, що програмне забезпечення не відповідає вимогам, і існує потреба в вдосконаленні. Таким чином, вони розробили екран 3 та базу даних. Зараз ця система з екраном 3 та базою даних інтегрована зі старим / існуючим програмним забезпеченням.
Тепер тестування, проведене в цілій системі після інтеграції, називається тестом інтеграції системи. Тут перевіряється співіснування нової системи з існуючою, щоб переконатися, що вся інтегрована система працює нормально.
Техніка SIT
В основному, існує 4 підходи для проведення SIT:
- Підхід зверху вниз
- Підхід знизу вгору
- Сендвіч-підхід
- Підхід Великого Вибуху
Підхід зверху вниз і підхід знизу вгору - це свого роду додаткові підходи. Почнемо обговорення спочатку з підходу зверху вниз.
Запитання щодо інтерв’ю на сервері sql для досвідчених професіоналів
# 1) Підхід зверху вниз:
Згідно з цим, тестування починається лише з самого верхнього модуля програми, тобто інтерфейсу користувача, який ми називаємо тестовим драйвером.
Функціональність базових модулів моделюється за допомогою заглушок. Верхній модуль інтегрований із заглушкою модуля нижчого рівня по черзі, а пізніше перевіряється функціональність.
Після завершення кожного тесту заглушка замінюється справжнім модулем. Модулі можуть бути інтегровані як по ширині, так і по глибині. Тест триває доти, поки не буде побудована вся програма.
Перевага цього підходу полягає в тому, що немає необхідності у драйверах, і тестові приклади можуть бути визначені з точки зору функціональності системи.
Основною проблемою у цьому підході є залежність від доступності функціональних можливостей нижчого рівня. Тести можуть затримуватися, поки реальні модулі не заміняться заглушками. Писати заглушки теж важко.
# 2) Підхід знизу вгору:
Це усуває обмеження підходу зверху вниз.
У цьому методі спочатку модулі найнижчого рівня збираються для формування кластерів. Ці кластери служать підфункцією програми. Потім створюється драйвер для управління введенням і виведенням тестового випадку. Після цього кластер тестується.
Після тестування кластера драйвер видаляється, і кластер поєднується з наступним верхнім рівнем. Цей процес триває, поки не буде досягнута вся структура програми.
У цьому підході немає необхідності в заглушках. Це стає спрощеним у міру обробки вгору та зменшення потреби в драйверах. Цей підхід доцільний для проведення SIT для об'єктно-орієнтованих систем, систем реального часу та систем із суворими потребами в продуктивності.
Однак обмеження цього підходу є найважливішою підсистемою, тобто користувальницький інтерфейс перевіряється останньою.
# 3) Сендвіч-підхід:
Тут обговорені вище підходи зверху вниз і знизу вгору поєднуються разом.
Система сприймається як така, що має три шари - середній шар, який є цільовим шаром, шар вище цілі та шар нижче цілі. Тестування проводиться як в напрямках, так і в скупченнях на цільовому шарі, який знаходиться посередині, і це показано на малюнку нижче.
Стратегія тестування сендвічів
які різні постачальники послуг електронної пошти
Перевагою такого підходу є те, що верхній і нижній шар системи можна випробовувати паралельно. Однак обмеженням цього підходу є те, що він не вичерпно перевіряє окремі підсистеми перед інтеграцією.
Щоб усунути це обмеження, ми модифікували сендвіч-тестування, в якому інтеграція верхнього, середнього та нижнього шарів тестується паралельно за допомогою заглушок та драйверів.
# 4) Підхід до Великого вибуху:
При такому підході інтеграція здійснюється, коли всі модулі програми повністю готові. Перевірка проводиться після інтеграції всіх модулів, щоб перевірити, працює вбудована система чи ні.
У цьому підході складно знайти першопричину проблеми, оскільки все інтегровано відразу, на відміну від додаткового тестування. Цей підхід, як правило, застосовується, коли потрібен лише один раунд SIT.
Висновок
У цій статті ми дізналися, що таке тестування системної інтеграції (SIT) і чому важливо його проводити.
Ми зрозуміли про основні концепції, методи, підходи та методи, пов'язані з виконанням SIT. Ми також продемонстрували, чим SIT відрізняється від UAT та тестування системи.
Сподіваюся, вам сподобалась ця чудова стаття !!
Рекомендована література
- Що таке тестування компонентів або модульне тестування (дізнайтеся на прикладах)
- Що таке порівняльне тестування (Дізнайтеся на прикладах)
- Що таке інтеграційне тестування (Підручник із прикладом інтеграційного тестування)
- Найкращі засоби тестування програмного забезпечення 2021 р. (Інструменти автоматизації тестування якості)
- Різниця між модульним тестуванням, інтеграційним тестуванням та функціональним тестуванням
- Функціональне тестування проти нефункціонального тестування
- Інтеграція селену з JMeter
- Spock для інтеграції та функціональних випробувань із селеном