database crud testing through ui with sample test cases
Що таке CRUD-операції та як виконати CRUD-тестування за допомогою інтерфейсу користувача:
Люди почали зберігати інформацію ще до кількох десятиліть! І в ті часи бази даних плоских файлів використовувались в обчислювальній історії, де всі дані зберігалися у файлі.
Пізніше, на початку 1970-х років, IBM розробила першу модель реляційної бази даних, яка представила 'індекси' для легкого отримання даних.
Що ви дізнаєтесь:
- Огляд операцій CRUD
- Чому тестування баз даних є важливим?
- 4 основні функціональні можливості бази даних
- Визначення CRUD
- CRUD тестування
- Як перевірити CRUD-функціональність програмного забезпечення?
- Висновок
- Рекомендована література
Огляд операцій CRUD
В даний час найпоширенішою системою зберігання даних є База даних де програмне забезпечення створює, читає, оновлює та видаляє дані за допомогою Запитів. Комп’ютерне програмне забезпечення може швидше та ефективніше реагувати на потреби користувачів за допомогою правильно розробленої бази даних та запитів.
Це означає, що тестування та перевірка бази даних є набагато важливим фактором.
Відповіді графічного інтерфейсу користувача (GUI), такі як повідомлення про помилки, повідомлення про успіх тощо, майже всі керівники тестів вважають дуже важливими. Це тому, що графічний інтерфейс є видимою частиною програми, яку користувачі можуть бачити. Проте тестування баз даних є не менш важливим.
Зі свого досвіду я бачив багатьох ручних тестувальників, які вважають це нудною роботою, але насправді це не так.
У цьому підручнику ми обговоримо тестування функціональних можливостей бази даних чорних ящиків за допомогою запитів користувальницького інтерфейсу та MySQL у простих манері на простих прикладах.
Чому тестування баз даних є важливим?
Наведені нижче пункти дуже коротко пояснять важливість тестування баз даних.
- Дані є важливим активом, і їх потрібно зберігати та захищати.
- Бази даних ускладнюються новими технологіями та платформами. Тому шанси на помилки зростають.
- Можуть бути критичні функції, пов'язані зі значеннями, що зберігаються в базі даних.
- Проблеми в базі даних або запити можуть призвести до серйозних проблем з функціональністю.
- Щоб переконатися, що Дані правильно зіставлені чи ні.
Тестування бази даних може бути виконане як модульний тест, тест чорної скриньки , білий ящик тест та текст сірого вікна.
4 основні функціональні можливості бази даних
Програмне забезпечення на базі даних, як правило, має чотири основні функціональні можливості, що буде зрозуміло з прикладів нижче.
Приклад 1:
Facebook, найвідоміший веб-сайт соціальних мереж.
- Ви можете створити новий обліковий запис
- Перегляньте дані свого облікового запису
- Редагувати дані облікового запису
- Видаліть обліковий запис
- Ви можете створювати коментарі
- Перегляньте їх
- Редагуйте їх
- Видаліть їх
Приклад 2:
LinkedIn, відомий веб-сайт пошуку роботи:
як відкрити файл .bin у Windows 10
- Ви можете створити свій профіль
- Перегляньте це
- Редагуйте його
- Видаліть його
- Ви можете додавати публікації
- Перегляньте їх
- Редагуйте їх
- Видаліть їх
Ви помітили тут низку спільних заходів?
Так! Ти правий.
Більшість програмного забезпечення підтримує ці функції створення, перегляду, редагування та видалення звідки терміна ЖЕСТЬКИЙ приходить.
Визначення CRUD
У комп'ютерному програмуванні ЖЕСТЬКИЙ розшифровується як Створення, читання, оновлення та видалення. Це чотири основні та основні функції постійного зберігання. Це часто робиться в програмних додатках за допомогою форм.
- Створити - ВСТАВИТИ запис у базі даних.
- Прочитайте або Отримати - ВИБЕРІТЬ запис із бази даних та переглянути його.
- Оновлення - ОНОВИТИ запис повністю або частково.
- Видалити або Знищити - ВПАДАТИ / ВИДАЛИТИ запис.
Залежно від вимог до програм, цикли CRUD можуть відрізнятися.
Наприклад: іноді продавець створює обліковий запис і користувач переглядає його. Користувач може не мати привілею редагувати або видаляти його. З іншого боку, вимога може бути такою: користувач створює свій обліковий запис, а продавець перевіряє та затверджує його. Ці цикли дуже важливі з точки зору тестувальника.
Для функціональних можливостей, розглянутих вище, у базі даних працює відповідний запит.
Нижче наведено приклади запитів MYSQL для кожної дії
Дія | Зразок запиту |
---|---|
СТВОРИТИ | INSERT INTO ім'я таблиці (стовпець1, стовпець2, стовпець3, ...) ЗНАЧЕННЯ (значення1, значення2, значення3, ...); |
ПРОЧИТАЙТЕ | ВИБЕРІТЬ * з таблиці; |
ОНОВЛЕННЯ | ОНОВИТИ ім'я таблиці ВСТАНОВИТИ стовпець1 = значення11, стовпець2 = значення22 ДЕ стан; |
ВИДАЛИТИ | ВИДАЛИТИ ІЗ ТАБЛИЦІ ім'я таблиці де стовпець1 = ‘значення11’; |
Три варіації CRUD ХЛІБ (Перегляд, читання, редагування, додавання, видалення), ДЕЙВ (Видалити, Додати, Переглянути, Редагувати) та СЕРТЯ (Створення, тиражування, додавання, обробка).
CRUD тестування
Тестування CRUD - це тестування чорної скриньки функціональності бази даних.
Як ми знаємо, тестування Black box розглядає систему тестування як «чорну скриньку, і тести проводяться через інтерфейс користувача.
Ми зрозуміли, що кожна операційна операція, така як реєстрація облікового запису, редагування особистих даних, перегляд деталей, видалення облікового запису тощо, має відповідну CRUD-дію в базі даних. Тестування CRUD проводиться, щоб перевірити, чи відображаються ці дії в Базі даних належним чином чи ні.
Тестування CRUD відрізняється від звичайного фронтенд-тестування чорних ящиків, де ми перевіряємо повідомлення про успіх, такі як «Обліковий запис успішно створений» після Реєстрації користувача і т. Д. Тут ми повинні перевірити, чи фактично дані про акаунт потрапляють у Базу даних чи ні.
Існує два способи, за допомогою яких тестувальник, що працює вручну, може це зробити:
# 1) Виконуйте запити самостійно- Тестери, які добре розуміють мову SQL та вимоги до програмного забезпечення, можуть самостійно запитувати тестування бази даних. Таким чином усі можливі випадки можна перевірити за допомогою хороших запитів.
# 2) Виконувати запити за допомогою розробника- Тестери можуть розпочати перевірку користувальницького інтерфейсу програми та отримання запитів від розробника.
Під час написання тестових кейсів для операцій CRUD слід враховувати наступні запитання:
- Яка дія CRUD є дійсною, а яка недійсною для тестової програми?
- Яке відношення має / повинно мати дії CRUD між собою?
- Коли виконуються дії CRUD?
- Хто отримує доступ до функцій CRUD? Чи встановлює система різні привілеї для різних користувачів?
Загальний процес тестування для Тестування БД не сильно відрізняється від звичайного ручного тестування графічного інтерфейсу чорної скриньки.
Подібно до,
Крок 1: Підготуйте тестове середовище.
Крок 2: Виконайте кроки тесту.
Крок 3: Перевірте результат тесту.
Крок 4: Перевірте фактичні результати відповідно до очікуваних результатів.
Крок 5: Повідомте про помилки та інші висновки.
Для перевірки результату тесту використовуються відповідь графічного інтерфейсу та результат запиту. Для тестування чорної скриньки CRUD нам просто потрібен запит, який має значення SELECT.
Як ми всі знаємо, бази даних зберігають дані. Коли нам потрібно отримати дані, використовується запит SELECT. Під час тестування чорних ящиків нам просто потрібно використовувати цей запит, щоб побачити, чи дії через інтерфейс відображають належне відображення в базі даних чи ні.
«ВИБРАТИ» можна використовувати такими способами:
# 1) Якщо тестувальник хоче перевірити та перевірити всі дані, він може використовувати символ запуску (*) у запиті SELECT. Це найпростіша форма запиту SELECT.
SELECT * FROM table_name;
Вищезазначений оператор вибирає всі поля з усіх рядків таблиці table_name.
# 2) У деяких випадках результат першого запиту може бути безладним. Якщо тестера цікавлять лише деякі поля, можна використовувати наступний сценарій.
питання співбесіди на html та css
SELECT ‘field_1’, ‘field_2’, ‘field_3’ FROM table_name;
Наведений вище оператор вибирає поля, ‘field_1’, ‘field_2’ і ‘field_3’ з усіх рядків таблиці table_name.
# 3) Якщо тестувальник хоче бачити результати на основі будь-яких критеріїв, тоді може використовуватися речення WHERE.
SELECT ‘field_1’ FROM table_name WHERE field_2 = ‘success’;
Наведений вище оператор вибирає поле „field_1“ із усіх рядків таблиці table_name, де „field2“ - „успіх“.
Як перевірити CRUD-функціональність програмного забезпечення?
Розглянемо наступне Приклад користувальницького інтерфейсу, що дозволяє певні привілеї користувача для використання бази даних MySQL для зберігання даних.
ПРИКЛАД | ДЕТАЛІ БАЗИ ДАНИХ |
---|---|
1. Можна СТВОРИТИ продукт із усіма деталями, включаючи назву товару, опис товару, ціну товару, використовуючи форму «Додати продукт» | База даних: Shopping_DB Стіл: товар Поля: ім'я_товару, деталі_товару, ціна_товару Створює в таблиці рядок «товар» із деталями, доданими у відповідні поля |
2. Чи можете прочитати деталі назви товару, опису товару, ціни товару на сторінці «Деталі товару». | База даних: Shopping_DB Стіл: товар Поля: ім'я_товару, деталі_товару, ціна_товару Виділяє всі дані або вибирає певні дані з таблиці „продукти” |
3. Можна ОНОВИТИ назву товару, опис товару, ціну товару за допомогою форми «Редагування товару». | База даних: Shopping_DB Стіл: товар Поля: ім'я_товару, деталі_товару, ціна_товару Оновіть усі деталі або окремі деталі у певному рядку таблиці „продукти” |
4. Можна ВИДАЛИТИ продукт | База даних: Shopping_DB Стіл: товар Поля: ім'я_товару, деталі_товару, ціна_товару Видаліть усі деталі в таблиці „products”, опустивши таблицю або видаліть із неї певний рядок. |
Давайте перевіримо, як у цьому випадку можна перевірити функціональність CRUD.
Примітка :Завжди проводьте тестування CRUD на дампах бази даних, оскільки це тестування може спричинити зміни в базі даних. Наведена нижче команда може бути використана для створення дампа всієї бази даних.
$ mysqldump -u (uname) -p (pass) Shopping_DB> Shopping_DB_backup.sql
# 1) СТВОРИТИ функціональність
Додаючи новий товар, можна виконати такі дії:
- Завантажте форму 'Product Add'.
- Введіть назву товару, скажіть „тестова назва”.
- Введіть опис товару, скажіть „це тестова деталь продукту“.
- Введіть ціну товару, скажіть '100'.
- Подайте форму.
Перевірка результату:
- Тестер вручну перевіряє, чи відображається виріб із усіма деталями у передній частині програмного забезпечення.
- Tester виконує запит на сервері баз даних MYSQL, щоб перевірити, чи присутній конкретний рядок
Запит:
Запитання та відповіді на інтерв’ю розробника Java
SELECT * FROM products WHERE product_name = ‘test name’;
Результат запиту від MySQL:
Рядок із відповідними деталями повинен відображатися як,
mysql> SELECT * FROM products WHERE product_name = ‘тестове ім’я’; + ------------- + ----------------------------- + ----- ------------ + | назва_товару | product_details | product_price | + ------------- + ----------------------------- + ----- ------------ + | назва тесту | це деталі випробуваного продукту | 100 | |
Інші випадки для розгляду:
- Для деяких систем різні користувачі матимуть різні привілеї. У цьому випадку тестерам, можливо, доведеться перевірити відповідь для кожної ролі користувача.
- Якщо повторювані товари заборонені, тестувальник може це перевірити, додавши ще раз товар із тими ж деталями. Цього разу в базі даних не повинно бути другого запису, що відповідає тому самому продукту.
- Якщо програмне забезпечення дозволяє створювати кілька продуктів одночасно, тоді тестер може перевірити, чи всі деталі всіх продуктів, що подаються, були внесені до бази даних належним чином чи ні.
- Спробуйте різні комбінації введення.
- Перевірте, що відбувається під час простою сервера.
# 2) ПРОЧИТАЙТЕ Функціональність
Щоб перевірити, чи створений запис є читабельним, можна виконати такі дії:
- Створіть деякі продукти з різними комбінаціями введення за допомогою функцій CREATE, скажімо назву тесту 1, назву тесту 2, назву тесту 3.
- Спробуйте шукати продукти.
Перевірка результату:
- Тестер вручну перевіряє правильність даних про товар.
- Тестер порівнює деталі з тими, що збережені в базі даних.
Запит:
ВИБЕРИТЕ * ВІД продуктів, ДЕ product_name = ‘ім’я тесту 1’ АБО product_name = ‘ім’я тесту 12’ АБО product_name = ‘ім’я тесту 3’; |
Результат запиту від MySQL:
Потрібно відобразити деталі вибраних продуктів. Тестер може перевірити та порівняти це з результатами в інтерфейсі користувача.
mysql> ВИБЕРІТЬ * ІЗ продуктів, ДЕ product_name = ‘тестове ім’я 1’ АБО product_name = ‘тестове ім’я 12’ АБО product_name = ‘тестове ім’я 3’; + ------------- + ----------------------------- + ----- ------------ + | назва_товару | product_details | product_price | + ------------- + ----------------------------- + ----- ------------ + | назва тесту 1 | це деталь продукту тесту1 | 100 | | назва тесту 2 | це деталь випробуваного продукту2 | 100 | | назва тесту 3 | це деталь випробуваного продукту3 | 100 | |
Інші випадки для розгляду:
- Переглядайте елементи по одному.
- Переглядайте кілька елементів одночасно.
- Спроба переглянути елемент, який не існує.
- Спробуйте шукати за різних умов.
- Спробуйте перевірити функціональність для різних ролей користувачів.
- Перевірте, що відбувається під час простою сервера.
# 3) ОНОВЛЕННЯ Функціональність
Для редагування або оновлення існуючих записів можна виконати такі дії:
- Створіть продукт за допомогою функцій CREATE.
- Відредагуйте різні поля продукту, скажіть „ім’я тесту” на „V Neck Top”.
- Подати
Перевірка результату:
- Тестер вручну перевіряє, що деталі продукту змінилися
- Тестер виконує запит MYSQL і бачить деталі
Запит:
SELECT * FROM products WHERE product_name = ‘V Neck Top’;
Результат запиту від MySQL:
Слід відобразити рядок із відповідними деталями.
mysql> ВИБЕРІТЬ * З ВИРОБІВ, ДЕ product_name = ‘V Neck Top’; + ------------- + ----------------------------- + ----- ------------ + | назва_товару | product_details | product_price | + ------------- + ----------------------------- + ----- ------------ + | V-подібний виріз | це деталі випробуваного продукту | 100 | + ------------- + ----------------------------- + ----- ------------ + |
Якщо ви шукаєте зі старою назвою товару, база даних не повинна повертати деталі.
Інші випадки для розгляду:
- Одночасно оновлюйте кілька елементів.
- Оновіть до ключового значення, яке вже існує.
- Оновіть усі деталі або часткові деталі.
- Оновіть поля за допомогою різних комбінацій введення.
- Перевірте оновлену функцію на наявність різних привілеїв.
- Перевірте, що відбувається під час простоїв сервера.
# 4) Видалити функціональність
Щоб перевірити функціональність видалення, можна виконати такі дії:
- Створіть продукт із функціональністю 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 р. (Інструменти автоматизації тестування якості)
- Основні відмінності між тестуванням чорної скриньки та тестуванням білої скриньки
- Завантажити тестувальник електронної книги
- Простий підхід до тестування баз даних XML
- 40+ найкращих засобів тестування баз даних - Популярні рішення для тестування даних
- Підручник з тестування графічного інтерфейсу: Повна інструкція з тестування інтерфейсу користувача (UI)