volume testing tutorial
Преглед испитивања запремине:
Да ли доња слика на неки начин корелира са нашим апликацијама? Да, управо се то дешава када преоптеретимо сервере, базе података, веб услуге итд.
Сви ми морамо бити свесни функционалног и нефункционалног тестирања, али да ли имате на уму чињеницу да је нефункционално тестирање једнако важно као и функционално тестирање? Понекад у краткотрајним издањима обично занемаримо ово нефункционално тестирање, што у идеалном случају не бисмо смели.
Не би нам требало бити важно да ли је власник производа дао овај захтев или не. Ово испитивање бисмо требали сматрати делом нашег комплетног процеса тестирања чак и за мала издања.
Овај водич о испитивању запремине даје вам потпун преглед његовог значења, потребе, важности, контролне листе и неких његових алата како бисте га могли боље разумети.
Шта ћете научити:
- Шта је испитивање запремине?
- Када је ово тестирање императив?
- Зашто бих тежио испитивању запремине?
- Која је моја контролна листа за ово тестирање?
- Испитивање запремине против испитивања оптерећења
- Како извршити ово тестирање?
- Алати за испитивање запремине
- Закључак
- Препоручено читање
Шта је испитивање запремине?
Волуменско испитивање је врста нефункционалног тестирања. Ово тестирање се врши ради провере обима података којима управља база података. Тестирање обима које се такође назива и тестирање поплаве је нефункционално тестирање које се врши ради провере перформанси софтвера или апликације у односу на огромне податке базе података.
База података се протеже до граничне тачке додавањем велике количине података у њу, а затим се систем тестира на одговор.
Ово је био теоријски део, дозволите ми да вам објасним са неколико практичних примера који ће вам помоћи да разумете 'када' део испитивања запремине.
Када је ово тестирање императив?
У идеалном случају сваки софтвер или апликацију треба тестирати на количину података, али у неким случајевима када подаци неће бити тешки, обично избегавамо ово тестирање. Али у неким случајевима када се подаци обрађују у МБ или ГБ свакодневно, тада би дефинитивно требало извршити тест обима.
Следи неколико примера из мог сопственог 8-годишњег искуства који објашњавају део „када“:
Пример 1:
Један од мојих подухвата био је велики систем који се састојао и од веб апликација и од мобилне апликације. Али сама веб апликација је имала 3 модула којима су управљала 3 различита тима.
Понекад је и код нас база података постајала спора када смо сви ‘заједно’ додавали податке за тестирање. Било је досадно, а посао је некада био отежан због огромног обима података и ради олакшавања посла, морали смо прилично често да чистимо ДБ.
Подаци којима је систем „уживо“ руковао износили су око ГБ, па је у поређењу са мобилном апликацијом веб апликација врло често тестирана на количину података. Тимови КА веб апликације имали су своје скрипте за аутоматизацију које би се покретале ноћу и изводиле ово тестирање.
Пример 2:
Још један пример мог подухвата био је екосистем који није имао само веб апликацију већ и СхареПоинт апликацију, па чак и инсталациони програм. Сви ови системи су комуницирали у исту базу података за пренос података. Подаци с којима је радио тај систем су такође били огромни и ако из било којег разлога ДБ постане спор, чак и инсталатер би престао да ради.
Због тога је редовно вршен тест запремине, а перформансе ДБ-а су детаљно праћене за било какве проблеме.
Слично томе, можемо узетиПримеринеколико апликација које свакодневно користимо за куповину, резервацију карата, финансијске трансакције итд. које се баве великим трансакцијама података и због тога им је потребан тест обима.
С друге стране, идеално испитивање запремине можда није увек могуће, јер има своја ограничења и изазове.
Неколико његових ограничења и изазова укључују:
- Тешко је створити тачну фрагментацију меморије.
- Генерирање динамичког кључа је незгодно.
- Стварање идеалног стварног окружења, тј. Реплика активног сервера може бити незгодно.
- Алати за аутоматизацију, мрежа итд. Такође утичу на резултате испитивања.
Сад смо разумели када морамо обавити ову врсту тестирања. Да схватимо и ми 'зашто' ово тестирање треба да радимо као циљ, циљ или циљ извођења овог тестирања.
Зашто бих тежио испитивању запремине?
Тестирање запремине може вам помоћи да схватите колико је ваш систем прилагођен стварном свету, а такође помаже и уштеди вашег новца који ће касније бити потрошен на одржавање.
Следи неколико могућих разлога за извођење овог тестирања:
- Најосновнија потреба је да се анализирају перформансе вашег система у односу на повећане податке. Стварање огромног обима података помоћи ће вам да разумете перформансе вашег система у смислу времена одзива, губитка података итд.
- Утврдите проблеме који ће се појавити са огромним подацима и тачком прага.
- Изнад тачке одрживости или прага, понашање система, тј. Ако пад система престане да реагује или временско ограничење истекне.
- Примена решења за преоптерећење ДБ-а, па чак и њихова верификација.
- Проналажење крајње тачке вашег ДБ-а (која се не може поправити) након које систем неће успети и због тога треба предузети мере предострожности.
- У случају више од једног ДБ сервера, откривање проблема са ДБ комуникацијом, тј. Који су најизложенији неуспеху, итд.
Сада знамо значај и разлог за извођење овог тестирања.
ИЛИ Неко искуство које бих овде желео да поделим је да у погледу мобилних апликација можда неће бити потребно тестирање обима, јер само једна особа истовремено користи апликацију, а мобилне апликације су дизајниране да буду једноставне .
Дакле, ако немате веома сложену апликацију са пуно података, тестирање количине може да се прескочи.
Једном када сазнате шта мора да се верификује за ваш систем или апликацију, следећа ствар коју треба да урадите је да направите листу за проверу за своју апликацију коју треба 'Шта' треба тестирати.
Која је моја контролна листа за ово тестирање?
Пре него што уђемо у неке примере за креирање контролне листе за вашу апликацију или систем, прво схватимо неколико упутстава које треба имати на уму приликом стварања контролне листе за тестирање обима или приступ пре почетка тестирања.
Бодови које треба запамтити:
- Обавештавајте програмере о вашем плану тестирања, јер они знају пуно о систему и могу вам пружити улазне податке, па чак и уска грла.
- Разумејте физички аспект као у конфигурацији сервера, РАМ-у, процесору итд. Пре него што израдите стратегију за тестирање.
- Схватите сложеност ДБ-а, процедуре, ДБ скрипте итд. У могућој мери тако да можете у целини да прикажете сложеност вашег система.
- Припремите информатику, тј. Графиконе, табелу података итд., Ако је то могуће за нормални обим података и колико је систем добар, ово ће вам помоћи да будете сигурни да ће перформансе бити добре за нормално оптерећење података пре него што нагласите ДБ. Ово ће вам такође помоћи да обезбедите да пре него што пређете на стресни део нема проблема који ће захтевати исправку за ваш тест запремине.
Следе неки примери које можете додати или користити на својој контролној листи:
- Проверите исправност метода складиштења података.
- Проверите да ли систем има потребне меморијске ресурсе или не.
- Проверите да ли постоји ризик од обима података који је већи од наведеног ограничења.
- Проверите и посматрајте одговор система на количину података.
- Проверите да ли се подаци губе током тестирања количине.
- Проверите да ли се подаци преписују, то се чини уз претходне информације.
- Утврдите подручја која се протежу изван нормалног опсега попут многих атрибута (претраживих), огромних бр. претраживачких табела, пуно мапирања локација итд.
- Као што је раније поменуто, прво створите основну линију постизањем резултата за нормалну јачину звука, а затим наставите са стресом.
Пре него што пређемо на остале примере, тестове и алате, прво да схватимо како се ово тестирање разликује од тестирања оптерећења.
Испитивање запремине против испитивања оптерећења
Доље су дате неке од главних разлика између испитивања запремине и оптерећења:
С.бр. | Тестирање запремине | Испитивање оптерећења |
---|---|---|
1 | Тестирање волумена се врши да би се верификовале перформансе базе података у односу на велику количину података у ДБ-у. | Тестирање оптерећења врши се променом корисничког оптерећења за ресурсе и провером перформанси ресурса. |
два | Примарни фокус овог тестирања је на „подацима“. | Примарни фокус овог тестирања је на „корисницима“. |
3 | База података је наглашена на максималну границу. | Сервер је наглашен на максимално ограничење. |
4 | Једноставан пример може бити стварање датотеке велике величине. | Једноставан пример може бити стварање великог броја датотека. |
Како извршити ово тестирање?
Ово тестирање се може обавити ручно или помоћу било ког алата. Генерално, коришћење алата ће уштедети наше време и напоре, али у случају теста запремине, према мом искуству коришћење алата може вам дати тачније резултате у поређењу са ручним тестирањем.
Пре почетка извршавања тест случаја, уверите се да:
- Тим се сложио са планом тестирања за ово тестирање.
- Други тимови вашег пројекта добро су информисани о променама базе података и њеном утицају на њихов рад.
- Испитне површине су постављене за одређене конфигурације.
- Припремљена је основа за тестирање.
- Одређени обим података за тестирање (скрипте података или процедуре итд.) Су спремни. О алатима за стварање података можете прочитати на нашој страници за генерисање података.
Погледајмо неколико примера тест примера које можете користити у извршењу:
Потврдите ово за све изабране количине података за испитивање запремине:
- Проверите да ли се додавање података може успешно обавити и да ли се то одражава у апликацији или на веб локацији.
- Проверите да ли се брисање података може успешно обавити и да ли се то одражава у апликацији или на веб локацији.
- Проверите да ли се ажурирање података може успешно обавити и да ли се то одражава у апликацији или на веб локацији.
- Уверите се да нема губитка података и да су све информације приказане како се очекује у апликацији или на веб локацији.
- Уверите се да апликација или веб странице не истекну због великог обима података.
- Уверите се да се грешке рушења не приказују због великог обима података.
- Проверите да ли се подаци преписују и приказују се одговарајућа упозорења.
- Уверите се да се други модули веб локације или апликације не руше или не истекну са великим обимом података.
- Проверите да ли је време одзива ДБ-а унутар прихватљивог опсега.
Алати за испитивање запремине
Као што је раније речено, аутоматско тестирање штеди време и чак даје тачне резултате у поређењу са ручним испитивањем. Још једна предност коришћења алата за тестирање обима је та што тестове можемо изводити ноћу и на тај начин обим података ДБ неће утицати на рад осталих тимова или чланова тима.
Можемо да закажемо тестове за јутро и резултати ће бити спремни.
Следи листа неколико алата за тестирање волумена отвореног кода:
# 1) ДбФит:
Ово је алат отвореног кода који подржава развој вођен тестом.
ДбФит оквир за тестирање је написан на врху Фитнесса, тестови су написани помоћу табела и могу се извршити помоћу било ког Јава ИДЕ или ЦИ алата.
# 2) ХаммерДб:
ХаммерДб је такође алат отвореног кода који може бити аутоматизован, са више нити и чак омогућава извршавање скрипти. Може да ради са СКЛ-ом, Орацле-ом, МИСКЛ-ом итд.
# 3) ЈдбцСлим:
ЈдбцСлим команде се лако могу интегрисати у Слим Фитнесс и подржава све базе података које имају ЈДБЦ управљачки програм. Фокус је на одвојеном чувању конфигурације, података о тестирању и СКЛ упита.
# 4) НоСКЛМап:
Ово је Питхон алат отвореног кода који је дизајниран за аутоматско убризгавање напада и ометање ДБ конфигурација ради анализе претњи. Ради само за МонгоДБ.
# 5) Руби-ПЛСКЛ-спец:
ПЛСКЛ се може јединствено тестирати користећи Руби, јер је Орацле доступан као алат отвореног кода. Ово у основи користи две библиотеке: Руби-ПЛСКЛ и Рспец.
Закључак
Количинско тестирање је нефункционално тестирање које се ради за анализу перформанси базе података. То се може урадити ручно, као и уз помоћ неких алата.
Ако сте КА који тек започиње ово тестирање, предложио бих да се играте алатком или прво извршите неке примере тестова. Ово ће вам помоћи да разумете концепт испитивања запремине пре него што пређете на тестирање.
алгоритам најкраћег пута у изворном коду Јава
Ово тестирање је прилично незгодно и има своје изазове, па је врло важно добро познавање концепта, стварања тестног простора и ДБ језика пре него што га изведете.
Надам се да би вам овај водич повећао обим знања о овој теми :)
Препоручено читање
- Најбољи алати за тестирање софтвера 2021. (Алати за аутоматизацију КА теста)
- Водич за тестирање у паровима или за све парове са алатима и примерима
- Функционално тестирање вс нефункционално тестирање
- Водич за испитивање конфигурације са примерима
- Преузимање е-књиге за тестирање буквара
- Водич за испитивање разарања и испитивања без разарања
- 11 најбољих алата за аутоматизацију за тестирање Андроид апликација (Андроид Апп Тестинг Тоолс)
- Најбољи ИВР алати за тестирање: Водич за тест ЦИАРА и ХАММЕР