Інтеграційне тестування (англ. integration testing) — це фаза тестування програмного забезпечення, під час якої окремі модулі програми комбінуються та тестуються разом, у взаємодії. Інтеграційне тестування виконується після модульного тестування та перед верифікацією та валідацією ПЗ. Якщо розглядати цей процес як систему, то на вхід їй подаються модулі, які вже пройшли модульне тестування; потім модулі групуються в більші частини, виконуються тести передбачені планом, а на виході системи — інтегрована система, що готова до системного тестування.
Мета
Метою інтеграційного тестування є верифікувати вимоги з функціональності, продуктивності, надійності до основних компонентів програми. Ці компоненти, тобто групи модулів, тестуються методом чорної скриньки (англ. «black-box testing»), успішні та неуспішні тест-кейси симулюються відповідними вхідними параметрами.
В процесі інтеграційного тестування тестуються симульоване використання спільних (англ. «shared») даних та комунікація між процесами. Тест-кейси перевіряють чи коректно взаємодіють всі компоненти, наприклад: через виклик процедури або активізацію процесу.
Дуже важливо те, що до інтеграційного тестування приступають тільки після модульного. Це дозволяє реалізувати стратегію «будівельних блоків», коли до верифікованої системи інтегруються верифіковані модулі.
Серед різновидів інтеграційного тестування є: «big bang» тестування, тестування зверху-донизу та знизу-вгору.
Big Bang
В цьому підході всі або більша частина розроблених модулів збираються разом, формуючи завершену програмну систему або її значну частину та використовуються для інтеграційного тестування. Цей метод дуже ефективний для збереження часу тестування програмної системи. Тим не менше, якщо тест-кейси та їх результати не занотовані належним чином, весь процес стане дуже складним та втратить сенс.
Зверху-донизу та знизу-вгору
Тестування знизу-вгору — це такий підхід до тестування, коли першими тестуються компоненти нижнього рівня, щоб полегшити тестування високорівневих компонентів. Після інтеграційного тестування групи компонентів певного рівня з них формується наступний рівень, який теж повинен бути протестований. Цей підхід ефективний тільки коли всі модулі одного рівня вже розроблені. Також цей підхід допомагає визначити які рівні системи вже розроблені та виразити процес тестування в відсотках.
Тестування зверху-донизу — це такий підхід до тестування, коли тестуються компоненти вищого рівня та гілки кожного з модулів тестуються крок за кроком, поки модуль не буде протестований повністю.
Сендвіч-тестування — підхід, комбінований з двох попередніх.
Перший підхід дозволяє легко знаходити програмні дефекти, коли другий знаходить архітектурні.
Системи безперервної інтеграції
Для автоматизації інтеграційного тестування використовують системи безперервної інтеграцію (Continuous Integration System, CIS). Принцип дії таких системи складається з наступного:
- CIS виконує моніторинг системи контролю версій.
- У випадку змін кода в репозиторії виконується оновлення локальної версії.
- Виконується модульне тестування.
- Збираються програмні модулі.
- Виконуються інтеграційні тести.
- Генерується звіт.
Таким чином, автоматичні інтеграційні тести виконуються відразу після внесення змін, що дозволяє виявити та усунути помилки за короткий проміжок часу.
CIS
Деякі відомі CIS:
- BuildBot
- Hudson або Jenkins
- Teamcity
Рівні інтеграційного тестування
Рівні інтеграційного тестування:
- компонентний інтеграційний рівень (Component Integration testing). Перевіряється взаємодія між компонентами системи після проведення компонентного тестування;
- системний інтеграційний рівень (System Integration Testing). Перевіряється взаємодія між різними системами після проведення системного тестування.
Визначення по ISTQB
Інтеграційне тестування: Перевіряє інтерфейси між компонентами, взаємодію з різними частинами системи, такими як операційна система, файлова система та апаратне забезпечення, інтерфейси між системами. Інтеграційне тестування може складатися з одного чи більше рівнів та може виконуватися на тестових об'єктах різного розміру таким чином:
- Компонентне інтеграційне тестування перевіряє взаємодію між компонентами системи. Виконується після компонентного тестування.
- Системне інтеграційне тестування перевіряє взаємодію між різними системами або між апаратним та програмним забезпеченням. Може виконуватися після системного тестування. В цьому випадку організація, яка розробляє продукт, може контролювати тільки одну сторону інтерфейсу. Однак це можна розглядати як ризик. Бізнес процеси, зображені як потоки робіт, можуть включати послідовність систем. Кросплатформенні розбіжності можуть бути суттєвими.
Поради
- Переконайтеся, що у вас є відповідний документ детального проектування, де взаємодія між кожними модулями чітко визначені. Насправді, ви не зможете виконати інтеграційне тестування без цієї інформації.
- Переконайтеся, що у вас є надійна система управління конфігурацією програмного забезпечення. Або ж, ви будете мати проблеми з відстеженням правильної версії кожного модуля, особливо якщо число модулів, які будуть інтегровані величезне.
- Переконайтеся, що кожен модуль спершу протестований модульним тестуванням, перш ніж почати інтеграційне тестування.
- Наскільки це можливо, автоматизуйте тести, особливо при використанні підходів «зверху вниз» або «знизу вгору», так як регресивне тестування важливе кожен раз, коли ви інтегрували єдине ціле, і ручне регресивне тестування може бути неефективним.
Метод
Будь-який метод з тестування чорного ящика, тестування методом білого ящика. Також може бути використаний метод сірого ящика Як правило, метод залежить від вашого визначення «одиниці».
Див. також
Примітки
- . softwaretestingfundamentals.com. Архів оригіналу за 13 липня 2016. Процитовано 15 липня 2016.
Ця стаття не містить . (липень 2013) |
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
Integracijne testuvannya angl integration testing ce faza testuvannya programnogo zabezpechennya pid chas yakoyi okremi moduli programi kombinuyutsya ta testuyutsya razom u vzayemodiyi Integracijne testuvannya vikonuyetsya pislya modulnogo testuvannya ta pered verifikaciyeyu ta validaciyeyu PZ Yaksho rozglyadati cej proces yak sistemu to na vhid yij podayutsya moduli yaki vzhe projshli modulne testuvannya potim moduli grupuyutsya v bilshi chastini vikonuyutsya testi peredbacheni planom a na vihodi sistemi integrovana sistema sho gotova do sistemnogo testuvannya MetaMetoyu integracijnogo testuvannya ye verifikuvati vimogi z funkcionalnosti produktivnosti nadijnosti do osnovnih komponentiv programi Ci komponenti tobto grupi moduliv testuyutsya metodom chornoyi skrinki angl black box testing uspishni ta neuspishni test kejsi simulyuyutsya vidpovidnimi vhidnimi parametrami V procesi integracijnogo testuvannya testuyutsya simulovane vikoristannya spilnih angl shared danih ta komunikaciya mizh procesami Test kejsi pereviryayut chi korektno vzayemodiyut vsi komponenti napriklad cherez viklik proceduri abo aktivizaciyu procesu Duzhe vazhlivo te sho do integracijnogo testuvannya pristupayut tilki pislya modulnogo Ce dozvolyaye realizuvati strategiyu budivelnih blokiv koli do verifikovanoyi sistemi integruyutsya verifikovani moduli Sered riznovidiv integracijnogo testuvannya ye big bang testuvannya testuvannya zverhu donizu ta znizu vgoru Big BangV comu pidhodi vsi abo bilsha chastina rozroblenih moduliv zbirayutsya razom formuyuchi zavershenu programnu sistemu abo yiyi znachnu chastinu ta vikoristovuyutsya dlya integracijnogo testuvannya Cej metod duzhe efektivnij dlya zberezhennya chasu testuvannya programnoyi sistemi Tim ne menshe yaksho test kejsi ta yih rezultati ne zanotovani nalezhnim chinom ves proces stane duzhe skladnim ta vtratit sens Zverhu donizu ta znizu vgoruTestuvannya znizu vgoru ce takij pidhid do testuvannya koli pershimi testuyutsya komponenti nizhnogo rivnya shob polegshiti testuvannya visokorivnevih komponentiv Pislya integracijnogo testuvannya grupi komponentiv pevnogo rivnya z nih formuyetsya nastupnij riven yakij tezh povinen buti protestovanij Cej pidhid efektivnij tilki koli vsi moduli odnogo rivnya vzhe rozrobleni Takozh cej pidhid dopomagaye viznachiti yaki rivni sistemi vzhe rozrobleni ta viraziti proces testuvannya v vidsotkah Testuvannya zverhu donizu ce takij pidhid do testuvannya koli testuyutsya komponenti vishogo rivnya ta gilki kozhnogo z moduliv testuyutsya krok za krokom poki modul ne bude protestovanij povnistyu Sendvich testuvannya pidhid kombinovanij z dvoh poperednih Pershij pidhid dozvolyaye legko znahoditi programni defekti koli drugij znahodit arhitekturni Sistemi bezperervnoyi integraciyiDlya avtomatizaciyi integracijnogo testuvannya vikoristovuyut sistemi bezperervnoyi integraciyu Continuous Integration System CIS Princip diyi takih sistemi skladayetsya z nastupnogo CIS vikonuye monitoring sistemi kontrolyu versij U vipadku zmin koda v repozitoriyi vikonuyetsya onovlennya lokalnoyi versiyi Vikonuyetsya modulne testuvannya Zbirayutsya programni moduli Vikonuyutsya integracijni testi Generuyetsya zvit Takim chinom avtomatichni integracijni testi vikonuyutsya vidrazu pislya vnesennya zmin sho dozvolyaye viyaviti ta usunuti pomilki za korotkij promizhok chasu CIS Deyaki vidomi CIS BuildBot Hudson abo Jenkins TeamcityRivni integracijnogo testuvannyaRivni integracijnogo testuvannya komponentnij integracijnij riven Component Integration testing Pereviryayetsya vzayemodiya mizh komponentami sistemi pislya provedennya komponentnogo testuvannya sistemnij integracijnij riven System Integration Testing Pereviryayetsya vzayemodiya mizh riznimi sistemami pislya provedennya sistemnogo testuvannya Viznachennya po ISTQBIntegracijne testuvannya Pereviryaye interfejsi mizh komponentami vzayemodiyu z riznimi chastinami sistemi takimi yak operacijna sistema fajlova sistema ta aparatne zabezpechennya interfejsi mizh sistemami Integracijne testuvannya mozhe skladatisya z odnogo chi bilshe rivniv ta mozhe vikonuvatisya na testovih ob yektah riznogo rozmiru takim chinom Komponentne integracijne testuvannya pereviryaye vzayemodiyu mizh komponentami sistemi Vikonuyetsya pislya komponentnogo testuvannya Sistemne integracijne testuvannya pereviryaye vzayemodiyu mizh riznimi sistemami abo mizh aparatnim ta programnim zabezpechennyam Mozhe vikonuvatisya pislya sistemnogo testuvannya V comu vipadku organizaciya yaka rozroblyaye produkt mozhe kontrolyuvati tilki odnu storonu interfejsu Odnak ce mozhna rozglyadati yak rizik Biznes procesi zobrazheni yak potoki robit mozhut vklyuchati poslidovnist sistem Krosplatformenni rozbizhnosti mozhut buti suttyevimi PoradiPerekonajtesya sho u vas ye vidpovidnij dokument detalnogo proektuvannya de vzayemodiya mizh kozhnimi modulyami chitko viznacheni Naspravdi vi ne zmozhete vikonati integracijne testuvannya bez ciyeyi informaciyi Perekonajtesya sho u vas ye nadijna sistema upravlinnya konfiguraciyeyu programnogo zabezpechennya Abo zh vi budete mati problemi z vidstezhennyam pravilnoyi versiyi kozhnogo modulya osoblivo yaksho chislo moduliv yaki budut integrovani velichezne Perekonajtesya sho kozhen modul spershu protestovanij modulnim testuvannyam persh nizh pochati integracijne testuvannya Naskilki ce mozhlivo avtomatizujte testi osoblivo pri vikoristanni pidhodiv zverhu vniz abo znizu vgoru tak yak regresivne testuvannya vazhlive kozhen raz koli vi integruvali yedine cile i ruchne regresivne testuvannya mozhe buti neefektivnim MetodBud yakij metod z testuvannya chornogo yashika testuvannya metodom bilogo yashika Takozh mozhe buti vikoristanij metod sirogo yashika Yak pravilo metod zalezhit vid vashogo viznachennya odinici Div takozhTestuvannya programnogo zabezpechennya Sistemne testuvannya Modulne testuvannyaPrimitki softwaretestingfundamentals com Arhiv originalu za 13 lipnya 2016 Procitovano 15 lipnya 2016 Cya stattya ne mistit posilan na dzherela Vi mozhete dopomogti polipshiti cyu stattyu dodavshi posilannya na nadijni avtoritetni dzherela Material bez dzherel mozhe buti piddano sumnivu ta vilucheno lipen 2013