Інтеграційне тестування - частина великого проекту
Жодна розробка програмного забезпечення не обходиться без тестування виконуваного коду. Фактично, на це йде половина всього часу, витраченого на розробку, і більше половини вартості проекту. Проте це невід'ємна частина процесу створення нових додатків, програм, систем.
зверху-вниз або висхідне, знизу-вгору – спадний.
В той же час одним з недоліків покрокового методу є необхідність організації та створення середовища для виконання модулів в заданій послідовності. А також практично неможлива паралельна розробка верхніх і нижніх рівнів. Звичайно ж, обидва способу збирання, монолітний і інкрементальний, мають не тільки недоліки, але й переваги. У першому випадку з'являються відмінні можливості для паралельної розробки всіх класів і функцій, що беруть участь в тестуванні, як на початковому етапі, так і після доопрацювання. Покроковий метод менш трудозатратен: модулі приєднуються поступово, і так само поступово виявляються помилки і дефекти. Це, як відомо, дозволяє скоротити час на пошук таких.
перевірка інтерфейсу взаємодії між окремими модулями програми; контроль взаємозв'язків досліджуваного комплексу зі сторонніми програмними рішеннями; тестування роботи зовнішніх компонентів рішення; контроль відповідності документації за проектом в частині взаємодії окремих модулів.
Інтеграційне тестування як частина великої роботи
Один із способів контролю якості програмного забезпечення – інтеграційне тестування, на вхід якого подаються окремо взяті модулі, протестовані на попередньому етапі. На відміну від модульного варіанту, в ході якого виявляються помилки, локалізовані в кожної окремо взятої функції або класі, інтеграційне тестування – це пошук дефектів, пов'язаних з реалізацією взаємодії між окремими частинами створюваного продукту. Інтеграційне функціональне тестування використовує метод «білого ящика», тобто інженера з якості доступні і відомі тексти кожного окремого модуля, а також принципи взаємодії між ними.Методи складання модулів
Монолітний метод означає, що всі модулі, які в майбутньому будуть піддані інтеграційного тестування, збираються воєдино одночасно. Майже напевно виникають ситуації, коли частина досліджуваного комплексу ще не готова. У такому разі її замінюють додатково розробленими "заглушками", або драйверами. Поряд з монолітним методом виділяють інкрементальний (його ще називають покроковим), так як об'єм досліджуваного коду нарощується поступово, даючи локалізувати ділянки з дефектами у взаємозв'язках між окремими частинами. Інкрементальний метод включає в себе два спобличчя додавання модулів:Особливості монолітного і інкрементального тестування
Головний недолік монолітного виду збірки – велика кількість часу і трудовитрат йде на імітацію відсутніх частин досліджуваного комплексу. Здавалося б, заглушки - досить зручний інструмент тестування, однак виникають ситуації, коли в процесі доводиться створювати заново імітаційні частини програми. Наприклад, у разі зміни складу тестованих модулів. Крім того, ефективність пошуку дефектів не так висока, коли робота ведеться не з реальним продуктом, а лише з фіктивним компонентом. Цей же недолік супроводжує і інкрементні тестування з висхідним способом складання.В той же час одним з недоліків покрокового методу є необхідність організації та створення середовища для виконання модулів в заданій послідовності. А також практично неможлива паралельна розробка верхніх і нижніх рівнів. Звичайно ж, обидва способу збирання, монолітний і інкрементальний, мають не тільки недоліки, але й переваги. У першому випадку з'являються відмінні можливості для паралельної розробки всіх класів і функцій, що беруть участь в тестуванні, як на початковому етапі, так і після доопрацювання. Покроковий метод менш трудозатратен: модулі приєднуються поступово, і так само поступово виявляються помилки і дефекти. Це, як відомо, дозволяє скоротити час на пошук таких.
Переваги проведення інтеграційного тестування
На цьому етапі проводиться колосальна робота перевірки взаємозв'язків всіх рівнів, без чого, звичайно ж, неможливо подальше тестування. Інтеграційне тестування програмного забезпечення має ряд переваг:Виправлення дефектів
Інтеграційне тестування завершено, однак це ще не все. Знайдені помилки фіксуються і відправляються розробнику для виправлення, після чого процес починається заново. По-перше, необхідно перевірити, чи були усунені виявлені дефекти. По-друге, під час зміни вихідного коду могли виникнути нові помилки в роботі програми та взаємодії зі стороннім ПЗ. Хоча в даний час існує велика кількість методів контролю якості, як і раніше, важливу роль відіграє інтеграційне тестування. Приклад такого виду перевірки може наочно продемонструвати «вузькі» місця при розробці програмного забезпечення та документації.Автоматизація тестування
В залежності від обсягу вихідного комплексу даних предметної області розробки може вставати проблема часу тестування і трудомісткості заходу в цілому. Для найбільш ефективної розробки перевірки необхідно використовувати величезну кількість вхідних даних і умов, з чим "вручну" впоратися неможливо. Для вирішення цієї проблеми використовується автоматизація тестування. Як і інші види, інтеграційне тестування також може бути автоматизовано. Це дозволить скоротити час розробки в цілому, а також підвищить ефективність процесу виявлення помилок. Проте автоматизація тестування не може повністю замінити працю інженера з якості, а лише доповнити її. Отже, інтеграційне тестування – це невід'ємна частина розробки програмного забезпечення і один з етапів всього процесу перевірки якості продукту. Як і будь-який метод, він має ряд переваг і недоліків, але без його застосування стає неможливою якісна розробка ПЗ.Читайте також
НАУКА
Автоматизація систем управління: рівні, засоби, особливості і сфери застосування
Авто поради
Автомобільні шини "Кама-Євро-236": огляд
Компютер і інтернет
Як знайти драйвер для невідомого пристрою? Способи пошуку драйверів для різних ОС
Компютер і інтернет
Програми для лікування жорсткого диска. Тестування жорстких дисків
Компютер і інтернет
AMD FX-4350. Огляд і тестування процесора
Компютер і інтернет
Створення ігор на Android за допомогою спеціальних програм
Техніка
Індикатори і покажчики напруги
Техніка
Вимірювання опору ізоляції мегаомметром