what is component testing
Шта се испитивање компонената назива и испитивање модула у тестирању софтвера:
Компонента је најнижа јединица било које примене. Дакле, тестирање компонената; као што и само име говори, техника је тестирања најниже или најмање јединице било које примене.
Тестирање компонената понекад се назива и тестирање програма или модула.
Апликација се може замислити као комбинација и интеграција многих малих појединачних модула. Пре него што тестирамо цео систем, неопходно је да се свака компонента ИЛИ најмања јединица апликације темељно тестира.
пл скл питања за интервју са одговорима
У овом случају, модули или јединице се тестирају независно. Сваки модул прима улаз, врши неку обраду и генерише излаз. Излаз се затим потврђује у односу на очекивану карактеристику.
Софтверске апликације су огромне природе и изазов је тестирати читав систем. То може довести до многих празнина у покривености тестом. Стога, пре него што пређете на интеграционо тестирање или функционално тестирање, препоручује се да започнете са тестирањем компонената.
Такође прочитајте=> Разлика у јединици, интеграцији и функционалном испитивању
Шта ћете научити:
- Испитивање компонената
- Циљ испитивања компонената
- Улази у испитивање нивоа компонената
- Ко врши тестирање компонената?
- Шта се тестира у оквиру тестирања компонената?
- Када је испитивање компонената завршено?
- Стратегија испитивања компонената за испитивање
- Стубс анд Дриверс
- Пример
- Како написати тестове за компоненте?
- Испитивање компонената против јединственог испитивања
- Испитивање компонентног вс интерфејса против интеграције против система
- Закључак
- Препоручено читање
Испитивање компонената
То је врста тестирања беле кутије.
Дакле, тестирање компонената тражи грешке и верификује функционисање модула / програма који се могу засебно тестирати.
Постоји стратегија испитивања и план испитивања за испитивање компонената. И, за сваку компоненту постоји тестни сценарио који ће се даље рашчланити у тестним случајевима. Доњи дијаграм представља исто:
Циљ испитивања компонената
Главни циљ тестирања компонената је верификација улазно / излазног понашања тест објекта. Осигурава да функционалност тестног објекта ради исправно и потпуно у складу са жељеном спецификацијом.
Улази у испитивање нивоа компонената
Четири главна улаза у испитивање нивоа компоненти су:
- План испитивања пројекта
- Системски захтеви
- Спецификације компонената
- Имплементације компонената
Ко врши тестирање компонената?
Тестирање компонената врше КА службе или испитивач.
Шта се тестира у оквиру тестирања компонената?
Тестирање компонената може узети у обзир проверу функционалних или специфичних нефункционалних карактеристика системских компоненти.
То може бити тестирање понашања ресурса (нпр. Утврђивање цурења меморије), испитивање перформанси, структурно испитивање итд.
Када је испитивање компонената завршено?
Испитивање компонената врши се након јединичног испитивања.
Компоненте се испитују чим се креирају, тако да постоји шанса да резултати добијени из компоненте која се тестира зависе од других компонената које за сада нису развијене.
У зависности од модела животног циклуса развоја, испитивање компонената може се вршити изоловано са осталим компонентама система. Изолација се врши ради спречавања спољних утицаја.
Дакле, за тестирање те компоненте користимо Стубс и Дриверсза симулацију интерфејса између софтверских компоненти.
Интеграционо тестирање се врши након испитивања компонената.
Стратегија испитивања компонената за испитивање
У зависности од дубине нивоа испитивања, испитивање компонената је подељено у два дела:
- Испитивање компонената у малим (цтис)
- Испитивање компонената у великим (ЦТИЛ)
Када се испитивање компонената врши изоловано са другим компонентама, то се назива испитивање компонената у малим. То се ради без разматрања интеграције са другим компонентама.
Када се тестирање компонената врши без изолације са осталим компонентама софтвера, онда се то у целини назива тестирањем компонената. То се дешава када постоји зависност од протока функционалности компонената и стога их не можемо изоловати.
Ако компоненте о којима имамо зависност још нису развијене, тада користимо лажне објекте уместо стварних компоненти. Ови лажни објекти су клизач (која се назива функција) и покретачки програм (функција која позива).
Стубс анд Дриверс
Пре него што скочим укратко о гребицама и возачима, требало би да се информишем о разлика између тестова компонената и тестова интеграције. Разлог је - гребци и покретачки програми се такође користе у интеграционом тестирању, па ово може довести до одређене забуне између ове две технике тестирања.
Техника интеграционог тестирања је техника у којој секвенцијално комбинујемо 2 компоненте и заједно тестирамо интегрисани систем. Подаци из једног система прелазе се у други систем и исправност података се потврђује за интегрисани систем.
За разлику од тестирања модула, где се појединачна компонента / модул темељно тестира пре интеграције у друге компоненте. Дакле, можемо рећи да се тестирање компонената врши пре тестирања интеграције.
И интеграција и компоненте користе Стубс анд Дриверс .
„Возачи“ су лажни програми који се користе за позивање функција најнижег модула у случају да позивна функција не постоји.
„Стубс“ може се означити као исечак кода који прихвата улазе / захтеве из горњег модула и враћа резултате / одговор
Као што је раније објашњено, компоненте се испитују појединачно и независно. Дакле, могу постојати неке карактеристике компонената, зависно од друге компоненте која тренутно није развијена. Дакле, да бисмо тестирали компоненте са овим „неразвијеним“ карактеристикама, морамо да користимо неке стимулативне агенсе који би обрађивали податке и враћали их компонентама које позивају.
На овај начин осигуравамо да се појединачне компоненте темељно испитају.
Овде видимо да:
- Ц1, Ц2, Ц3, Ц4, Ц5, Ц6, Ц7, Ц8, Ц9 ————— су компоненте
- Ц1, Ц2 и Ц3 заједно чине Подјединицу 1
- Ц4 и Ц5 заједно чине Подјединицу 2
- Ц6, Ц7 и Ц8 заједно чине Подјединицу 3
- Само Ц9 чини подјединицу 4
- Подјединица 1 и Подјединица 2 комбинују се да би створиле Пословну јединицу 1
- Подјединица 3 и Подјединица 4 удружују се да би створиле Пословну јединицу 2
- Пословна јединица 1 и Пословна јединица 2 комбинују се да би се направила апликација.
- Дакле, тестирање компонената, у овом случају, требало би да тестира појединачне компоненте које су од Ц1 до Ц9.
- Тхе Нето стрелица између под јединице 1 и јединице 2 приказује тачку тестирања интеграције.
- Слично томе, Нето стрелица између подјединице 3 и подјединице 4 показује тачку тестирања интеграције
- Зелена стрелица између пословне јединице 1 и пословне јединице 2 показује тачку тестирања интеграције
Стога бисмо радили:
- САСТАВНИ ДЕО испитивање за Ц1 до Ц9
- ИНТЕГРАЦИЈА тестирање између подјединица и пословних јединица
- СИСТЕМ тестирање Апликације у целини
Пример
До сада смо морали утврдити да је испитивање компонената нека врста технике тестирања беле кутије . Па, можда је у праву. Али то не значи да се ова техника не може користити у техници испитивања црне кутије.
иницијализује статичку променљиву ц ++
Размислите о огромној веб апликацији која започиње страницом за пријаву. Као тестер (и то у агилном свету) нисмо могли да сачекамо док се цела апликација не развије и не буде спремна за тестирање. Да бисмо повећали време за излазак на тржиште, морамо рано започети тестирање. Дакле, када видимо да је страница за пријаву развијена, морамо инсистирати на томе да нам буде доступна за тестирање.
Чим вам буде доступна страница за пријављивање коју можете тестирати, можете извршити све своје тест случајеве (позитивне и негативне) како бисте осигурали да функционалност странице за пријаву ради како се очекује.
Предности тестирања ваше странице за пријављивање у овом тренутку биле би:
питања и одговори за подршку службе за помоћ
- Кориснички интерфејс је тестиран на употребљивост (правописне грешке, логотипи, поравнање, форматирање итд.)
- Покушајте да користите негативне технике испитивања попут аутентификације и ауторизације. У овим случајевима постоји огромна вероватноћа да се пронађу недостаци.
- Употреба техника попут СКЛ ињекција обезбедио би тестирање кршења безбедности у врло раној фази.
Кварови које бисте у овој фази забележили деловали би као „научене лекције“ за развојни тим и они би били уграђени у кодирање узастопне странице. Отуда раним тестирањем - обезбедили сте бољи квалитет страница које тек треба да се израде.
Будући да остале узастопне странице још нису развијене, можда ће вам требати клинови да бисте потврдили функционалност странице за пријаву. На пример ,можда ћете желети једноставну страницу која наводи „евидентирање је успешно“, у случају тачних акредитива и искачући прозор са поруком о грешци у случају нетачних акредитива.
Можете да погледате наш ранији водич на Интеграционо тестирање да бисте имали више увида у Стубс анд Дриверс.
Како написати тестове за компоненте?
Испитни примери за испитивање компонената изведени су из радних производа, на пример, софтверског дизајна или модела података. Свака компонента се тестира кроз низ тест случајева где сваки тест случај покрива одређену комбинацију улаза / излаза, тј. Делимичну функционалност.
Испод је узорак исечка тест примера компоненте за модул за пријављивање.
Слично можемо писати и друге тестове.
Испитивање компонената против јединственог испитивања
Прва разлика између испитивања компоненти и јединственог тестирања је у томе што прво изводе тестери, а другу програмери или СДЕТ професионалци.
Јединствено тестирање се изводи на грануларном нивоу. С друге стране, испитивање компонената врши се на нивоу апликације. У јединственом тестирању, проверава се да ли се појединачни програм или део кода извршавају према наведеном. У тестирању компоненти, сваки објект софтвера се тестира одвојено са или без изолације са осталим компонентама / објектом система.
Дакле, тестирање компонената је потпуно слично јединственом тестирању, али се врши на вишем нивоу интеграције и у контексту апликације (не само у контексту те јединице / програма као у јединственом тестирању).
Испитивање компонентног вс интерфејса против интеграције против система
Саставни део , као што сам објаснио, најнижа је јединица апликације која се тестира независно.
Ан интерфејс је спојни слој 2 компоненте. Тестирање платформе или интерфејса на којем две компоненте комуницирају назива се тестирање интерфејса.
Сада је тестирање интерфејса мало другачије. Ови интерфејси су углавном АПИ-је или веб услуге , тако да тестирање ових интерфејса не би било слично техници Блацк Бок, већ бисте радили неку врсту АПИ тестирања или тестирања веб услуга користећи СОАП УИ или било који други алат.
Једном када је тестирање интерфејса завршено, долази Интеграционо тестирање .
Током интеграцијског теста, комбинујемо појединачне тестиране компоненте једну по једну и тестирамо их поступно. Током интеграције потврђујемо да се појединачне компоненте када се комбинују једна по једна понашају очекивано и да се подаци не мењају када прелазе из 1 модула у други модул.
Једном када су све компоненте интегрисане и тестиране, изводимо Испитивање система за тестирање целокупне апликације / система у целини. Овај тест потврђује пословне захтеве у односу на имплементирани софтвер.
Закључак
Ја бих рекао да је Јединствено тестирање и Испитивање компонената се врши упоредо.
За разлику од Унит тестирања које ради развојни тим, тестирање компонената / модула врши Тест тим. Увек се препоручује да се заврши тестирање компонената пре него што се започне тестирање интеграције.
Ако је тестирање компонената чврсто, наћи ћемо мање недостатака у интеграционом тестирању. Било би проблема, али ти би се односили на интеграционо окружење или изазове конфигурације. Можете се побринути да функционалност интегрисаних компоненти ради у реду.
Надам се да је ово упутство било корисно за разумевање тестирања компонената, интеграције и система. Ако и даље имате питања, слободно нас питајте у коментарима.
Препоручено читање
- Најбољи алати за тестирање софтвера 2021. године (КА Тест Аутоматион Тоолс)
- Шта је тестирање системске интеграције (СИТ): научите на примерима
- Преузимање е-књиге за тестирање буквара
- Шта је упоредно тестирање (научите на примерима)
- Шта је интеграционо тестирање (Водич са примером интеграционог тестирања)
- Функционално тестирање вс нефункционално тестирање
- Разлике између јединственог тестирања, интеграционог тестирања и функционалног тестирања
- Шта је инкрементално тестирање: детаљно објашњење са примерима