database crud testing through ui with sample test cases
Какво представляват CRUD операциите и как да извършите CRUD тестване чрез потребителски интерфейс:
Хората започнаха да съхраняват информация дори преди няколко десетилетия! И в онези времена в изчислителната история се използват бази данни с плоски файлове, където всички данни се съхраняват във файл.
По-късно, в началото на 1970-те, IBM разработи първия модел на релационна база данни, който въведе „индекси“ за лесно извличане на данните.
Какво ще научите:
- Преглед на CRUD операциите
- Защо е важно тестването на база данни?
- 4-те основни функции на базата данни
- Определение за CRUD
- CRUD тестване
- Как да тествате CRUD функционалността на софтуера?
- Заключение
- Препоръчително четене
Преглед на CRUD операциите
В момента най-често срещаната система за съхранение на данни е База данни където софтуерът създава, чете, актуализира и изтрива данните чрез Заявки. Компютърният софтуер може да отговори на потребителските изисквания по-бързо и ефективно чрез правилно проектирана база данни и заявки.
Това предполага, че тестването и проверката на базата данни е много важен фактор.
Отговорите на графичния потребителски интерфейс (GUI) като съобщения за грешки, съобщения за успех и т.н. се считат за много важни от почти всички тестови мениджъри. Това е така, защото GUI е видимата част от приложението, която потребителите могат да видят. Тестването на база данни обаче е също толкова важно.
От моя опит съм виждал много ръчни тестери, които смятат това за досадна работа, но всъщност това не е така.
В този урок ще обсъдим тестването на функционалността на базата данни на черна кутия чрез потребителски интерфейс и MySQL заявки по прост начин с лесни примери.
Защо е важно тестването на база данни?
Точките, дадени по-долу, ще обяснят важността на тестването на база данни по много кратък начин.
- Данните са важен актив и трябва да бъдат запазени и защитени.
- Базите данни се усложняват с нови технологии и платформи. Следователно шансовете за грешки се увеличават.
- Може да има критични функционалности, свързани със стойностите, съхранявани в базата данни.
- Проблеми в базата данни или заявки могат да доведат до големи проблеми с функционалността.
- За да се гарантира, че данните се картографират правилно или не.
Тестването на базата данни може да се направи като единичен тест, тест за черна кутия , тест за бяла кутия и текст в сиво поле.
4-те основни функции на базата данни
Базираният на бази данни софтуер обикновено има четири основни функционалности, което ще стане ясно от примерите по-долу.
Пример 1:
Facebook, най-известният уебсайт за социални мрежи.
- Можете да създадете нов акаунт
- Прегледайте данните за вашия акаунт
- Редактирайте подробности за акаунта
- Изтрийте акаунта
- Можете да създавате коментари
- Вижте ги
- Редактирайте ги
- Изтрийте ги
Пример 2:
LinkedIn, известният уебсайт за търсене на работа:
как да напиша тестови случаи за уеб приложение
- Можете да създадете своя профил
- Вижте го
- Редактирайте го
- Изтрий го
- Можете да добавяте публикации
- Вижте ги
- Редактирайте ги
- Изтрийте ги
Забелязахте ли набор от общи дейности тук?
Да! Ти си прав.
Повечето от софтуера поддържат тези функционалности за създаване, преглед, редактиране и изтриване от където е терминът ЖЕСТКО идва.
Определение за CRUD
В компютърното програмиране, ЖЕСТКО означава Създаване, четене, актуализиране и изтриване. Това са четирите основни и основни функции на постоянното съхранение. Те често се правят в софтуерни приложения чрез формуляри.
- Създайте - ВЪВЕДЕТЕ запис в базата данни.
- Прочети или Извличане - ИЗБЕРЕТЕ записа от базата данни и го прегледайте.
- Актуализиране - АКТУАЛИЗИРАЙТЕ записа напълно или частично.
- Изтрий или Унищожи - ИЗПУСКАНЕ / ИЗТРИВАНЕ на записа.
В зависимост от софтуерните изисквания, CRUD циклите могат да варират.
Например: понякога продавачът създава акаунт и потребителят го разглежда. Потребителят може да няма привилегията да го редактира или изтрие. От друга страна, изискването може да бъде: потребителят създава своя акаунт и продавачът го потвърждава и одобрява. Тези цикли са много важни от гледна точка на тестера.
За обсъдените по-горе функционалности в базата данни се изпълнява съответна заявка.
По-долу са дадени примери за MYSQL заявки за всяко действие
Действие | Примерна заявка |
---|---|
СЪЗДАЙТЕ | INSERT INTO table_name (колона1, колона2, колона3, ...) СТОЙНОСТИ (стойност1, стойност2, стойност3, ...); |
ПРОЧЕТИ | SELECT * от таблицата; |
АКТУАЛИЗИРАНЕ | АКТУАЛИЗИРАНЕ на име_на таблица SET колона1 = стойност11, колона2 = стойност22 КЪДЕ състояние; |
ИЗТРИЙ | ИЗТРИВАНЕ ОТ ТАБЛИЦА име на таблица, където колона1 = ‘стойност11’; |
Три вариации на CRUD са ХЛЯБ (Преглед, четене, редактиране, добавяне, изтриване), ДЕЙВ (Изтриване, Добавяне, Преглед, Редактиране) и ГРОЗИ (Създаване, копиране, добавяне, обработка).
CRUD тестване
CRUD тестването е черно тестване на функционалността на базата данни.
Както знаем, тестването на Black box разглежда тестовата софтуерна система като „черна кутия и тестовете се провеждат чрез потребителския интерфейс.
Разбрахме, че всяко действие отпред като регистрация на акаунт, редактиране на лични данни, преглед на подробности, изтриване на акаунт и т.н. има съответно CRUD действие в базата данни. CRUD тестването се прави, за да се провери дали тези действия се отразяват правилно в базата данни или не.
CRUD тестването се различава от обичайното тестване на черна кутия, когато проверяваме за съобщения за успех като „Акаунтът е създаден успешно“ след регистрация на потребител и т.н. Тук трябва да проверим дали данните за акаунта действително влизат в базата данни или не.
Има два начина, по които ръчен тестер може да направи това:
# 1) Изпълнявайте заявки сами- Тестерите с добро разбиране на SQL езика и изискванията за софтуер могат да правят свои собствени заявки за тестване на базата данни. По този начин всички възможни случаи могат да бъдат проверени с добри заявки.
# 2) Изпълнете заявки с помощта на разработчик- Тестерите могат да започнат с проверка на потребителския интерфейс на приложението и да получат заявки от разработчика.
Следните въпроси трябва да бъдат взети под внимание при писане на тестови случаи за CRUD операции:
- Какъв вид CRUD действие е валидно и кое е невалидно за тестово приложение?
- Каква връзка има / трябва да имат действията CRUD помежду си?
- Кога се изпълняват CRUD действията?
- Кой има достъп до функционалността CRUD? Системата задава ли различни привилегии за различните потребители?
Общият процес на изпитване за DB тестване не се различава много от обичайното ръчно тестване на графичен интерфейс с черна кутия.
Като,
Етап 1: Подгответе тестовата среда.
Стъпка 2: Изпълнете стъпките на теста.
Стъпка 3: Проверете резултата от теста.
Стъпка 4: Валидирайте действителните резултати според очакваните резултати.
Стъпка 5: Докладвайте за грешки и други констатации.
За да се проверят резултатите от теста, се използват GUI отговор и Query резултат. За CRUD тестване на черна кутия, ние просто се нуждаем от заявка, която е SELECT.
Както всички знаем, базите данни съхраняват данни. Когато трябва да извлечем данните, се използва заявката SELECT. При тестване на черна кутия просто трябва да използваме тази заявка, за да видим дали действията през потребителския интерфейс показват правилни отражения в базата данни или не.
‘SELECT’ може да се използва по следните начини:
# 1) Ако тестер иска да провери и провери всички данни, той може да използва стартовия символ (*) в заявката SELECT. Това е най-простата форма на SELECT заявка.
SELECT * FROM table_name;
Горният оператор избира всички полета от всички редове от таблицата с име на таблица.
# 2) В някои случаи първият резултат от заявката може да бъде объркан. Ако тестерът се интересува само от някои полета, може да се използва следният скрипт.
какво представлява матрицата за проследяване при тестване на софтуер
SELECT ‘field_1’, ‘field_2’, ‘field_3’ FROM table_name;
Горният оператор избира полетата, ‘field_1’, ‘field_2’ и ‘field_3’ от всички редове от таблицата с име на таблица.
# 3) Ако тестер иска да види резултатите въз основа на някакви критерии, тогава може да се използва клаузата WHERE.
SELECT ‘field_1’ FROM table_name WHERE field_2 = ‘success’;
Горното изявление избира полето, „поле_1“ от всички редове от таблицата с име на таблица, където „поле2“ е „успех“.
Как да тествате CRUD функционалността на софтуера?
Помислете за следното Пример на потребителски интерфейс, който позволява определени потребителски привилегии за използване на базата данни MySQL за съхраняване на данните.
ПРИМЕР | ПОДРОБНОСТИ ЗА БАЗАТА ДАННИ |
---|---|
1. Може да СЪЗДАДЕ продукт с всички подробности, включително име на продукта, описание на продукта, цена на продукта, използвайки формуляра „Добавяне на продукт“ | База данни: Shopping_DB Таблица: продукт Полета: product_name, product_details, product_price Създава ред в таблицата „продукт“ с подробности, добавени в съответните полета |
2. Може ли да ПРОЧЕТЕТЕ подробности наименование на продукта, описание на продукта, цена на продукта в „Страница с подробности за продукта“. | База данни: Shopping_DB Таблица: продукт Полета: product_name, product_details, product_price Избира всички данни или избира конкретни данни от таблицата „продукти“ |
3. Може да АКТУАЛИЗИРА името на продукта, описанието на продукта, цената на продукта, като използва формуляра ‘Product Edit’. | База данни: Shopping_DB Таблица: продукт Полета: product_name, product_details, product_price Актуализирайте всички подробности или конкретни подробности в определен ред в таблицата „продукти“ |
4. Може да ИЗТРИВА продукта | База данни: Shopping_DB Таблица: продукт Полета: product_name, product_details, product_price Изтрийте всички подробности в таблицата „продукти“, като пуснете таблицата или изтриете определен ред от нея. |
Нека проверим как CRUD функционалността може да бъде проверена за този случай.
Забележка :Винаги провеждайте CRUD тестване в сметищата на базата данни, защото това тестване може да причини промени в базата данни. Командата по-долу може да се използва за изваждане на цялата база данни.
$ mysqldump -u [uname] -p [pass] Shopping_DB> Shopping_DB_backup.sql
# 1) СЪЗДАЙТЕ функционалност
При добавяне на нов продукт можете да следвате следните стъпки:
- Заредете формуляра „Добавяне на продукт“.
- Въведете името на продукта, кажете „име на теста“.
- Въведете описание на продукта, кажете „това е подробност за тестовия продукт“.
- Въведете цената на продукта, кажете „100“.
- Подайте формуляра.
Проверка на резултата:
- Тестерът ръчно проверява дали продуктът е показан с всички подробности в предния край на софтуерното приложение.
- Tester изпълнява заявката в сървъра на база данни на MYSQL, за да провери дали конкретният ред е налице
Запитване:
какво е wifi ключ за сигурност
SELECT * FROM products WHERE product_name = ‘test name’;
Резултат от заявката от MySQL:
Ред със съответните подробности трябва да се покаже като,
mysql> SELECT * FROM products WHERE product_name = ‘test name’; + ------------- + ----------------------------- + ----- ------------ + | име на продукт | product_details | product_price | + ------------- + ----------------------------- + ----- ------------ + | име на теста | това са подробности за тестовия продукт | 100 | |
Други случаи за разглеждане:
- За някои системи различните потребители ще имат различни привилегии. В този случай тестерите може да трябва да проверят отговора за всяка потребителска роля.
- Ако дублиращи се продукти не са разрешени, тестер може да провери това, като добави отново продукт със същите детайли. Този път базата данни не трябва да има втори запис, съответстващ на същия продукт.
- Ако софтуерът позволява едновременно създаване на множество продукти, тестващият може да провери дали всички данни за всички продукти в подаденото са въведени правилно в базата данни или не.
- Опитайте различни комбинации за въвеждане.
- Проверете какво се случва по време на престой на сървъра.
# 2) ПРОЧЕТЕТЕ Функционалност
За да проверите дали създаденият запис е четим, могат да се изпълнят следните стъпки:
- Създайте някои продукти с различни входни комбинации чрез CREATE функционалност, кажете име на тест 1, име на тест 2, име на тест 3.
- Опитайте да търсите продуктите.
Проверка на резултата:
- Тестерът ръчно проверява дали данните за продукта са верни.
- Тестерът сравнява подробностите с тези, записани в базата данни.
Запитване:
ИЗБЕРЕТЕ * ОТ продукти КЪДЕ product_name = ‘име на теста 1’ ИЛИ product_name = ‘име на теста 12’ ИЛИ product_name = ‘име на теста 3’; |
Резултат от заявката от MySQL:
Данните за избраните продукти трябва да бъдат показани. Тестерът може да провери и сравни това с резултатите в потребителския интерфейс.
mysql> SELECT * FROM products WHERE product_name = ‘test name 1’ ИЛИ product_name = ‘test name 12’ ИЛИ product_name = ‘test name 3’; + ------------- + ----------------------------- + ----- ------------ + | име на продукт | product_details | product_price | + ------------- + ----------------------------- + ----- ------------ + | име на теста 1 | това е подробност за тестовия продукт1 | 100 | | име на теста 2 | това е подробност за тестовия продукт2 | 100 | | име на теста 3 | това е подробност за тестовия продукт3 | 100 | |
Други случаи за разглеждане:
- Преглеждайте елементите един по един.
- Преглеждайте няколко елемента едновременно.
- Опитвате се да видите елемент, който не съществува.
- Опитайте да търсите с различни условия.
- Опитайте да проверите функционалността за различни потребителски роли.
- Проверете какво се случва по време на престой на сървъра.
# 3) АКТУАЛИЗИРАНЕ Функционалност
За да редактирате или актуализирате съществуващи записи, могат да се следват следните стъпки:
- Създайте продукт, използвайки функционалността CREATE.
- Редактирайте различни полета на продукта, кажете „име на теста“ на „V Neck Top“.
- Изпращане
Проверка на резултата:
- Тестерът ръчно проверява дали данните за продукта са се променили
- Tester изпълнява MYSQL заявка и вижда подробностите
Запитване:
SELECT * FROM products WHERE product_name = ‘V Neck Top’;
Резултат от заявката от MySQL:
Трябва да се покаже ред със съответните подробности.
mysql> SELECT * FROM products WHERE product_name = ‘V Neck Top’; + ------------- + ----------------------------- + ----- ------------ + | име на продукт | product_details | product_price | + ------------- + ----------------------------- + ----- ------------ + | V горната част на врата | това са подробности за тестовия продукт | 100 | + ------------- + ----------------------------- + ----- ------------ + |
Ако търсите със старо име на продукта, базата данни не трябва да връща подробностите.
Други случаи за разглеждане:
- Актуализирайте няколко елемента наведнъж.
- Актуализирайте до ключова стойност, която вече съществува.
- Актуализирайте всички подробности или частични подробности.
- Актуализирайте полетата с различни комбинации за въвеждане.
- Проверете актуализираната функция за различни привилегии.
- Проверете какво се случва по време на престой на сървъра.
# 4) DELETE Функционалност
За да проверите функционалността на изтриването, могат да се следват следните стъпки:
- Създайте продукт с CREATE функционалност.
- Изтрийте продукта.
Проверка на резултата:
- Тестерът ръчно проверява дали продуктът е премахнат от потребителския интерфейс
- Тестерът ръчно проверява базата данни MySQL и потвърждава, че съответният ред е бил изтрит.
Запитване :
SELECT * FROM products WHERE product_name = ‘test name’;
Резултат от заявката от MySQL:
Това трябва да покаже резултата от заявката, както е показано по-долу.
mysql>SELECT * FROM products WHERE product_name = ‘test name’; Empty set (0.00 sec)
Други случаи за разглеждане:
- Изтрийте множество елементи в една заявка.
- Изтрийте актуализиран елемент.
- Вземете два раздела и се опитайте да дадете заявка за изтриване на продукт от двата раздела като цяло.
Заключение
Тестването на база данни е много важно, тъй като потвърждава сигурността и надеждността на софтуерно приложение. Повечето софтуерни приложения се занимават със създаване, четене и актуализиране и изтриване на данни в / от базата данни. Според софтуерните изисквания, CRUD циклите могат да варират. Тестерът трябва да планира тестови случаи въз основа на CRUD цикъла.
CRUD функционалностите могат да бъдат тествани ръчно и проверени от потребителския интерфейс и базата данни. Заявката SELECT може да се използва за проверка на промените в базата данни, съответстващи на всяка CRUD операция.
Специалист ли сте по CRUD тестване? Имате ли интересни факти, които да споделите с нашите читатели, които са нови за CRUD? Чувствайте се свободни да изразявате вашите мисли / предложения в раздела за коментари по-долу !!
Препоръчително четене
- Тестване на база данни с JMeter
- ISTQB Тестване за сертифициране Примерни въпроси с отговори
- Най-добри инструменти за тестване на софтуер 2021 г. [Инструменти за автоматизация на QA теста]
- Основни разлики между тестване на черна кутия и тестване на бяла кутия
- Изтегляне на eBook за тестване на Primer
- Прост подход за тестване на XML към база данни
- 40+ Най-добри инструменти за тестване на бази данни - Популярни решения за тестване на данни
- Урок за тестване на GUI: Пълно ръководство за тестване на потребителския интерфейс (UI)