Питання №1 Що таке API?
API (Application Programming Interface пер. з анг. інтерфейс прикладного програмування) — це набір процедур, протоколів і інструментів взаємодії, для створення програмних додатків. Тобто API — це набір програмних функцій, які можуть бути виконані іншою програмою. API визначає, як одна програма повинна взаємодіяти з цією іншою, діє як інтерфейс між ними, дозволяє їм спілкуватися. Ось, а тестування цих функцій якраз називається тестуванням API.
Хороше API повинне мати чітко описану документацію як саме взаємодіяти з програмою до якої це API створене.
На технічній співбеседі можуть попросити назвати деякі приклади API, як приклад — це API Google Карти, API Amazon Advertising, API Twitter, API YouTube тощо.
Коротко Про API І Його Тестування — читайте допис також на нашому сайті тестувальників
Питання №2 А що таке ІР ?
IP-адреса — це унікальна адреса користувача у мережі, мережевий вузол комп’ютерної мережі, побудований на стеку протоколів TCP / IP. В мережі інтернет вимагається глобальна унікальність адреси; у випадку роботи в межах локальної мережі вимагається унікальна адреса в межах цієї мережі. У версії протоколу IPv4 IP — адреса має довжину 4 байта, а у версії протоколу IPv6 IP — адреса має довжину 16 байт. Зазвичай IP-адреса протоколу IPv4 записується цілими десятковими числами зі значеннями від 0 до 255, розділених крапками, наприклад, 192.168.0.3.
Питання №3 Які основні відмінності між API та Web service?
- Усі web services — це API, але не всі API — це web services.
- Web services можуть не містити всіх специфікацій, на відміну від API та не можуть виконувати всі завдання, які виконуватимуть API.
- Web services використовує тільки три стилі використання: SOAP, REST і XML-RPC для зв’язку, тоді як API може використовувати будь-який стиль для зв’язку, наприклад, DLL — файлів в C / C ++, Jar файли / RMI в Java, Переривання в Linux ядро API тощо.
- Web services завжди потрібен вихід до мережі для роботи, тоді як API працюють без мережі.
- API спрощує взаємодію безпосередньо з додатком, тоді як web services не має засобів, безпосередньо пов’язаних з будь-яким додатком.
Питання №4 Які існують обмеження для використання API?
Більшість API мають обмеження щодо використання, встановлені його провайдером. Скажімо: обмеження на кількість запитів, на обсяг завантажених даних, встановлені терміни тиждень, місяць, безкоштовні або комерційні пакети використання API. Таким чином, якщо ми проектуємо додаток, слід перераховані моменти брати до уваги, щоб розуміти як це впливатиме на загальну вартість аплікації.
За цим посиланням для прикдаду пропонуємо ознайомитися з обмеженнями у використанні АРІ фейсбуку.
Питання №5 За допомогою яких архітектурних стилів створюються Web-API?
Це одне з основних питань на співбесідах тестувальникам QA з API Testing. Загалом виділяють чотири загальних архітектурних стилі веб-API:
- HTTP для зв’язку клієнт-сервер;
- XML / JSON для форматування;
- Простий URI як адреса для сервісів;
- Комунікація без зазначення статусу.
Питання №6 Хто може використовувати Web-API?
Web-API може бути використуваний будь-якими клієнтами, які підтримують HTTP-методи, такі як GET, PUT, DELETE, POST. Оскільки послуги Web API не вимагають підключення до всесвітньої мережі, їх може легко використовувати будь-який клієнт. Насправді, навіть портативні пристрої, наприклад, мобільні, можуть легко використовувати Web API, що, безсумнівно, є найбільшою перевагою цієї технології.
Питання №7 Що таке домен?
Домен — це адреса сайту або визначена зона, ім’я сайту не схоже на інше ім’я. То Важливо доменне ім’я повинне бути унікальним у системі доменних імен. Домени бувають першого рівня, другого рівня, третього рівня і т.д. Домен першого рівня не завжди є доступний звичайним користувачам для реєстрації (приклади доменів першого рівня — “.uа”, “.com”, “.net”). Напр. для реєстрації домену “.uа” потрібно володіти зареєстрованою торговою маркою. Домени 3-го й наступних рівнів називаються субдоменами.
Питання №8 Що таке хостинг?
Хост — це визначений комп’ютер або сервер, підключений до локальної або глобальної мережі. Хост володіє унікальними адресами в сервісі TCP / IP (IP-адреси).
Питання №9 Що таке тестування API Testing?
Тестування API (за посиланням ще одна гарна стаття із туторіалу документації тулзи Katalon) Отже, Тестування API (API Testing) — це тестування програмного забезпечення, яке визначає, чи розроблені API відповідають очікуванням щодо функціональності, надійності, продуктивності та безпеки програми.
Питання №10 Які переваги тестування API?
На технічному інтерв’ю по API Testing Вас, ДУЖЕ ймовірно, що запитають про переваги тестування API. Тож будьте готові до таких визначень, як:
- Ми можемо протестувати основну фунціональність програми на самих ранніх етапах створення аплікації, задовго до написання графічної оболонки: Тестування API забезпечує доступ до програми без інтерфейсу користувача. Це допоможе заздалегідь виявити значні проблеми, проте які можна легко пофіксити, доки правки не стали більш громіздкими вже на стадії тестування графічного інтерфейсу користувача.
- Часова ефективність: API Testing зазвичай потребує менше часу, аніж функціональне тестування графічного інтерфейсу (GUI testing). Веб-елементи в процесі тестування графічного інтерфейсу опрацьовуються повільніше. Зокрема, автоматизація тестування API вимагає менше коду, щоб забезпечити краще і швидше тестове покриття порівняно з автоматизацією GUI тестів графічного інтерфейсу користувача. А це економія коштів для проекту тестування.
- Незалежність від мови програмування: В тестуванні API (API Testing) дані обмінюються за допомогою XML або JSON. Ці формати передачі є повністю незалежними від певної мови програмування, що дозволяє користувачам вибирати будь-яку мову коду при замовленні послуг тестування API для проекту.
- Проста інтеграція з GUI: тести API можуть бути легко інтегровані, що особливо корисно, якщо Ви хочете виконувати функціональні тести графічного інтерфейсу користувача після тестування API. Наприклад, проста інтеграція дозволить створити нові облікові записи користувачів у програмі перед запуском тесту графічного інтерфейсу користувача.
- Можливість виконувати тести на великих об’ємах вхідних даних.
- Тестування API (API Testing) допомагає зменшити різноманітні ризики.
Питання №11 Які основні тести у API Testing?
- Перевірка через API чи проходить оновлення будь-якої структури даних.
- Перевірка, чи API не повертає нічого зайвого?
- Навпаки на основі вхідних умов перевіряються повернуті значення з API?
- Перевіряємо через API, чи викликає наша перевірка іншу подію або викликає якись інший API.
Питання №12 Як налаштовується тестове середовище для тестування API (API Testing)?
Налаштування тестового середовища API є не простим завданням. Це обумовлене тим, що тестове середовище API є масштабним і вимагає конфігурації бази даних і сервера, залежно від вимог програмного забезпечення. Проте, немає необхідності в графічному інтерфейсі користувача.
Після завершення процесу встановлення, API перевіряється на коректність операцій. Протягом усього процесу, API викликається з внутрішнього середовища залежності різних параметрів для вивчення результатів тестування.
Питання №13 Які принципи необхідно враховувати при створенні тест-дизайну API?
Виділяють п’ять найважливіших етапів в побудові тесту API:
- Налаштування (Setup): створення об’єктів, запуск сервісів, ініціалізація даних тощо;
- Виконання (Execution): кроки виконання тестового сценарію тестування API, включаючи реєстрацію;
- Перевірка (Verification): оцінка даних результату виконання;
- Результат тесту (Reporting): складено (Pass), провалено (failed) або неможливо (blocked);
- Очищення (Pre-test): повернення дотестового стану.
Питання №14 Які популярні типи тестування API знаєте?
Не можливо остаточно визначити перелік усіх типів тестування API, але існує дев’ять основних категорій, які слід запам’ятати, оскільки вони охоплюють тестування API:
- Validation Testing (Тестування перевірки);
- Functional Testing (Функціональне тестування);
- UI testing (Тестування інтерфейсу користувача);
- Load testing (Навантажувальне тестування);
- Runtime/ Error Detection (Час виконання / визначення помилки);
- Security testing (Тестування безпеки);
- Penetration testing (Тестування на проникнення);
- Fuzz testing (Fuzz-тестування або fuzzing);
- Interoperability and WS Compliance testing (Тестування сумісності та перевірки відповідності web-сервісу).
Більше про види тестування можна дізнатися із шпаргалки :
- Види Тестування Та Відмінності Між Ними — Шпаргалка З Тестування (Частина 4)
- Види Тестування — Super-Puper Шпаргалка Тестувальнику На Співбесіду (Частина 5)
Питання №15 Яка процедура проведення тестування API (API Testing Steps)?
- Виберіть test suite, щоб додати API тест-кейс;
- Виберіть вже окремі test case, які необхідно виконати.
- Для проходження серії тестових випадків відконфігуруйте параметри API.
- Для виконання тестового випадку налаштуйте параметри API.
- Визначте, яким чином Ви будете валідувати, оцінювати успішність тесту.
- Виконайте свій виклик API.
- Дозвольте виклику API повертати дані перевірки.
- Перевірте тестові звіти та відсортуйте API тест-кейси.
Питання №16 Що необхідно перевіряти, коли виконується тестування API?
Під час процесу тестування API, запит на API передається з відомими даними. Таким чином можна проаналізувати валідацію відповіді. Під час тестування API слід враховувати:
- Точність даних;
- Схема валідації;
- Статус коди HTTP;
- Тип даних, валідація, порядок і повнота;
- Авторизаційні перевірки;
- Реалізація тайм-ауту відповіді;
- Коди помилок у випадку повернення API;
- Нефункціональне тестування як тестування продуктивності та безпеки.
Питання №17 Які фактори є найзначущими для виконання тестування API?
Під час тестування API слід враховувати такі фактори:
- Визначення правильних вхідних параметрів;
- Верифікація запитів двох чи більше значення вхідних параметрів;
- Визначення основної функціональності та скоупу(scope) програми API;
- Написання відповідних підходящих API тест-кейсів, вибір тест-дизайнів тестування, таких як клас еквівалентності, граничне значення тощо для перевірки працездатності;
- Виконання тест-кейсів;
- Порівняння результату тесту з очікуваним результатом;
- Верифікація поведінки API при умові підключення до файлів тощо.
Питання №18 Назвіть кілька інструментів для тестування API?
Деякі з популярних інструментів, які використовуються для тестування API:
- Postman
- Katalon Studio
- SoapUI
- Assertible
- Tricentis Tosca
- Apigee
- JMeter
- Rest-Assured
- Karate DSL
- API Fortress
- Parasoft
- HP QTP(UFT)
- vREST
- Airborne
- API Science
- APIary Inspector
- Citrus Framework
- Hippie-Swagger
- HttpMaster Express
- Mockbin
- Ping API
- Pyresttest
- Rest Console
- RoboHydra Server
- SOAP Sonar
- Unirest
- WebInject
Питання №19 Які відмінності між API Testing і UI Testing?
API дозволяє комунікувати 2-ом окремим програмним системам. Програмна система, що реалізує API, містить функції або підпрограми, які можуть виконуватися іншою системою програмного забезпечення. Основна увага приділяється бекенду програми.
З іншого боку, UI ( User Interface) testing стосується тестування графічного інтерфейсу, такого як взаємодія користувачів з додатками, тестування елементів додатків, таких як шрифти, зображення, макети тощо. Тестування інтерфейсу в основному зосереджується на зовнішньому вигляді програми. Основна увага зосереджена на перевірці зовнішнього вигляду програми.
Питання №20 Які основні проблеми виникають при тестуванні API?
Перераховуємо деякі з проблем, з якими найчастіше стикаються тестувальники під час тестування API:
- Вибір правильних параметрів;
- Комбінація цих параметрів;
- Правильна класифікація параметрів;
- Потрібна відповідна послідовність викликів, оскільки це може призвести до недостатнього покриття тестами;
- Веріфікація та валідація вихідних даних;
- Через відсутність графічного інтерфейсу буває досить складно «пропхати» вхідні значення.
Питання №21 Які методи тестування підпадають під тестування API?
Методи тестування (види тестування) — це одне з найбільш поширених запитань на співбесідах QA.
Зазвичай, тестування API може поєднувати:
- Unit testing and Functional testing;
- Load testing перевірки продуктивності під навантаженням (performance);
- Usability and Reliability testing — тестування зручності та надійності для отримання послідовних результатів;
- Security and Penetration testing — тестування безпеки та проникнення для перевірки всіх типів аутентифікації;
- Automation testing — тестування автоматизації для створення та виконання сценаріїв, які вимагають регулярних викликів API;
- End to end Integration and Web UI testing;
- API documentation testing — тестування документації API для визначення рентабельності та планової ефективності від програми. Візьміть до уваги пірамідку:
Питання №22 Чому тестування API йде поряд з автоматизованим тестуванням?
Тестування API має перевагу над GUI testing тестуванням графічного інтерфейсу, оскільки:
- Тестування API дуже ефективно перевіряє всі функціональні складові тестованої системи.
- Тестування API забезпечує найбільш стабільний інтерфейс.
- Тестування API легше організувати та цей вид тестування надає швидший зворотний зв’язок.
Питання №23 Які поширені помилки (bugs) можна виявити API тестуванням?
- Помилки відсутньості якогось елементу в системі, як при Unit тестуванні;
- Помилки документації;
- Помилки валідації параметрів;
- Відсутня або повторювана функціональність;
- Система не повідомляє помилок, API тести пробігають повз помилок або ж… помилки очікування, якщо попереджувальне повідомлення ні туди ні сюди, тобто неправильні помилки;
- Непослідовність обробки помилок;
- Невикористані прапорці;
- Проблеми продуктивності;
- Багатопоточності;
- Stress тестування;
- Reliability — надійності системи;
- Security.
Питання №24 Як працює API Builder?
Що таке є API Builder? API Builder — це програма PLSQL, що складається з чотирьох файлів SQ.
- Встановленню параметрів API і запуску процесу відповідає один файл
- Далі створюються два файли для тимчасових таблиць і пакет Master для створення виведеного коду
- Четвертий файл створює “буферне” виводження коду до файла з назвою “output_script_.sql”
Питання №25 Поясніть, що таке TestApi?
TestApi — це бібліотека утилітів і тестових API, що дозволяє тестерам і розробникам створювати засоби тестування і автоматизовані тести для додатків .NET і Win32. Задає набір загальних блоків тестування, типів, структури даних і алгоритмів.
Питання №26 Що таке API-тестування з runcope?
Runscope — це веб-додаток, що надає сервісні засоби та простий у використанні інтерфейс для тестування API.
Питання №27 Щотаке API framework?
Фреймворк по суті це є конфігураційний файл з підфайлами. Автоматизовані тести повинні бути представлені у форматі “parse-table” у ньому. Під час тестування API не потрібно тестувати кожен API, тому фреймворку передбачений певний розділ, у якому всі API активовані для цього конкретного запуску.
Питання №28 Що таке Input injection?
Input Injection: це акт моделювання вводу користувача, кількома способами, якими можна імітувати вхід користувача.
- Прямий виклик методу
- Виклик accessibility interface
- Simulation using low-level input
- Simulation using a device driver
- Simulation using a robot
Питання №29 Назвіть деякі загальні протоколи, які використовуються в тестуванні API?
Перераховуємо деякі протоколи, які використовуються у тестуванні API:
- HTTP
- REST
- SOAP
- JMS
- UDDI
Питання №30 Які інструменти використовуються для автоматизації тестування API?
Під час тестування підрозділів і API обох цільових вихідних кодів, якщо метод API використовує код, заснований на .NET, інструмент, який підтримує, повинен мати .NET
Можна використовувати такі засоби автоматизації для тестування API:
- NUnit для .NET
- JUnit для Java
- HP UFT
- Soap UI
Питання №31 Що таке документація API?
Документація API — це максимально повна техінструкція, що дає вказівки стосовно того, як ефективно використовувати та інтегруватися з API цієї програми. Такий собі компактний довідник, який містить всю інформацію, необхідну для роботи з API, і допомагає відповісти на всі питання тестування цього API, деталізуючи функції, класи, типи запитів, аргументи, а також приклади та технічні завдання.
Стандартно документація складається з таких пунктів:
Description: опис того, що робить API функція.
Syntax: синтаксис параметрів коду, послідовність, необхідні та необов’язкові елементи тощо.
Parameters: параметри функцій
Error Messages: синтаксис повідомлень про помилки
Example Code: невеликий фрагмент коду для прикладу використання API
Related Links: пов’язані функції
Syntax: синтаксис параметрів коду, послідовність, необхідні та необов’язкові елементи тощо.
Parameters: параметри функцій
Error Messages: синтаксис повідомлень про помилки
Example Code: невеликий фрагмент коду для прикладу використання API
Related Links: пов’язані функції
Популярними інструментами, які використовуються для документування API, є JavaDoc (для коду Java) Doxygen (для коду .Net) наприклад.
Питання №32 Які шаблони документації API використовуються?
Існує кілька доступних шаблонів документації API, які допомагають зробити весь процес тестування API простим і прямолінійним:
- Swagger
- Miredot
- Slate
- FlatDoc
- API blueprint
- RestDoc
- Web service API specification
Питання №33 Якщо Вам доведеться, що потрібно враховувати при складанні API документації?
- Джерело контенту
- Попередній обговорений з командою ескіз
- Delivery макет
- Інформація по кожній функціональності документу
- Чому б не користуватися спец програмами для автоматичного створення документації?
Питання №34 Як часто змінюються API ?
По різному. API, особливо сучасні RESTful API, є чудовою розробкою, яка спрощує та прискорює інтеграцію. Це робить API REST більш пристосованим під умови, що змінюються. Але API можуть змінюються з різних причин, іноді різко, скажімо комерційних причин. Отже, API REST не відрізняється від традиційних інструментів інтеграції в цьому відношенні. І однозначно, якщо запит на API перестає вживатися — значить він застарілий і потрібно припиняти його підтримку.
Питання №35 Що таке REST?
REST (Representational State Transfer, передача репрезентативного стану) згідно Вікіпедії це підхід до архітектури мережевих протоколів, які забезпечують доступ до інформаційних ресурсів. Він базується на підгрунті, де кожен компонент є окремим ресурсом, до якого можна отримати доступ через спільний інтерфейс, використовуючи стандартні методи HTTP. У архітектурі REST сервер REST надає доступ до ресурсів і доступ до клієнта REST, та робить ці ресурси доступними. Тут кожен ресурс ідентифікується за допомогою уніфікованого ідентифікатора ресурсів (URI) або глобальних ідентифікаторів, а REST використовує декілька способів представлення ресурсу, наприклад, тексту, JSON і XML. XML і JSON сьогодні є найбільш популярними форматами обміну даними.
Питання №36 Що таке RESTFul Web Services?
Їх існує два види:
- SOAP (Simple Object Access Protocol) — це метод на основі XML для обміну структурованими повідомленнями, а також для реалізації віддаленого виклику процедур.
- RESTful web services — використовують методи HTTP для реалізації концепції архітектури REST. Веб-служба RESTful зазвичай визначає URI (Uniform Resource Identifier) ресурсу, забеспечує подання ресурсів типу JSON і набір методів HTTP.
Питання №37 Що таке Web Services?
Web Services, Веб-служба, Веб-сервіс — це ідентифікована веб-адресою програмна система зі стандартизованими інтерфейсами, складова сервер-орієнтованої архітектури додатку. Веб-служби кросплатформенні й можуть взаємодіяти між собою і зі сторонніми додатками шляхом відправки повідомлень на певних протоколах (SOAP, XML-RPC, REST і т.д.)
До характеристик веб-сервісів відносять: функціональну сумісність, продуктивність, надійність, можливість розширюватися.
Питання №38 Що являє собою «Resource» в REST?
Resource може бути довільною сутністю. Архітектура REST розглядає будь-який контент як ресурс, який може бути як текстовими файлами, HTML-сторінками, зображеннями, відео або динамічною бізнес інформацією. REST Server надає доступ до ресурсів і змінює їх, де кожен ресурс ідентифікується за допомогою URI чи глобальних ідентифікаторів.
Питання №39 Який найпопулярніший спосіб представити ресурс в REST?
REST використовує різні форми дляпредставлення ресурсів, найпопулярніші: текст, JSON і XML. XML і JSON є найбільш популярними формами подання ресурсів.
Питання №40 Який протокол використовується веб-службами RESTful?
Веб-служби RESTful використовують протокол HTTP як посередник між клієнтом і сервером.
Питання №41 Які ключові характеристики REST?
До архітектури REST висуваються шість головних вимог, які наведено нижче:
Уніфікований інтерфейс: інтерфейс компонентів повинен бути однаковим. Це досягається завдяки використанню стандарту URI для ідентифікації ресурсів – іншими словами, шляхів, які могли би бути набрані в адресному рядку браузера.
Клієнт-Сервер: сервер та клієнт виконують різні завдання: сервер зберігає дані та виконує з ними маніпуляції, а клієнт відправляє запити та відображує відповіді.
Взаємодія без запам’ятовування стану: вся інформація про кожний запит міститься у ньому самому та не залежить від стану сесії.
Можливість використання кеш-пам’яті: клієнт та сервер можуть гешувати ресурси.
Багаторівнева система: клієнт може підключатися до кінцевого сервера або проміжного шару на зразок компенсатора (* інструмент для ефективного розподілення трафіку, що надходить до групи серверів).
Отримання коду за запитом (Не обов’язково): клієнт може завантажити код, завдяки чому знижується його видимість у мережі.
Дуже класна стаття з блогу по Node.js (послання тут тисни), яка пояснює усе більш детально.
Питання №42 Що таке обмін повідомленнями у RESTful Web services?
Веб-служби RESTful використовують протокол HTTP як інструмент комунікації між клієнтом і сервером. Технічно, це коли клієнт надсилає запит у вигляді HTTP-запиту, а сервер посилає назад HTTP-відповідь під назвою Messaging. Ці повідомлення містять власне інформацію і метадані, тобто інформацію про це повідомлення.
Питання №43 Які основні компоненти HTTP-запиту?
Запит HTTP містить п’ять ключових елементів:
- Дія, що представлена методами HTTP, такими як GET, PUT, POST, DELETE.
- Уніфікований ідентифікатор ресурсу (URI), який є ідентифікатором ресурсу на сервері.
- HTTP Версія, яка вказує на версію HTTP, наприклад, HTTP v1.1.
- Заголовок запиту, який передає метадані (як пари ключ-значення) для повідомлення HTTP-запиту. Метаданими можуть бути тип клієнта (або браузера), формат, який підтримує клієнт, формат формату повідомлення, налаштування кешу тощо.
- Тіло запиту, який містить контент повідомлення або відображення ресурсу.
Питання №44 Які найбільш часто використовувані методи HTTP підтримуються REST?
- GET використовується тільки для запиту даних із зазначеного ресурсу. Отримані запити можна кешувати і класти в закладки. Він залишається в історії браузера і має обмежену довжину. Запити GET ніколи не повинні використовуватися при роботі з конфіденційними даними.
- POST використовується для передачі даних на сервер для створення / оновлення ресурсу. POST-запити ніколи не кешуються і не зберігаються в закладках та не залишаються в історії браузера.
- PUT замінює всі поточні відображення цільового ресурсу з корисним навантаженням запиту.
- DELETE видаляє вказаний ресурс.
- OPTIONS використовується для опису варіантів зв’язку для цільового ресурсу.
- HEAD запитує відповідь, ідентичну запиту GET, але без тіла відповіді.
Яка різниця між вище переліченими методами?
Питання №45 Чи може GET-запит бути використаний замість PUT для створення ресурсу?
Ні не можна. Для створення ресурсу слід використовувати метод PUT або POST. GET використовується тільки для запиту даних із зазначеного ресурсу.
Питання №46 Чи існує різниця між операціями PUT і POST?
Операції PUT і POST досить схожі, за винятком термінів результату, що генерується ними.
Відповіді перації PUT можна кешувати, а ось відповіді на операцію POST не кешуються, і якщо Ви повторите запит N разів, отримаєте N ресурсів з N різних URI, створених на сервері.
POST змінює дані з ідентифікатором {id}, можливо замінює їх. Дані так само передаються в тілі запиту, але на відміну від PUT тут є певний нюанс. Справа в тому, що POST-запит має на увазі наявність urldecoded-post-data. Тобто якщо не застосовувати кодування — це порушення стандарту. Тут хто як хоче — деякі не звертають уваги на стандарт, деякі використовують якусь post-змінну.
На співбесіді з тестування веб-API, Вам краще навести конкретний приклад для операцій PUT і POST, щоб пояснити свою відповідь.
Нижче наведено приклад:
Сценарій: Припустимо, ми розробляємо мережеву програму. Давайте перерахуємо декілька URI і їх призначення, щоб дізнатися, коли використовувати POST і коли використовувати операції PUT.
GET / device-management / devices: Отримати всі пристрої
POST / device-management / devices: Створити новий пристрій
GET / device-management / devices / {id}: Отримати інформацію про пристрій, ідентифікований за допомогою “id”
PUT / device-management / devices / {id}: Оновити інформацію про пристрій, ідентифікований за допомогою “id”
DELETE / device-management / devices / {id}: Видалити пристрій, ідентифікований за допомогою”id”
Питання №47 Для якої мети потрібен метод OPTIONS RESTful Web services?
Метод OPTIONS це метод list -а перелічує всі операції які підтримує веб-сервіс. Він створює на сервері лише запити.
Питання №48 Що таке URI?
URI ( Uniform Resource Identifier) — уніфікований ідентифікатор ресурсу. Це рядок символів, призначених для однозначної ідентифікації ресурсів і розширюваності за схемою URI.
Метою створення URI було пошук ресурсу (ресурсів) на сервері хостингу web service.
Формат URI — це <protocol>: // <name-name> / <ResourceType> / <ResourceID>
Питання №49 Що таке корисне навантаження в RESTful Web services?
“Корисне навантаження” — це дані, задля яких, власне, і робиться передача повідомлення. Це зміст повідомлення без службової інформації, така як HTTP/S Request/Response headers, authentication.
Питання №50 Яка верхня межа передачі методом POST?
<GET> додає дані до URL-адреси. Розмір не повинен перевищувати максимальну довжину URL-адреси. Однак <POST> не має такого обмеження.
Таким чином, теоретично користувач може передавати необмежені дані як метод корисного навантаження за допомогою методу POST. Але, якщо розглядати реальний випадок використання, то надсилання POST з великим корисним навантаженням буде споживати більше пропускної здатності. Це займе більше часу і викличе проблеми з продуктивністю сервера. Таким чином, користувач повинен буде раціоналізувати потреби та вжити відповідних заходів.
Питання №51 Що таке механізм кешування?
Кешування — це механізм тимчасового зберігання даних і отримання даних з високопродуктивного сховища (зазвичай, сховища пам’яті) явно або неявно.
Коли застосовується механізм кешування, це допомагає підвищити швидкість опрацювання запитів, зберігаючи копію запитаного активу та пізніше доступ до кешованої копії відповіді замість повтороного завантаження оригіналу відповіді.
Питання №52 Що таке Socket -и?
Згідно Вікіпедії Сокети (англ. socket – заглиблення, гніздо, роз’єм) — назва програмного інтерфейсу для забезпечення обміну даними між процесами. Сокети — це зв’язка IP-адреса + порт, що дозволяє з зовнішньої мережі однозначно ідентифікувати програму на комп’ютері або сервері. Такий собі маячок.
Питання №53 Які відмінності між тестуванням API та Unit тестуванням?
Тестування API | Unit тестування |
Проводиться командою тестувальників | Проводиться командою розробників |
Є переважно тестуванням чорного ящику | Є тестування білого ящику |
В тестуванні API розглядається повна фунціональність системи, оскільки вона буде використовуватися кінцевим користувачем (зовнішними розробниками, які використовують ваш API) | Модульне тестування здійснюється з метою перевірити, чи виконується кожен кожен блок ізольовано від інших так, як очикувалось, чи ні |
Тестування API виконується після того, як збірка готова, і автори не мають доступу до вихідного коду | Для кожного модулю окремо проводиться модульне тестування, щоб переконатися, що кожен модуль проходить тестування до того, як код буде включено до збірки |
Вихідний код не бере участь у тестуванні API | Вихідний код бере участь у модульному тестуванні |
Масштаби тестування API є широкими, тому всі питання, які є функціональними, розглядаються для тестування | У модульному тестуванні обсяг тестування обмежений, тому для тестування розглядаються лише основні функціональні можливості |
Питання №54 Що таке SOAP Web services?
SOAP (Simple Object Access Protocol) — це протокол обміну структурованими повідомленнями на основі довільних повідомлень XML. SOAP є незалежним від платформ чи мов програмування. Відомий у проектуванні та розробці веб-сервісів у якості забезпечення зв’язку між додатками, які написані на різних мовах програмування або ж розробленими на різних платформах у інтернеті.
Першочергово SOAP призначався для реалізації віддаленого виклику процедур (RPC). Сьогодні SOAP є розширенням протоколу XML-RPC. SOAP може використовуватися з протоколами: SMTP, POP3, FTP, HTTP, HTTPS та іншими. Але взаємодія з кожним із цих пропоколів характеризується певними особливостями.
Коментарі
Дописати коментар