what is thread testing software testing
Овај водич објашњава шта је тестирање нити, када и како се то изводи, врсте тестирања заснованих на нитима и изазови са којима се суочавају:
Тестирање нити је техника софтверског тестирања која се користи за тестирање апликација заснованих на клијентском серверу.
Тестирање засновано на нити требало би извршити у почетним фазама тестирања интеграције, тако да се кључне функције могу тестирати / верификовати за одређени задатак / програм или нит.
Шта ћете научити:
- Зашто тестирање навоја
- Када и како се врши испитивање навоја
- Врсте испитивања заснованих на навоју
- Разлика између навоја и процеса
- Разлика између тестирања заснованог на нитима и корисника
- Закључак
Зашто тестирање навоја
Када су компоненте интегрисане, потребно је проверити да ли ће систем радити како се очекивало или не и да ли ће се све трансакције догодити према захтеву или не. Тако тестирање засновано на нитима долази да би се тестирало исто.
Ово испитивање се врши интеграцијом нити прогресивно на свим нивоима почев од подсистема до комплетног система, тј. Целог система. Све системске активности се крећу напред само помоћу нити.
Дефиниција нити помаже у дељењу функционалне позадине и детаља извршења нити између програмера и програмера са тестерима.
Абоут Тхреадс
Нит је ток контроле у процесу. То је најмањи задатак система који се може покренути.
наредбе скриптирања скрипти за уник са примерима
Пример
Веб прегледач можда има једну или више нити које раде. једна нит за приказ слика и текста и друга нит за преузимање података. У одређеним случајевима мора бити потребна једна пријава која ће служити свим процесима.
Стварање више нити је најбоље решење за исто, иначе ће клијент послати више захтева на сервер и биће потребно време да један по један потврди захтеве. Више нити ће вам помоћи да истовремено одговорите на захтеве.
Када и како се врши испитивање навоја
То би требало урадити у почетној фази тестирања системске интеграције.
Испитивање интеграције врши се планираним интегрисањем различитих модула. План интеграције следи за исти који одређује редослед којим ће се модули интегрисати да би се створио комплетан систем.
У наставку су наведене технике за извршавање интеграционог тестирања:
- Приступ Великог праска
- Одозго на доле приступ
- Приступ одоздо према горе
- Мешовити приступ
Погледајмо сваку технику детаљно.
# 1) Приступ Великог праска
Приступ Великог праска користи се само за мале системе јер су сви модули интегрисани и тестирани у само једном потезу.
Било који проблем пронађен током овог приступа тешко је локализовати, јер може бити из било ког интегрисаног модула. Стога су пронађени проблеми са отклањањем грешака веома скупи за решавање у овом приступу.
# 2) Приступ од врха надоле
Приступ од врха према доле врши се помоћу клинова, тј. Када је модул највишег нивоа тестиран, непосредне потпрограме се интегришу и тестирају.
Стубс су програми који симулирају ефекат рутина нижег нивоа и позивају их рутине које се тестирају. Тестирање нити користи приступ од врха надоле.
# 3) Приступ одоздо према горе
У приступу одоздо према горе, сви подсистеми се тестирају појединачно, а затим се тестира комплетан систем. Разлог за тестирање свих подсистема одвојено је тестирање интерфејса међу свим модулима који су део подсистема.
Ова техника захтева тест драјвере, тј. Програм који позива остале модуле и пружа исти излаз као стварни производ.
# 4) Мешовито интеграционо тестирање
Ова техника је комбинација приступа одозго према доле и одоздо према горе. Отуда се оно назива Мешано интеграционо испитивање.
Кључне тачке за извођење тестирања заснованих на нитима
- Током извођења тестирања нити, интегришу се и тестирају нити или мала функционалност. Обављено тестирање је поступно тестирање на нивоу подсистема, а затим као комплетног система.
- У самој почетној фази, тестери интеграције добијају добру идеју и знање шта даље да тестирају.
- Испитивачи интеграције морају применити и извршити позитивне и негативне сценарије само унутар граница нити. Морају да се одлуче за приступ тестирања нити који ће се следити како би се покрили и изузетни случајеви и гранични случајеви.
- Дефиниција нити коју програмер пружа испитивачу помаже да нитери интегратора одговарајуће тестирају. На све додатне информације које захтева испитивач можете добити одговор у процесу прегледа нити.
- Процеси нити раде за интеграционе процесе, а не за крајњи развојни процес.
- Да бисте тестирали функционалност више нити, дозволите да истовремено раде више инстанци апликације или програма који се тестирају.
- Покрените програм са више нити на другом хардверу.
- Тестирање нити је облик тестирања сесија за које су сесије формиране од нити. Није неопходно да је формирана нит сесија.
Врсте испитивања заснованих на навоју
Изводе се две врсте тестирања заснованих на нитима:
- Тестирање појединачне нити
- Тестирање са више нити
# 1) Испитивање са једним навојем
Тестирање појединачне нити тестира једну по једну трансакцију. Време чекања да клијент добије одговор на свој захтев може бити мало дуже јер ће моћи истовремено да сервисира или одговара једном клијенту.
Ово тестирање помаже испитивачу да разуме и тестира логику програма или писаног кода.
# 2) Тестирање са више нити
Тестирање са више нити истовремено тестира неколико активних трансакција. У овом случају се креирају засебне нити за захтеве клијента. Кад год се поднесе захтев, створи се нит за услугу или одговори на захтев.
Трансакција која је добро функционисала у тестирању једне нити може пропасти током тестирања у више нити, а такође може ометати друге нити и функционалности и зауставити их да раде како се очекивало.
Да ли је приступ са више нити бољи од приступа са једном нити?
Вишенитне апликације су боље од једнонитних, јер побољшавају перформансе апликације. Вишеструко навоја омогућава бројним ресурсима да истовремено раде на издању / захтеву.
Изазови током тестирања заснованог на нити
Током извођења тестирања заснованог на нитима, испитивач се суочава са неколико изазова који утичу на перформансе, време и трошкове тестирања.
- Писање јединствених тест случајева за вишенаменски код је изазов.
- Када се врши тестирање више нити на различитим хардверима, то се разликује у зависности од величине, капацитета складиштења, меморије, проблема итд.
- Сценарији тестирања за једну нит и више нити су различити.
- У вишеструком тестирању нити треба програмирати поновљиве тестове за јединичне тестове.
Предности / недостаци вишеструких навоја
Вишенаменски навој има бројне предности као и недостатке. Као испитивач, знајући исто, помаже им да тестирају и прекину поступак тестирања у складу с тим.
Предности
питања и одговори за интервју за администратора информатике
- Вишеструки навој повећава одзивност корисника. Апликација може пустити да програм ради чак и ако се део апликације блокира.
- Дељење ресурса је још једна предност јер нити деле ресурсе процеса са којим су повезани или којима припадају.
- Стварање нити је економично јер дели ресурсе којима припадају.
Мане
- Комплексни поступак испитивања
- Резултати су врло непредвидљиви.
- Писање програма постаје теже.
- Појава ћорсокака.
Шта је ћорсокак
Када се заврши више навоја, нит прелази у стање чекања ако ресурс није доступан.
Стање чекања се можда неће промијенити за нит, јер тражени ресурс држе друге нити које чекају. Када се догоди таква ситуација која се назива мртва тачка.
Разлика између навоја и процеса
Хајде да разумемо разлике између нити и процеса:
С.Но | Навој | Процес |
---|---|---|
7 | Нити се не могу даље делити. | Процеси могу имати више нити. |
један | Навој је лаган процес. | Процес је тежак процес. |
два | Ако се нит сервера блокира, може се покренути друга нит истог задатка и довршити поступак. | Ако се процес сервера блокира, други процеси се не могу покренути све док се блокирани процес сервера не блокира. |
3 | Навоји се не изолују, они деле меморију. | Процес је изолован. |
4 | Стварање нити, пребацивање контекста, прекид траје мање времена у нити. | Стварање нити, пребацивање контекста, прекид одузимају више времена у процесима. |
5 | Нит се односи на специфични задатак процеса. | Процес се односи на извршавање било ког програма. |
6 | Коришћених ресурса је врло мало у нити. | Ресурса који се користе у процесима је више. |
Разлика између тестирања заснованог на нитима и корисника
С.бр. | Тестирање засновано на нитима | Тестирање засновано на употреби |
---|---|---|
један | Нити се интегришу и тестирају појединачно. | Тестирање започиње са часовима који нису међусобно зависни, тј. Независни. |
два | Испитивање регресије врши се како би се осигурало да ништа не утиче. | Једном када се изврши тестирање независних класа, тестирају се зависне класе. Зависни су они који зависе од независних класа. Ова серија траје све док се не изгради комплетан систем. |
3 | Тестирање засновано на нитима интегрише класе које су кључне за потврђивање уноса или догађаја система. | Тестирање на основу употребе интегрише класе које су кључне за одговор или признавање случаја употребе. |
Често постављана питања
П # 1) Шта је тестирање навоја?
Одговор: Тестирање засновано на нитима је методологија која се изводи током ране фазе интеграционог тестирања. Нити или програми интегришу се и поступно тестирају у подсистему, а затим као целини.
П # 2) Које тестирање се прво врши?
Одговор : Обично се прво изврши тестирање одоздо, а затим се врши тестирање одоздо према доле.
П # 3) Шта је тестирање одозго надоле?
Одговор: Одозго је техника интеграционог тестирања где се тестирање врши помоћу клинова, тј. Када компоненте нижег нивоа још нису спремне за тестирање интеграције, стубови (привремени модули) се креирају да би добили исти излаз као у случају стварних модула.
Закључак
Тестирање интеграције засновано на нити игра важну улогу у тестирању главних функционалности или одређеног задатка или нити. Ова методологија је најбоља за архитектуру засновану на клијентском серверу.
Током тестирања навоја, испитивач се мора суочити са многим изазовима, али има и бројне предности што га чини лакшим и поузданим за извођење. Омогућио је тестерима да тестирају све трансакције и провере да ли ради према очекивањима и према захтевима.
Немогуће је тестирати све трансакције / догађаје да бисте довршили тестирање нити, због чега је подељен на једноструке и вишенитне типове.
Препоручено читање
- Одабир тестирања софтвера за вашу каријеру
- Нека занимљива питања за испитивање софтверског тестирања
- Да ли је тестирање софтвера емоционални задатак?
- Јава Синцхронизед: Шта је синхронизација нити у Јави
- Јава теме са методама и животним циклусом
- Мултитхреадинг у Ц ++ са примерима
- Мултитхреадинг у Јави - Водич са примерима
- Тхреад.Слееп () - Метода спавања нити () у Јави са примерима