Интеграционното тестване е част от по-голям проект

Нито една разработка на софтуер не е завършена без тестване на изпълнимия код. Всъщност това отнема половината от времето, изразходвано за разработка, и повече от половината от цената на проекта. Това обаче е неразделна част от процеса на създаване на нови приложения, програми, системи.

Интеграционното тестване като част от голяма работа

Един от методите за контрол на качеството на софтуера е интеграционното тестване, което се захранва с отделни модули, тествани на предишния етап.

тестване

Методи за сглобяване на модули

Монолитният метод означава, че всички модули, които ще бъдат обект на интеграционно тестване в бъдеще, се сглобяват едновременно. Почти сигурно има ситуации, когато част от тествания комплекс все още не е готов.

интеграционното

В този случай той се заменя с допълнително разработени "пънчета" или драйвери.

Наред с монолитния метод се разграничава инкрементален метод (наричан още стъпка по стъпка), тъй като обемът на тествания код се увеличава постепенно, което позволява локализирането на области с дефекти във взаимоотношенията между отделните части.

Инкременталният метод включва два начина за добавяне на модули:

  • отгоре надолу или възходящо,
  • отдолу нагоре - низходящ.

Характеристики на монолитно и инкрементално тестване

Основният недостатък на монолитния тип монтаж е, че се изразходва голямо количество време и труд за симулиране на липсващите части на тествания комплекс. Изглежда, че мъничетата са доста удобен инструмент за тестване, но има ситуации, когато в процеса трябва да създадете отново симулационни части на програмата. Например, в случай на промяна в състава на тестваните модули. В допълнение, ефективносттатърсенето на дефекти не е толкова високо, когато работата не се извършва с реален продукт, а само с фиктивен компонент. Същият недостатък придружава постепенното тестване с метод за изграждане отдолу нагоре.

тестване

Разбира се, и двата метода на сглобяване, монолитни и инкрементални, имат не само недостатъци, но и предимства. В първия случай има отлични възможности за паралелно развитие на всички класове и функции, включени в тестването, както в началния етап, така и след завършване. Методът стъпка по стъпка е по-малко трудоемък: модулите се добавят постепенно, а грешките и дефектите също се откриват постепенно. Това, както знаете, ви позволява да намалите времето за търсенето им.

Ползи от провеждането на интеграционно тестване

На този етап се извършва огромна работа за проверка на взаимовръзките на всички нива, без които, разбира се, по-нататъшното тестване е невъзможно.

тестване

  • проверка на интерфейса за взаимодействие между отделните програмни модули;
  • контрол на взаимовръзките на тествания комплекс със софтуерни решения на трети страни;
  • тестване на работата на външни компоненти на решението;
  • контрол на съответствието на проектната документация по отношение на взаимодействието на отделните модули.

Коригиране на дефекти

Тестването на интеграцията е завършено, но това не е всичко. Намерените грешки се коригират и изпращат на разработчика за коригиране, след което процесът започва наново.

Първо е необходимо да се провери дали установените дефекти са отстранени. Второ, при промяна на изходния код могат да възникнат нови грешки в работата на програмата и взаимодействието със софтуера на трети страни.

Въпреки че в момента има голям брой методи за контрол на качеството, той все още играе важна роляинтеграционно тестване. Пример за този тип проверка може ясно да демонстрира "тесните места" в разработването на софтуер и документация.

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

В зависимост от обема на първоначалния набор от данни и предметната област на разработка може да възникне проблемът с времето за тестване и сложността на събитието като цяло.

по-голям

Автоматизацията на тестовете обаче не може напълно да замени работата на инженера по качеството, а само да я допълни.

Така че интеграционното тестване е неразделна част от разработването на всеки софтуер и един от етапите на целия процес на контрол на качеството на продукта. Като всеки метод, той има редица предимства и недостатъци, но без прилагането му качествената разработка на софтуер става невъзможна.