using json interface testing
Використання JSON для тестування інтерфейсу:
Тестування інтерфейсу перевіряє зв'язок між двома різними системами. Це виконується на тестовій програмі, щоб перевірити, чи правильно здійснюється зв'язок між двома мережами.
Інтерфейс - це в основному зв’язок між двома програмними системами, і тестування, яке з’єднання для передачі даних називається тестуванням інтерфейсу. Інтерфейс охоплює широкий спектр послуг у реальному світі, він може бути використаний для посилання на веб-сервіс, API тощо.
Інтерфейс містить набір правил, повідомлень, команд тощо, що полегшує зв'язок між двома системами.
Це тестування в основному зосереджується на тестуванні двох основних сегментів:
- Зв'язок з базами даних та сервером додатків
- Зв'язок з Інтернетом та серверами додатків
Перевірка інтерфейсу проводиться для оцінки вищезазначених сценаріїв, щоб перевірити, чи правильно компоненти передають керування та дані один одному правильно. Він також перевіряє взаємодію між різними модулями.
Що ви дізнаєтесь:
- Чому проводиться перевірка інтерфейсу?
- Як це виконується?
- Різниця між тестуванням інтерфейсу та тестуванням інтеграції
- Бізнес-сценарій
- Налаштування тестового середовища
- Початок тестування
- Висновок
- Рекомендована література
Чому проводиться перевірка інтерфейсу?
Він виконується для забезпечення:
- Якщо зв'язок між системами здійснюється правильно.
- Все програмне та апаратне забезпечення, яке використовується в системі, працює належним чином.
- Всі документи, які пов’язані з комунікацією, доступні на всіх інтегрованих платформах.
- Вимоги щодо безпеки та шифрування дотримуються зв'язку між системами.
- Інтегровані компоненти здатні впоратися із збоями в мережі та втратою зв'язку.
Види виявлених дефектів
Більшість дефектів, виявлених при тестуванні користувальницького інтерфейсу, пов’язані з неправильним відображенням даних між системами. Отже, більшість помилок в основному можна класифікувати на наступні категорії.
- Невідповідна передача даних між двома системами.
- Одна з систем неправильно інтерпретує передачу даних з іншої системи.
- Канал передачі даних або інтерфейс між двома системами виходять з ладу, і це обмежує передачу даних між системами, що призводить до відмови всього інтерфейсу.
Як це виконується?
Її можна в основному поділити на наступні етапи:
- Інтерфейси можна протестувати індивідуально протягом тестування системи . Цей тип тестування в основному проводиться за допомогою заглушки або манекена. Фіктивна система або заглушка імітує поведінку всієї взаємодії системи.
- Іншим випадком, коли виконується перевірка інтерфейсу, є з'єднання, де дві системи взаємодіють між собою.
- Отже, ми перевіряємо, чи дані, надіслані однією системою, були правильно зіставлені та вставлені в іншу систему чи ні. Окрім вставки даних, ми також перевіряємо цілісність даних, тобто дані, вставлені в іншу систему, не маніпулювали та не змінювали тощо.
- Тестування також можна проводити, коли система передає дані в іншу базу даних додатків. Тут ми перевіримо, чи правильно були введені дані з однієї системи в даний стовпець даної таблиці на основі відображення. Ми також перевіримо цілісність даних та їх узгодженість щодо вихідної системи.
У всіх цих сценаріях тестування тестування інтерфейсу виконується на основі бізнес-вимог та правил потоку бізнесу.
Різниця між тестуванням інтерфейсу та тестуванням інтеграції
Викликаються перевірка та перевірка наскрізної функціональності компонентів, з'єднаних між собою Інтеграційне тестування або більш популярно як тестування системної інтеграції. Інтеграційне тестування в основному підтверджує, якщо дві або більше інтегрованих систем працювали бездоганно разом чи ні.
Тестування Інтерфейс з іншого боку, в основному концентрується на каналі зв'язку між двома системами. Канал зв'язку між двома або більше системами називається інтерфейсом. Тестування цього каналу зв'язку називається Інтерфейсним тестуванням. Більшість інтерфейсів - це або API, або веб-служби. Він не має інтерфейсу, але бере вхідні дані і представляє користувачеві вихідні дані.
Наприклад

У наведеному вище прикладі веб-сайт і база даних мають спільний інтерфейс для передачі інформації для входу, тобто імені користувача та пароля.
Інтерфейс використовує веб-службу для надсилання інформації для входу в базу даних, яка, в свою чергу, перевіряє справжність вхідного повідомлення (ім’я користувача та пароль) і повертає значення як true, якщо і ім’я користувача, і пароль збігаються із записом, наявним у базі даних, або false у випадку, якщо будь-який із них або ім’я користувача, і пароль не збігаються з даними, що знаходяться всередині.
Давайте обговоримо приклад тестування інтерфейсу:
Скажімо, у нас є програма, де ми маємо різні бази даних, які взаємодіють між собою.
У цьому приклад , ми розглянемо взаємодію двох баз даних через інтерфейсний канал.
Давайте розглянемо, що існує дві бази даних або програма, база даних А і В. “A” передає деякі дані в “B”, яка потім використовується B для виконання якоїсь операції. Після виконання певної операції над вхідними даними B вставляє ці дані в базу даних і створює вихідний JSON для підтвердження зі списком оновлених даних і відправляє його назад до A.
І A, і B використовують інтерфейсний канал для зв'язку між собою.
Бізнес-сценарій
'А' містить дані про працівників усіх працівників, що належать до фінансового відділу.
Дані потрібно перенести на “B ' на щоденній основі. “B” містить дані про загальні дані про працівника. Усі дані з 'А' потрібно перенести до певної таблиці та стовпця 'В'. Окрім введених даних, “B” також потребує сортування та упорядкування даних. Він також повинен переконатися, чи були дані введені проти правильного працівника.
Після того, як дані були введені в систему, “B” має надіслати вихідний JSON, щоб підтвердити, чи були дані вставлені в базу даних.
У разі будь-яких розбіжностей у схемі JSON або відсутніх даних 'B' не буде обробляти дані, і воно надішле повідомлення 'Відхилити JSON' з причиною відхилення.

Налаштування тестового середовища
Для тестування сценарію, подібного до цього, нам знадобиться тест-заглушка для імітації бази даних “A”. Розробник може вказати місце, куди ви можете скинути тестовий JSON або макетний інтерфейс, вставити дані JSON і викликати обробку через інтерфейс. Для тестування ми можемо також мати вихідне розташування, де ми можемо отримати підтвердження JSON від “B”.
В нашому приклад , ми будемо використовувати шлях до папки, куди ми помістимо наш тестовий JSON, служба буде постійно тикати місце розташування для файлу JSON. Після того, як файл присутній, служба забирає файл і надсилає його в “B” через інтерфейс. Після того, як файл буде забрано, його буде видалено з місця збору.
Початок тестування
Після налаштування тестового середовища наступним кроком є створення даних тесту.
Створюючи тестові дані (читайте тест JSON), ми повинні мати на увазі кілька речей:
- Дотримуйтесь ділових правил.
- Переконайтесь, що є обов’язкові поля.
- Змінюйте значення полів відповідно до бізнес-правил для кожного тесту.
- Переконайтеся, що схема JSON має правильний формат.
- Переконайтесь, що номенклатура імені файлу JSON дотримана.
Давайте подивимося на зразок тесту JSON, який ми будемо використовувати для тестування:
{ 'employeeID ': 2569875, 'LastName': “Jackson”, 'baseSalary': 2569, 'DesignationCode':'P102', “Expenditure”:{ 'Month':“Feb”, 'Year': 2017, 'Official':560, 'Others”:0, } } Почніть тест
Після створення тестового файлу JSON відкладіть його до місця збору. Служба забере це та розмістить у базі даних B.
Сценарії для тестування:
Для цього прикладу може бути декілька сценаріїв, які потрібно протестувати, наприклад:
- Співпраця з веб-службою для надсилання та отримання даних.
- Цілісність даних для вхідних даних. Це можна перевірити, запитуючи таблиці та стовпці у базі даних B для даних, введених через тестовий JSON.
- Негативні сценарії.
Спочатку ми перевіримо, чи був тестовий файл JSON забраний з місця розташування чи його немає в цьому місці. Це підтвердить роботу служби. Далі ми перейдемо до вихідної папки, щоб переглянути вихідний JSON. Наявність вихідних даних JSON перевіряє, якщо вхідні дані були надіслані до бази даних B і отримано підтвердження для них.
Наступна частина тестування включає перевірку даних, внесених до бази даних.
У наведеному вище тесті ми перевіримо, чи правильно надійшли до бази даних дані, надіслані через тестовий JSON. Ми перевіримо цілісність даних, їх узгодженість та вставку. Нам доведеться запитати базу даних B для даного стовпця в певній таблиці для перевірки, якщо дані були правильно вставлені в таблицю.
Скажімо, у нас є таблиця EmpDetails, куди потрібно вставити дані. Отже, ми проведемо запит для перевірки даних.
Запит буде приблизно таким:
SELECT employeeID, LastName, baseSalary, DesignationCode, Month, Year, Official, Others FROM EmpDetails Where employeeID = 2569875; Тут ми будемо використовувати workerID як основний ключ для запиту даних у таблиці EmpDetails. Ми будемо робити запити, використовуючи всі назви стовпців, у які були введені дані. Тоді дані в назві стовпця можна перевірити за допомогою даних, надісланих через JSON.
У наведеному вище випадку дані з JSON зберігаються в декількох таблицях бази даних, отже, ви можете використовувати SQL JOINS для отримання всіх бажаних даних.
Третім етапом тестування буде тестування негативних сценаріїв.
Деякі негативні сценарії, які можна перевірити, такі:
- Поведінка системи, коли неправильні дані подаються через JSON.
- Коли JSON має неправильну схему або структуру.
- Коли в обробленому JSON відсутній первинний ключ або будь-які обов’язкові поля.
- Номенклатура файлу JSON недійсна.
У всіх цих випадках система повинна мати можливість обробляти ці сценарії, і ніякі дані не повинні вставлятися в систему відповідно до бізнес-правила.
Висновок
Канал зв'язку між двома системами, через які передаються дані, називається тестуванням інтерфейсу та інтерфейсу, в основному працює навколо тестування цих з'єднань. Більшість інтерфейсів використовують веб-службу або API. Він не завжди має інтерфейс користувача, але він приймає вхідні дані та забезпечує вихідні дані.
як розпочати проект в затемненні
Будучи одним із найбільш широко використовуваних форматів передачі даних, JSON може використовуватися для інтерфейсної передачі даних.
Тестер повинен мати базові знання структури JSON для створення тестових даних (у формі JSON) та зчитування вихідних даних із системи. Тестер також повинен добре обізнатись із зіставленням між ключами JSON та таблицею-стовпцем бази даних.
Будь-який тестувальник, який хоче працювати над тестуванням інтерфейсу, повинен мати чітке знання про керівні принципи ведення бізнесу та правила програми. Тестер також повинен мати достатні знання про базу даних і мати можливість писати прості запити на SQL.
З будь-якого питання чи роз'яснення, будь ласка, зв'яжіться з нами у розділі коментарів.
Підручник No5: Запитання щодо інтерв’ю JSON
Рекомендована література
- Найкращі засоби тестування програмного забезпечення 2021 р. (Інструменти автоматизації тестування якості)
- Тестування баз даних за допомогою JMeter
- Завантажити тестувальник електронних книг
- 40+ найкращих засобів тестування баз даних - Популярні рішення для тестування даних
- Підручник з тестування графічного інтерфейсу: Повна інструкція з тестування інтерфейсу користувача (UI)
- Простий підхід до тестування баз даних XML
- Підручник з тестування сховища даних ETL (повний посібник)
- Що таке тестування інтерфейсу? Знати її типи, стратегію та інструменти