В первой части мы рассмотрели что же являет собой CRUD-проверка и её основные аспекты.
А как же проверить работоспособность CRUD программного обеспечения?
Рассмотрим следующий пример пользовательского интерфейса, который позволяет некоторым пользовательским привилегиям использовать базу данных MySQL для хранения данных.
Давайте рассмотрим, как можно проверить функциональность CRUD для этого случая.
1) Создание: ФункциональностьПри добавлении нового продукта можно выполнить следующие действия:
Загрузите форму «Добавить продукт».
Введите имя продукта, скажем 'test name'.
Введите описание продукта, скажем, «это тестовая деталь продукта».
Введите цену товара, скажем, «100».
Отправьте форму.
Проверка результата:
Тестер вручную проверяет, отображается ли продукт со всеми подробностями в интерфейсе приложения.
Тестер выполняет запрос в сервере базы данных MYSQL, чтобы проверить, присутствует ли конкретная строка
Запрос:SELECT * FROM products WHERE product_name = 'test name';
Результат запроса от MySQL:
Строка с соответствующими данными должна отображаться как,
mysql> SELECT * FROM products WHERE product_name = 'test name';
+ ------------- + ----------------------------- + ----- ------------ +
| product_name | product_details | product_price |
+ ------------- + ----------------------------- + ----- ------------ +
| название теста | это тестовая версия продукта | 100 |
Другие рассмотренные случаи:
Для некоторых систем разные пользователи будут иметь разные привилегии. В этом случае тестировщикам, возможно, придется проверять ответ для каждой роли пользователя.
Если дублирующиеся продукты не разрешены, тестер может проверить это, добавив продукт с теми же подробностями еще раз. На этот раз база данных не должна создать вторую запись, соответствующую одному и тому же продукту.
Если ПО позволяет одновременно создавать несколько продуктов, тогда тестер может проверить, правильно ли они были введены в базу данных.
Попробуйте различные комбинации ввода.
Проверьте, что происходит во время простоя сервера.
2) Чтение: ФункциональностьЧтобы проверить, является ли созданная запись доступной, выполните следующие действия:
Создайте некоторые продукты с различными комбинациями ввода через функциональность CREATE, скажем, имя теста 1, имя теста 2, имя теста 3.
Попробуйте найти продукты.
Проверка результата:
Тестер вручную проверяет правильность сведений о продукте.
Тестер сравнивает детали с данными, сохраненными в базе данных.
Запрос:SELECT * FROM products WHERE product_name = 'test name 1' OR product_name = 'test name 12' OR product_name = 'test name 3';
Результат запроса от MySQL:
Необходимо отобразить детали выбранных продуктов. Тестер может проверить и сравнить это с результатами в пользовательском интерфейсе.
mysql> SELECT * FROM products WHERE product_name = 'test name 1' OR product_name = 'test name 12' OR product_name = 'test name 3';
+ ------------- + ----------------------------- + ----- ------------ +
| product_name | product_details | product_price |
+ ------------- + ----------------------------- + ----- ------------ +
| имя теста 1 | это тестовый продукт detail1 | 100 |
| имя теста 2 | это тестовый продукт detail2 | 100 |
| тестовое имя 3 | это тестовый продукт detail3 | 100 |
Другие рассмотренные случаи:
Просмотр элементов по одному.
Просмотр нескольких элементов одновременно.
Пытается просмотреть элемент, который не существует.
Попробуйте выполнить поиск в разных условиях.
Попробуйте проверить функциональность для разных пользовательских ролей.
Проверьте, что происходит во время простоя сервера.
3) Обновление: Функциональность Чтобы изменить или обновить существующие записи, выполните следующие действия:
Создайте продукт, используя функциональность CREATE.
Отредактируйте разные поля продукта, скажем 'test name', 'V Neck Top'.
Отправить
Проверка результата:
Тестер вручную проверяет, что детали продукта изменены
Тестер выполняет запрос MYSQL и видит детали
Запрос:SELECT * FROM products WHERE product_name = 'V Neck Top';
Результат запроса от MySQL:
Строка с соответствующими деталями должна отображаться
.mysql> SELECT * FROM products WHERE product_name = 'V Neck Top';
+ ------------- + ----------------------------- + ----- ------------ +
| product_name | product_details | product_price |
+ ------------- + ----------------------------- + ----- ------------ +
| имя теста 1 | это тестовая версия продукта | 100 |
+ ------------- + ----------------------------- + ----- ------------ +
Если вы ищете старое имя продукта, база данных не должна возвращать детали.
Другие рассмотренные случаи:
Обновление нескольких элементов одновременно.
Обновите ключевое значение, которое уже существует.
Обновите все детали.
Обновите поля различными комбинациями ввода.
Проверьте, что происходит во время простоя сервера.
4) Удаление: ФункциональностьЧтобы проверить функциональность удаления, выполните следующие шаги:
Создайте продукт с функциональностью CREATE.
Удалите продукт.
Проверка результата:
Тестер вручную проверяет, удаляется ли продукт из пользовательского интерфейса
Тестер вручную проверяет базу данных MySQL и подтверждает, что соответствующая строка была удалена.
Запрос :SELECT * FROM products WHERE product_name = 'test name';
Результат запроса от MySQL:
Это должно отобразить результат запроса, как показано ниже
.mysql> SELECT * FROM products WHERE product_name = 'test name'; Пустой набор (0,00 сек)
Другие рассмотренные случаи:
Удалите несколько элементов в одном запросе.
Удалите обновленный элемент.
Возьмите две вкладки и попробуйте дать запрос на удаление продукта из обеих вкладок.
Вывод
Тестирование базы данных очень важно, поскольку оно подтверждает безопасность и надежность программного приложения. Большинство приложений имеют дело с созданием, чтением и обновлением и удалением данных в / из базы данных. Согласно требованию к программному обеспечению, циклы CRUD могут различаться, но это не должно вводить в заблуждение тестировщиков, ведь к решению любой задачи можно подходить с интересом и азартом.
26 июля/2018
コメント