database crud testing through ui with sample test cases
Шта су ЦРУД операције и како извршити ЦРУД тестирање путем корисничког интерфејса:
Људска бића су почела да складиште информације и пре неколико деценија! А у то доба, базе података са равним датотекама су се користиле у рачунарској историји где су сви подаци били ускладиштени у датотеци.
Касније, почетком 1970-их, ИБМ је развио први модел релационе базе података, који је увео „индексе“ за лако преузимање података.
Шта ћете научити:
- Преглед операција ЦРУД-а
- Зашто је тестирање базе података важно?
- 4 основне функције базе података
- Дефиниција ЦРУД-а
- ЦРУД тестирање
- Како тестирати ЦРУД функционалност софтвера?
- Закључак
- Препоручено читање
Преглед операција ЦРУД-а
Тренутно је најчешћи систем за складиштење података База података где софтвер креира, чита, ажурира и брише податке путем упита. Рачунарски софтвер може брже и ефикасније одговорити на захтеве корисника помоћу правилно дизајниране базе података и упита.
То имплицира да је тестирање и верификација базе података веома важан фактор.
Реакције графичког корисничког интерфејса (ГУИ) попут порука о грешкама, порука о успеху итд. Готово сви менаџери тестова сматрају веома важним. То је зато што је ГУИ видљиви део апликације који корисници могу да виде. Међутим, тестирање базе података је подједнако важно.
Из свог искуства, видео сам многе ручне тестере који ово сматрају заморним послом, али то заправо није.
У овом упутству ћемо на једноставан начин разговарати о тестирању функционалности базе података црних кутија путем упита корисничког интерфејса и МиСКЛ-а са једноставним примерима.
Зашто је тестирање базе података важно?
Доње тачке ће на врло кратак начин објаснити важност тестирања базе података.
- Подаци су важно средство и треба их сачувати и заштитити.
- Базе података постају сложене са новим технологијама и платформама. Стога се шансе за грешке повећавају.
- Могу бити критичне функционалности повезане са вредностима ускладиштеним у бази података.
- Проблеми у бази података или упити могу довести до великих проблема са функционалношћу.
- Да би се осигурало да су подаци правилно мапирани или не.
Тестирање базе података може се извршити као јединични тест, тест црне кутије , тест беле кутије и сиви оквир текста.
4 основне функције базе података
Софтвер заснован на бази података обично има четири главне функције, што ће бити јасно из примера у наставку.
Пример 1:
Фацебоок, најпознатија веб локација за друштвене мреже.
- Можете да отворите нови налог
- Погледајте детаље налога
- Измените детаље налога
- Избришите рачун
- Можете да креирате коментаре
- Погледајте их
- Уредите их
- Избриши их
Пример 2:
ЛинкедИн, позната веб локација за тражење посла:
како вратити низ из методе у јави
- Можете креирати свој профил
- Погледај га
- Уредите га
- Избриши то
- Можете додати постове
- Погледајте их
- Уредите их
- Избриши их
Да ли сте овде приметили скуп уобичајених активности?
Да! Управу си.
Већина софтвера подржава ове функције стварања, прегледавања, уређивања и брисања одакле појам Сурово долази.
Дефиниција ЦРУД-а
У рачунарском програмирању, Сурово кратица је за Креирање, читање, ажурирање и брисање. Ово су четири главне и основне функције трајног складиштења. То се често ради у софтверским апликацијама путем образаца.
- Креирај - УМЕТНИТЕ унос у базу података.
- читати или Преузми - ОДАБЕРИТЕ унос из базе података и погледајте га.
- ажурирање - АЖУРИРАТИ унос у потпуности или делимично.
- Избриши или Уништи - ПУСТИ / БРИСИ унос.
На основу софтверских захтева, ЦРУД циклуси могу да се разликују.
На пример: понекад продавац креира налог и корисник га прегледава. Корисник можда неће имати привилегију да је уређује или брише. С друге стране, захтев би могао бити: корисник креира свој налог, а продавац га верификује и одобрава. Ови циклуси су веома важни са становишта тестера.
За горе описане функционалности, у бази података се извршава одговарајући упит.
Доље су дати примери МИСКЛ упита за сваку акцију
поступак | Узорак упита |
---|---|
КРЕИРАЈ | ИНСЕРТ ИНТО име_табеле (колона1, колона2, колона3, ...) ВРЕДНОСТИ (вредност1, вредност2, вредност3, ...); |
ЧИТАТИ | СЕЛЕЦТ * из табеле; |
АЖУРИРАЊЕ | УПДАТЕ име_табеле СЕТ колона1 = вредност11, колона2 = вредност22 ГДЕ стање; |
ИЗБРИШИ | ИЗБРИШИ ИЗ ТАБЕЛЕ име_табеле где је цолумн1 = 'валуе11'; |
Три варијације ЦРУД-а су ХЛЕБ (Прегледајте, прочитајте, измените, додајте, избришите), ДАВЕ (Делете, Адд, Виев, Едит) и СРЕБЕ (Стварање, копирање, додавање, обрада).
ЦРУД тестирање
ЦРУД тестирање је црно тестирање функционалности базе података.
Као што знамо, тестирање црне кутије систем софтвера за тестирање сматра „црном кутијом и тестови се спроводе путем корисничког интерфејса.
Схватили смо да свака фронт-енд акција попут регистрације рачуна, уређивања личних података, прегледа детаља, брисања налога итд. Има одговарајућу ЦРУД акцију у бази података. ЦРУД тестирање се врши да би се проверило да ли се ове радње правилно одражавају у бази података или не.
ЦРУД тестирање се разликује од уобичајеног фронт-енд тестирања црне кутије где проверавамо поруке о успеху попут „Налог је успешно креиран“ након регистрације корисника итд. Овде морамо да проверимо да ли детаљи о налогу заиста улазе у базу података или не.
Постоје два начина на која ручни тестер може то да уради:
# 1) Сами извршавамо упите- Тестери који добро разумеју СКЛ језик и захтеве софтвера могу сами да постављају упите за тестирање базе података. На овај начин се сви могући случајеви могу проверити добрим упитима.
# 2) Извршите упите уз помоћ програмера- Испитивачи могу започети са верификацијом корисничког интерфејса апликације и добити упите од програмера.
Следећа питања треба узети у обзир приликом писања тест случајева за ЦРУД операције:
- Каква је врста ЦРУД радње валидна, а шта неваљана за тест апликацију?
- Какав однос / треба да имају радње ЦРУД међусобно?
- Када се извршавају ЦРУД акције?
- Ко приступа ЦРУД функционалности? Да ли систем поставља различите привилегије за различите кориснике?
Општи поступак испитивања за ДБ тестирање се не разликује много од уобичајеног ручног ГУИ тестирања црне кутије.
Као,
Корак 1: Припремите тест окружење.
Корак 2: Извршите кораке теста.
Корак 3: Проверите резултат теста.
Корак 4: Потврдите стварне резултате према очекиваним резултатима.
Корак 5: Пријави грешке и друга сазнања.
Да би се проверио резултат теста, користе се ГУИ одговор и резултат упита. За ЦРУД тестирање црне кутије, потребан нам је само упит, а то је СЕЛЕЦТ.
Као што сви знамо, базе података чувају податке. Када треба да преузмемо податке, користи се СЕЛЕЦТ упит. У тестирању црне кутије, само морамо да користимо овај упит да бисмо видели да ли радње путем корисничког интерфејса показују одговарајуће одразе у бази података или не.
„СЕЛЕЦТ“ се може користити на следеће начине:
# 1) Ако тестер жели да провери и верификује све податке, може да користи симбол покретања (*) у СЕЛЕЦТ упиту. Ово је најједноставнији облик СЕЛЕЦТ упита.
SELECT * FROM table_name;
Горња наредба бира сва поља из свих редова из табеле име_табеле.
# 2) У неким случајевима, први резултат упита може бити неуредан. Ако је испитивач заинтересован само за нека поља, онда се може користити следећа скрипта.
како писати уат тестове
SELECT ‘field_1’, ‘field_2’, ‘field_3’ FROM table_name;
Горња изјава бира поља, „поље_1“, „поље_2“ и „поље_3“ из свих редова из табеле име_табеле.
# 3) Ако тестер жели да види резултате на основу било ког критеријума, онда се може користити клаузула ВХЕРЕ.
SELECT ‘field_1’ FROM table_name WHERE field_2 = ‘success’;
Горња изјава бира поље „поље_1“ из свих редова из табеле име_табеле, где је „поље2“ успех.
Како тестирати ЦРУД функционалност софтвера?
Узмите у обзир следеће Пример корисничког интерфејса, који омогућава одређене корисничке привилегије за коришћење МиСКЛ базе података за чување података.
ПРИМЕР | ДЕТАЉИ О БАЗИ ПОДАТАКА |
---|---|
1. Може да СТВОРИ производ са свим детаљима, укључујући назив производа, опис производа и цену производа помоћу обрасца „Додавање производа“ | База података: Схоппинг_ДБ Табела: производ Поља: назив_производа, детаљи_производа, цена_производа Ствара ред у табели „производ“ са детаљима додатим у одговарајућа поља |
2. Можете да ПРОЧИТАТЕ детаље назив производа, опис производа, цена производа на „страници са детаљима производа“. | База података: Схоппинг_ДБ Табела: производ Поља: назив_производа, детаљи_производа, цена_производа Изаберите све податке или изаберите одређени податак из табеле „производи“ |
3. Можете АЖУРИРАТИ назив производа, опис производа и цену производа помоћу обрасца „Измена производа“. | База података: Схоппинг_ДБ Табела: производ Поља: назив_производа, детаљи_производа, цена_производа Ажурирајте све детаље или одређене детаље у одређеном реду у табели „производи“ |
4. Може да ИЗбрише производ | База података: Схоппинг_ДБ Табела: производ Поља: назив_производа, детаљи_производа, цена_производа Избришите све детаље из табеле „производи“ испуштањем табеле или из ње избришите одређени ред. |
Проверимо како се ЦРУД функционалност може проверити за овај случај.
Белешка :Увек спроводите ЦРУД тестирање на депонијама базе података, јер ово тестирање може проузроковати промене у бази података. Наредба у наставку се може користити за снимање депоније целокупне базе података.
$ мисклдумп -у (унаме) -п (пасс) Схоппинг_ДБ> Схоппинг_ДБ_бацкуп.скл
# 1) СТВОРИ функционалност
Додавањем нове ставке производа могу се следити следећи кораци:
- Учитајте образац „Додавање производа“.
- Унесите назив производа, реците „назив теста“.
- Унесите опис производа, реците „ово је детаљ пробног производа“.
- Унесите цену производа, реците „100“.
- Пошаљите образац.
Провера резултата:
- Тестер ручно проверава да ли је производ са свим детаљима приказан на предњем крају софтверске апликације.
- Тестер извршава упит на МИСКЛ серверу базе података да провери да ли је одређени ред присутан
Упит:
најбољи софтвер за клонирање диска виндовс 10
SELECT * FROM products WHERE product_name = ‘test name’;
Резултат упита из МиСКЛ-а:
Ред са одговарајућим детаљима треба приказати као,
мискл> СЕЛЕЦТ * ФРОМ продуцтс ВХЕРЕ продуцт_наме = 'тест наме'; + ------------- + ----------------------------- + ----- ------------ + | назив_производа | детаљи_производа | продуцт_прице | + ------------- + ----------------------------- + ----- ------------ + |. | назив теста | ово су детаљи о тестном производу | 100 | |
Остали случајеви које треба размотрити:
- За неке системе различити корисници ће имати различите привилегије. У том случају, тестери ће можда морати да провере одговор за сваку корисничку улогу.
- Ако дуплирани производи нису дозвољени, тестер то може да провери додавањем производа са истим детаљима још једном. Овај пут база података не би требала имати други унос који одговара истом производу.
- Ако софтвер омогућава истовремено стварање више производа, тестер може да провери да ли су сви детаљи свих производа у пријави правилно унети у базу података или не.
- Испробајте различите комбинације уноса.
- Проверите шта се дешава током застоја сервера.
# 2) ПРОЧИТАЈТЕ функционалност
Да бисте проверили да ли је креирана ставка читљива, могу се следити следећи кораци:
- Направите неке производе са различитим комбинацијама уноса кроз ЦРЕАТЕ функционалност, рецимо име теста 1, име теста 2, име теста 3.
- Покушајте да потражите производе.
Провера резултата:
- Тестер ручно проверава да ли су детаљи о производу тачни.
- Тестер упоређује детаље са онима сачуваним у бази података.
Упит:
СЕЛЕЦТ * ФРОМ продуцтс ВХЕРЕ продуцт_наме = „тест наме 1“ ИЛИ продуцт_наме = „тест наме 12“ ИЛИ продуцт_наме = „тест наме 3“; |
Резултат упита из МиСКЛ-а:
Детаљи одабраних производа морају бити приказани. Тестер то може да верификује и упореди са резултатима у корисничком интерфејсу.
мискл> СЕЛЕЦТ * ФРОМ продуцтс ВХЕРЕ продуцт_наме = 'тест наме 1' ИЛИ продуцт_наме = 'тест наме 12' ОР продуцт_наме = 'тест наме 3'; + ------------- + ----------------------------- + ----- ------------ + | назив_производа | детаљи_производа | продуцт_прице | + ------------- + ----------------------------- + ----- ------------ + |. | назив теста 1 | ово је детаљ пробног производа1 | 100 | |. | назив теста 2 | ово је детаљ пробног производа2 | 100 | |. | назив теста 3 | ово је детаљ пробног производа3 | 100 | |
Остали случајеви које треба размотрити:
- Прегледајте ставке једну по једну.
- Прегледајте више ставки истовремено.
- Покушај прегледа предмета који не постоји.
- Покушајте да претражите под различитим условима.
- Покушајте да проверите функционалност различитих улога корисника.
- Проверите шта се дешава током застоја сервера.
# 3) АЖУРИРАЊЕ функционалности
Да бисте уредили или ажурирали постојеће уносе, могу се следити следећи кораци:
- Направите производ помоћу функције ЦРЕАТЕ.
- Уредите различита поља производа, реците „назив теста“ у „В Нецк Топ“.
- прихвати
Провера резултата:
- Тестер ручно проверава да ли су се детаљи производа променили
- Тестер извршава МИСКЛ упит и види детаље
Упит:
SELECT * FROM products WHERE product_name = ‘V Neck Top’;
Резултат упита из МиСКЛ-а:
Треба приказати ред са одговарајућим детаљима.
мискл> СЕЛЕЦТ * ФРОМ продуцтс ВХЕРЕ продуцт_наме = ‘В Нецк Топ’; + ------------- + ----------------------------- + ----- ------------ + | назив_производа | детаљи_производа | продуцт_прице | + ------------- + ----------------------------- + ----- ------------ + |. | В Нецк Топ | ово су детаљи о тестном производу | 100 | + ------------- + ----------------------------- + ----- ------------ + |
Ако претражујете са старим називом производа, база података не би требало да враћа детаље.
Остали случајеви које треба размотрити:
- Ажурирајте више ставки одједном.
- Ажурирајте на кључну вредност која већ постоји.
- Ажурирајте све детаље или делимичне детаље.
- Ажурирајте поља различитим комбинацијама уноса.
- У ажурираној функцији потражите различите привилегије.
- Проверите шта се дешава током застоја сервера.
# 4) ИЗБРИШИ функционалност
Да бисте проверили функционалност брисања, могу се следити следећи кораци:
- Направите производ са функцијом ЦРЕАТЕ.
- Избришите производ.
Провера резултата:
- Тестер ручно проверава да ли је производ уклоњен из корисничког интерфејса
- Тестер ручно проверава МиСКЛ базу података и потврђује да је одговарајући ред избрисан.
Упит :
SELECT * FROM products WHERE product_name = ‘test name’;
Резултат упита из МиСКЛ-а:
Ово би требало да прикаже резултат упита како је приказано доле.
mysql>SELECT * FROM products WHERE product_name = ‘test name’; Empty set (0.00 sec)
Остали случајеви које треба размотрити:
- Избришите више ставки у једном захтеву.
- Избришите ажурирану ставку.
- Узмите две картице и покушајте заједно са обе картице дати захтев за брисање производа.
Закључак
Тестирање базе података је веома важно јер потврђује сигурност и поузданост софтверске апликације. Већина софтверских апликација бави се стварањем, читањем и ажурирањем и брисањем података у / из базе података. У складу са софтверским захтевима, ЦРУД циклуси могу да варирају. Тестер треба да планира тест случајеве на основу ЦРУД циклуса.
ЦРУД функционалности могу се ручно тестирати и верификовати из корисничког интерфејса и базе података. УПИТ СЕЛЕЦТ може се користити за верификацију промена у бази података које одговарају свакој ЦРУД операцији.
Да ли сте стручњак за ЦРУД тестирање? Да ли имате неке занимљиве чињенице које бисте поделили са нашим читаоцима који су нови у ЦРУД-у? Слободно изразите своје мисли / сугестије у одељку за коментаре испод !!
Препоручено читање
- Тестирање базе података помоћу ЈМетер-а
- Узорци испитних радова са одговорима на ИСТКБ тестирање
- Најбољи алати за тестирање софтвера 2021. (Алати за аутоматизацију КА теста)
- Кључне разлике између тестирања црне кутије и тестирања беле кутије
- Преузимање е-књиге за тестирање буквара
- Једноставан приступ за КСМЛ тестирање база података
- 40+ најбољих алата за тестирање база података - популарна решења за тестирање података
- Водич за ГУИ тестирање: Комплетан водич за тестирање корисничког интерфејса (УИ)