Шта је тестирање интеграције система?
Тестирање системске интеграције дефинисано је као врста софтверског тестирања које се изводи у интегрисаном хардверском и софтверском окружењу ради верификације понашања комплетног система. Тестирање се врши на комплетном, интегрисаном систему како би се проценило усклађеност система са његовим наведеним захтевима.
Тестирање системске интеграције (СИТ) врши се ради верификације интеракције између модула софтверског система. Бави се верификацијом софтверских захтева високог и ниског нивоа наведених у спецификацији / подацима софтверских захтева и документу за дизајн софтвера.
Такође проверава коегзистенцију софтверског система са другима и тестира интерфејс између модула софтверске апликације. У овој врсти тестирања, модули се прво тестирају појединачно, а затим комбинују да би се направио систем.
На пример, софтверске и / или хардверске компоненте се комбинују и прогресивно тестирају све док се цео систем не интегрише.
У овом упутству ћете научити-
- Шта је тестирање интеграције система?
- Зашто тестирање системске интеграције
- Како се врши тестирање интеграције система
- Критеријуми за улаз и излаз за тестирање интеграције
- Испитивање интеграције хардвера и софтвера
- Тестирање интеграције софтвера до софтвера
- Одозго на доле приступ
- Приступ одоздо према горе
- Приступ Великог праска
Зашто тестирање системске интеграције
У софтверском инжењерству, тестирање системске интеграције врши се зато што,
- Помаже у раном откривању оштећења
- Раније ће бити доступне повратне информације о прихватљивости појединог модула
- Заказивање исправки за недостатке је флексибилно и може се преклопити са развојем
- Тачан проток података
- Тачан контролни ток
- Тачно време
- Исправно коришћење меморије
- Исправно са захтевима софтвера
Како се врши тестирање интеграције система
То је систематска техника за конструкцију програмске структуре током извођења тестова ради откривања грешака повезаних са повезивањем.
Сви модули су унапред интегрисани и читав програм се тестира у целини. Али током овог процеса вероватно ће се наићи на низ грешака.
Исправљање таквих грешака је тешко, јер узроке изолације компликује велико ширење читавог програма. Једном када се ове грешке отклоне и исправе, појавиће се нова и процес се наставља у бесконачној петљи . Да би се избегла ова ситуација, користи се други приступ, инкрементална интеграција. Више детаља о инкременталном приступу видећемо касније у водичу.
Постоје неке инкременталне методе попут интеграционих тестова који се изводе на систему заснованом на циљном процесору. Методологија која се користи је тестирање црне кутије. Може се користити интеграција одоздо према горе или одозго према доле.
Испитни случајеви су дефинисани само помоћу високих софтверских захтева.
Интеграција софтвера такође се може постићи у великој мери у окружењу хоста, с тим што ће се јединице специфичне за циљно окружење и даље симулирати у хосту. Поновљени тестови у циљном окружењу за потврду ће поново бити потребни.
Тестови потврде на овом нивоу идентификоваће проблеме специфичне за окружење, попут грешака у додељивању и одвајању меморије. Практичност спровођења интеграције софтвера у окружењу хоста зависиће од тога колико постоји специфична функционалност циља. За неке уграђене системе спрега са циљним окружењем биће врло јака, што чини непрактичним провођење интеграције софтвера у окружењу домаћина.
Велики развој софтвера поделиће интеграцију софтвера на више нивоа. Нижи нивои интеграције софтвера могу се претежно заснивати на окружењу домаћина, а каснији нивои интеграције софтвера постају зависнији од циљног окружења.
Напомена: Ако се тестира само софтвер, онда се то назива тестирање софтверске интеграције софтвера [ССИТ], а ако се тестирају и хардвер и софтвер, тада се назива тестирање интеграције хардверског софтвера [ХСИТ].
Критеријуми за улаз и излаз за тестирање интеграције
Обично се током извођења тестирања интеграције користи ЕТВКС (критеријуми за улазак, задатак, валидација и излазни критеријуми).
Критеријуми за улазак:
- Завршетак јединичног испитивања
Улази:
- Подаци о софтверским захтевима
- Документ о дизајну софтвера
- План верификације софтвера
- Документи за интеграцију софтвера
Активности:
- На основу захтева високог и ниског нивоа направите тест случајеве и процедуре
- Комбинују ниске нивое модула који имплементирају заједничку функционалност
- Развити тест упртач
- Тестирајте изградњу
- Једном када тест прође, верзија се комбинује са осталим верзијама и тестира док се систем не интегрише у целину.
- Поново изведите све тестове на циљној платформи заснованој на процесору и прибавите резултате
Излазни критеријуми:
- Успешан завршетак интеграције софтверског модула на циљани хардвер
- Исправите перформансе софтвера у складу са наведеним захтевима
Излази
- Извештаји о интеграционим тестовима
- Случајеви и поступци за тестирање софтвера [СВЦП].
Тестирање интеграције хардверског софтвера
Тестирање хардверске софтверске интеграције је процес тестирања компонената рачунарског софтвера (ЦСЦ) на високе функције у циљаном хардверском окружењу. Циљ тестирања интеграције хардвера / софтвера је тестирање понашања развијеног софтвера интегрисаног у хардверску компоненту.
Тестирање хардверско-софтверске интеграције на основу захтева
Циљ тестирања интеграције хардвера / софтвера заснованог на захтевима је да се осигура да ће софтвер на циљном рачунару задовољити захтеве високог нивоа. Типичне грешке откривене овом методом испитивања укључују:
- Грешке у хардверском / софтверском интерфејсу
- Кршења партиционирања софтвера.
- Немогућност откривања кварова уграђеним тестом
- Нетачан одговор на хардверске кварове
- Грешка због секвенцирања, привремених улазних оптерећења и улазних прелазних снага
- Понављање повратних информација нетачно
- Нетачна или неправилна контрола хардвера за управљање меморијом
- Проблем сукоба сабирнице података
- Неисправан рад механизма за проверу компатибилности и исправности софтвера за учитавање на терену
Интеграција хардверског софтвера бави се верификацијом захтева високог нивоа. Сви тестови на овом нивоу се спроводе на циљаном хардверу.
- Тестирање црне кутије је примарна методологија тестирања која се користи на овом нивоу тестирања.
- Тест случајеве дефинишите само на основу захтева високог нивоа
- Тест се мора извршити на стандардном хардверу (на мети)
Ствари које треба узети у обзир приликом дизајнирања тест случајева за ХВ / СВ интеграцију
- Тачно прикупљање свих података софтвером
- Скалирање и опсег података како се очекује од хардвера до софтвера
- Исправан излаз података из софтвера у хардвер
- Подаци у оквиру спецификација (нормалан опсег)
- Подаци изван спецификација (абнормални опсег)
- Подаци о границама
- Прекида обраду
- Тиминг
- Исправно коришћење меморије (адресирање, преклапање итд.)
- Државне транзиције
Напомена: За тестирање прекида, сви прекиди ће бити верификовани независно од почетног захтева кроз потпуно сервисирање и до завршетка. Тест случајеви ће бити посебно дизајнирани како би се адекватно тестирали прекиди.
Тестирање интеграције софтвера до софтвера
То је тестирање рачунарске софтверске компоненте која ради у рачунару хост / циљни
Окружење, симулирајући читав систем [остале ЦСЦ-ове] и функционалност високог нивоа.
Фокусира се на понашање ЦСЦ-а у симулираном хосту / циљном окружењу. Приступ који се користи за интеграцију софтвера може бити инкрементални приступ (одозго према доле, одоздо према горе или комбинација оба).
Инкрементални приступ
Инкрементално тестирање је начин интеграционог тестирања. У овој врсти методе тестирања прво тестирате сваки модул софтвера појединачно, а затим настављате тестирање додавањем других модула, затим још једног и тако даље.
Инкрементална интеграција је контраст приступу Великог праска. Програм је конструисан и тестиран у малим сегментима, где се грешке лакше изолују и исправљају. Вероватније је да ће се интерфејси у потпуности тестирати и може се применити систематски приступ тестирању.
Постоје две врсте инкременталног тестирања
- Одозго на доле приступ
- Приступ одоздо према горе
Одозго на доле приступ
У овој врсти приступа, појединачно започиње тестирањем само корисничког интерфејса, са основном функционалношћу симулираном клатима, а затим се крећете надоле интегришући доњи и доњи слој као што је приказано на доњој слици.
- Почевши од главног управљачког модула, модули се интегришу померањем надоле кроз хијерархију управљања
- Подмодули главног управљачког модула уграђени су у структуру или на ширину или на дубину.
- Дубинска интеграција интегрише све модуле на главном контролном путу структуре као што је приказано на следећем дијаграму:
Процес интеграције модула врши се на следећи начин:
- Главни контролни модул се користи као тест возач, а клинови су замењени за све модуле који су директно подређени главном управљачком модулу.
- Подређени клинови се замењују један по један стварним модулима, у зависности од изабраног приступа (прво ширина или прво дубина).
- Тестови се извршавају како је сваки модул интегрисан.
- По завршетку сваког сета тестова, други стуб се замењује стварним модулом по завршетку сваког сета тестова
- Да би били сигурни да нове грешке нису уведене, може се извршити тестирање регресије.
Процес се наставља од корака 2 до изградње целокупне програмске структуре. Стратегија од врха према доле звучи релативно једноставно, али у пракси се јављају логистички проблеми.
Најчешћи од ових проблема јављају се када је за адекватно тестирање горњих нивоа потребна обрада на ниским нивоима у хијерархији.
Стубс замењују модуле ниског нивоа на почетку тестирања одозго према доле, па стога ниједан значајан податак не може тећи према горе у структури програма.
Изазивач који се може суочити са:
- Одложите многа испитивања док се клинови не замене стварним модулима.
- Развијте клинове који изводе ограничене функције које симулирају стварни модул.
- Интегришите софтвер од дна хијерархије нагоре.
Напомена: Први приступ доводи до тога да губимо одређену контролу над преписком између одређених тестова и уградње одређених модула. То може резултирати потешкоћама у утврђивању узрока грешака које теже кршењу високо ограничене природе приступа од врха према доле.
Други приступ је изведив, али може довести до значајних трошкова, јер стуб постају све сложенији.
Приступ одоздо према горе
Интеграција одоздо према горе започиње изградњу и тестирање модулима на најнижем нивоу у структури програма. У овом процесу модули су интегрисани одоздо према горе.
У овом приступу обрада потребна за модуле подређене датом нивоу је увек доступна и потреба за клиновима је елиминисана.
Овај процес тестирања интеграције изводи се у серију од четири корака
- Модули ниског нивоа комбиновани су у кластере који извршавају одређену софтверску подфункцију.
- Возач је написан да координира улаз и излаз тест случаја.
- Кластер или градња су тестирани.
- Управљачки програми се уклањају, а кластери се комбинују и крећу нагоре у структури програма.
Како се интеграција креће према горе, потреба за одвојеним часовима тест возача. У ствари, ако су горња два нивоа програмске структуре интегрисана одозго према доле, број покретачких програма може се знатно смањити, а интеграција кластера је знатно поједностављена. Интеграција следи образац приказан у наставку. Како се интеграција креће према горе, потреба за одвојеним часовима тест возача.
Напомена: Ако су горња два нивоа програмске структуре интегрисана Одозго, број покретачких програма може се знатно смањити, а интеграција састава је у великој мери поједностављена.
Приступ Великог праска
У овом приступу, сви модули нису интегрисани док и уколико сви модули нису спремни. Једном када су спремни, сви модули се интегришу и затим извршавају како би се знало да ли сви интегрисани модули раде или не.
У овом приступу је тешко знати основни узрок неуспеха због интегрисања свега одједном.
Такође, биће велике шансе за појаву критичних грешака у производном окружењу.
Овај приступ се усваја само када се интеграционо тестирање мора обавити одједном.
Резиме:
- Интеграција се врши ради верификације интеракције између модула софтверског система. Помаже у раном откривању недостатака
- Тестирање интеграције може се обавити за хардверско-софтверску или хардверско-хардверску интеграцију
- Интеграционо тестирање се врши на два начина
- Инкрементални приступ
- Приступ великог праска
- Током извођења тестирања интеграције углавном се користи стратегија ЕТВКС (критеријуми уласка, задатак, валидација и излазак).