Інтеграційне тестування - частина великого проекту

Жодна розробка програмного забезпечення не обходиться без тестування виконуваного коду. Фактично, на це йде половина всього часу, витраченого на розробку, і більше половини вартості проекту. Однак це невід`ємна частина процесу створення нових додатків, програм, систем.

Інтеграційне тестування як частина великої роботи

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

Методи збирання модулів

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

інтеграційне функціональне тестування

В такому випадку її замінюють додатково розробленими "заглушками", або драйверами.

Поряд з монолітним методом виділяють інкрементальний (його ще називають покроковим), так як обсяг тестованого коду нарощується поступово, даючи локалізувати ділянки з дефектами у взаємозв`язках між окремими частинами.



Інкрементальний метод включає в себе два способи додавання модулів:

  • зверху-вниз або висхідний,
  • знизу-вгору - спадний.

Особливості монолітного і інкрементального тестування

Головний недолік монолітного виду збірки - велика кількість часу і трудовитрат йде на імітацію відсутніх частин тестованого комплексу. Здавалося б, заглушки - досить зручний інструмент тестування, однак виникають ситуації, коли в процесі доводиться створювати заново імітаційні частини програми. Наприклад, в разі зміни складу тестованих модулів. Крім того, ефективність пошуку дефектів не така висока, коли робота ведеться не з реальним продуктом, а лише з фіктивним компонентом. Цей же недолік супроводжує і инкрементальное тестування з висхідним способом складання.

інтеграційне тестування цеУ той же час одним з недоліків покрокового методу є необхідність організації і створення середовища для виконання модулів в заданій послідовності. А також практично неможлива паралельна розробка верхніх і нижніх рівнів.

Звичайно ж, обидва способи збирання, монолітний і інкрементальний, мають не тільки недоліки, але й гідності. У першому випадку з`являються відмінні можливості для паралельної розробки всіх класів і функцій, що беруть участь в тестуванні, як на початковому етапі, так і після доопрацювання. Покроковий же метод менш трудовитрат: модулі приєднуються поступово, і так само поступово виявляються помилки і дефекти. Це, як відомо, дозволяє скоротити час на пошук таких.

Переваги проведення інтеграційного тестування



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

інтеграційне тестування прикладІнтеграційне тестування програмного забезпечення має ряд переваг:

  • перевірка інтерфейсу взаємодії між окремими модулями програми;
  • контроль взаємозв`язків тестованого комплексу зі сторонніми програмними рішеннями;
  • тестування роботи зовнішніх компонентів рішення;
  • контроль відповідності документації по проекту в частині взаємодії окремих модулів.

виправлення дефектів

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

По-перше, необхідно перевірити, чи були усунені виявлені дефекти. По-друге, під час зміни вихідного коду могли виникнути нові помилки в роботі програми і взаємодії зі стороннім ПЗ.

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

Автоматизація тестування

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

інтеграційне тестування програмного забезпеченняДля найбільш ефективної перевірки розробки необхідно використовувати величезну кількість вхідних даних і умов, з чим "вручну" впоратися неможливо. Для вирішення цієї проблеми використовується автоматизація тестування. Як і інші види, інтеграційне тестування також може бути автоматизовано. Це дозволить скоротити час розробки в цілому, а також підвищить ефективність процесу виявлення помилок.

Однак автоматизація тестування не може повністю замінити працю інженера з якості, а лише доповнити його.

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



Увага, тільки СЬОГОДНІ!

Увага, тільки СЬОГОДНІ!