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

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

Додано: 02.11.15
Автор: admin
Рубрика: Техніка
Жодна розробка програмного забезпечення не обходиться без тестування виконуваного коду. Фактично, на це йде половина всього часу, витраченого на розробку, і більше половини вартості проекту. Проте це невід'ємна частина процесу створення нових додатків, програм, систем.

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

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




Методи складання модулів

Монолітний метод означає, що всі модулі, які в майбутньому будуть піддані інтеграційного тестування, збираються воєдино одночасно. Майже напевно виникають ситуації, коли частина досліджуваного комплексу ще не готова.
Інтеграційне тестування - частина великого проекту
У такому разі її замінюють додатково розробленими "заглушками", або драйверами. Поряд з монолітним методом виділяють інкрементальний (його ще називають покроковим), так як об'єм досліджуваного коду нарощується поступово, даючи локалізувати ділянки з дефектами у взаємозв'язках між окремими частинами. Інкрементальний метод включає в себе два спобличчя додавання модулів:
  • зверху-вниз або висхідне,
  • знизу-вгору – спадний.
  • Особливості монолітного і інкрементального тестування

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




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




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

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

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

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

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