Тестування веб-застосунків: як протестувати веб-сайт? Типи

⚡ Розумний підсумок

Тестування веб-застосунків перевіряє веб-сайт за функціональністю, зручністю використання, інтерфейсом, базою даних, сумісністю, продуктивністю, безпекою та крауд-перевірками перед релізом, тому дефекти проявляються на стадії розробки, а не перед платними користувачами.

  • 🧱 Спочатку ознайомтеся з архітектурою: Односторінкові, багатосторінкові та прогресивні додатки концентрують ризики на різних рівнях.
  • 🔗 Почніть з функціональності: Доведіть, що кожне посилання, форма, файл cookie та наскрізний робочий процес працюють правильно, включаючи негативні шляхи.
  • 🖥️ Поєднання браузерів з операційними системами: Зміни рендерингу в Chrome, Firefox, Сафарі, Windows, macOS, і Linux, тому враховуйте свій реальний склад трафіку.
  • Вимірювання під навантаженням, а не у стані спокою: Базовий час відгуку за нормального трафіку, потім навантаження після перевищення піку для знаходження точки розриву.
  • 🔐 Усунення прогалин у безпеці на ранній стадії: Блокуйте несанкціонований доступ до сторінок, припиняйте дії сеансів очікування, примусово зашифровуйте сторінки та скануйте їх на наявність вразливостей, пов’язаних з ін’єкціями.
  • 🔁 Автоматизуйте повторювані речі, дослідіть решту: Регресійний аналіз скриптів та кросбраузерні пакети, залиште тестувальників для оцінки зручності використання.

Перш ніж ми детальніше розглянемо типи веб-тестування, давайте коротко визначимо веб-тестування та подивимося, яке місце воно займає в циклі доставки.

Що таке тестування веб-застосунків?

Тестування веб-додатків, або тестування веб-сайту, – це перевірка вашої веб-програми або веб-сайту на наявність потенційних помилок, перш ніж вони будуть опубліковані та доступні для широкої публіки. Тестування веб-програм перевіряє функціональність, зручність використання, безпеку, сумісність та продуктивність веб-програми або веб-сайту.

На цьому етапі перевіряються такі питання, як безпека веб-застосунку, функціонування сайту, його доступ для людей з інвалідністю, а також звичайних користувачів, а також його здатність обробляти трафік.

Вебсайт — це не одна програма. Це стек: HTML, CSS та JavaСкрипт у браузері, плюс Інтерфейси та бази даних на сервері. Шар, який проходить сам по собі, все одно може зазнати невдачі після взаємодії зі своїм сусідом, тому веб-тестування потребує додаткових методів.

Типи веб-застосунків, які потрібно протестувати

Перш ніж вибирати методи, визначте архітектуру, яка є перед вами. Структура визначає, де концентруються дефекти та як розподіляються зусилля між клієнтом і сервером.

Archiтектура Як поводиться Що це означає для тестування
Односторінкова програма (SPA) Завантажується один раз, а потім оновлює вигляд без повного перезавантаження сторінки. Gmail працює таким чином. Більшість логіки доставляється до браузера: зосередьтеся на JavaСтан скрипта, динамічний рендеринг та сеанси на стороні клієнта.
Багатосторінкова заявка (MPA) Багато сторінок отримано окремими маршрутами URLs, що відображаються на стороні сервера. Типово для сайтів електронної комерції та новин. Шляхи навігації множаться: перевірте кожен маршрут, форму та перенаправлення від початку до кінця.
Прогресивна веб-програма (PWA) Працює як нативний додаток, використовуючи сервісні працівники, маніфест та оболонку додатка. Додайте поведінку в автономному режимі, застарілі кеші, push-сповіщення та підказки щодо встановлення.

Більшість продуктів поєднують ці патерни. Перевірте, з яким ви маєте справу, а потім опрацюйте вісім методів, описаних нижче.

Як перевірити веб-додаток або веб-сайт

У розробці програмного забезпечення наступні типи/техніки тестування можуть виконуватися залежно від ваших вимог до веб-тестування.

Кожен метод можна запускати вручну або за допомогою скрипта, і цей вибір призводить до більших витрат, ніж покриття.

Аспект Ручне тестування Автоматизоване тестування
Найкраще підходить для Зручність використання та розвідувальний перевірки Регресія, кросбраузерність, завантаження прогонів
Швидкість при повторних заїздах Повільно; зусилля повторюються кожен цикл Швидко; серіал повторюється на вимогу
Профіль витрат Низький початковий розмір, зростає з кожним релізом Вищі початкові витрати, ніж обслуговування скриптів

1. Тестування функціональності сайту

Тестування функціональності сайту це процес, який включає кілька параметрів тестування, як-от інтерфейс користувача, API, тестування бази даних, тестування безпеки, тестування клієнта та сервера та основні функції веб-сайту. Функціональне тестування є дуже зручним і дозволяє користувачам виконувати як ручне, так і автоматичне тестування. Це виконується для перевірки функціональності кожної функції веб-сайту.

Заходи з веб-тестування включають:

Перевірити всі зв'язку на ваших веб-сторінках працюють належним чином і переконайтеся, що немає пошкоджених посилань. Посилання для перевірки включатимуть:

  • Вихідні посилання
  • Внутрішні посилання
  • Anchor Посилання
  • MailДо посилань

Тестові форми працюють, як очікувалося. Це включатиме -

  • Перевірки форми за допомогою сценаріїв працюють належним чином. Наприклад, якщо користувач не заповнює обов’язкове поле у ​​формі, відображається повідомлення про помилку.
  • Перевірте, чи заповнюються значення за замовчуванням
  • Після надсилання дані у формах надсилаються до актуальної бази даних або прив’язуються до робочої електронної адреси
  • Форми оптимально відформатовані для кращої читабельності

Тестові файли cookie працюють, як очікувалося. Файли cookie — це невеликі файли, які веб-сайти використовують для запам’ятовування активних сеансів користувача, тому вам не потрібно входити щоразу, коли ви відвідуєте веб-сайт. Тестування файлів cookie включатиме

  • Тестові файли cookie (сесії) видаляються або після очищення кешу, або після закінчення терміну їх дії.
  • Видаліть файли cookie (сесії) і перевірте, чи запитуються облікові дані для входу під час наступного відвідування сайту.

Перевірте HTML і CSS щоб пошукові системи могли легко сканувати ваш сайт. Це включатиме

  • Перевірка синтаксичних помилок
  • Readable Кольорові схеми
  • Відповідність стандартам. Переконайтеся, що дотримуються таких стандартів, як W3C, OASIS, IETF, ISO, ECMA або WS-I.

Перевірте бізнес-процес– Це включатиме

  • Тестування наскрізного робочого процесу/бізнес-сценаріїв, які проводять користувача через низку веб-сторінок.
  • Також перевірте негативні сценарії, щоб, коли користувач виконує неочікуваний крок, у вашій веб-програмі відображалося відповідне повідомлення про помилку або довідка.

Інструменти, які можна використовувати: QTP , IBM раціональний, Selenium

2. Тестування юзабіліті

Тестування на зручність тепер стала важливою частиною будь-якого веб-проекту. Це може бути здійснюється тестувальниками як ти або мала фокус-група подібні до цільової аудиторії веб-додатку.

Перевірити сайт навігація:

  • Меню, кнопки або посилання на різні сторінки вашого сайту мають бути легко видимими та узгодженими на всіх веб-сторінках

Перевірити зміст:

  • Вміст має бути розбірливим без орфографічних чи граматичних помилок.
  • Зображення, якщо вони є, мають містити текст «alt».

Інструменти, які можна використовувати: Крейдовий знак, Contentsquare, і Clixpy

3. Тестування інтерфейсу

Як тільки функції та зручність використання залишаться на місці, перевірте, чи взаємодіють рівні, що стоять за ними. Тут потрібно протестувати три області: додаток, веб-сайт та сервер бази даних.

  • Застосування: Тестові запити правильно надсилаються до бази даних, а вихідні дані на стороні клієнта відображаються правильно. Помилки, якщо такі є, має виявлятися програмою та показуватися лише адміністратору, а не кінцевому користувачеві.
  • веб-сервер: Тестовий веб-сервер обробляє всі запити програм без будь-якої відмови в обслуговуванні.
  • Сервер бази даних: Переконайтеся, що запити, надіслані до бази даних, дають очікувані результати.

Перевірте відповідь системи коли зв'язок між трьома шарами (Додаток, Інтернет і база даних) неможливо встановити і відповідне повідомлення буде показано кінцевому користувачеві.

Інструменти, які можна використовувати: Ранорекс

4. Тестування бази даних

База даних є одним із критично важливих компонентів вашої веб-програми, і її необхідно ретельно протестувати. Тестування включатиме:

  • Перевірте, чи не відображаються помилки під час виконання запитів
  • дані Integrity зберігається під час створення, оновлення або видалення даних у базі даних.
  • Перевірте час відповіді на запити та налаштуйте їх, якщо необхідно.
  • Тестові дані, отримані з вашої бази даних, точно відображаються у вашій веб-програмі

Інструменти, які можна використовувати: QTP, Selenium

5. Тестування на сумісність

Тестування сумісності гарантує, що ваш веб-застосунок відображається та працює правильно на різних пристроях. Це включає:

Тест на сумісність браузера: той самий веб-сайт у різних браузерах відображатиметься по-різному. Вам потрібно перевірити, чи правильно ваша веб-програма відображається в браузерах, JavaСценарій, AJAX і автентифікація працюють нормально. Ви також можете перевірити Mobile Сумісність з браузером.

Візуалізація веб-елементів, таких як кнопки, текстові поля тощо, змінюється зі змінами Operating System. Переконайтеся, що ваш веб-сайт добре працює для різних комбінацій Operaтакі системи, як Windows, Linux, Mac і такі браузери, як Firefox, Internet Explorer, Safari тощо.

Інструменти, які можна використовувати: Dynatrace

6. Тестування продуктивності

Це забезпечить роботу вашого сайту за будь-яких навантажень. Тестові заходи включатимуть, але не обмежуватимуться:

  • Час відгуку додатка веб-сайту при різних швидкостях з’єднання
  • Перевірте навантаженням свою веб-програму, щоб визначити її поведінку під час нормального та пікового навантаження
  • Стрес-тестуйте свій веб-сайт, щоб визначити його точку переривання, коли навантаження перевищують нормальне значення в час пік.
  • Перевірте, чи відбувається збій через пікове навантаження, як сайт відновлюється після такої події
  • Переконайтеся, що такі методи оптимізації, як стиснення gzip, кеш-пам’ять браузера та сервера, увімкнено, щоб зменшити час завантаження

Інструменти, які можна використовувати: Loadrunner, JMeter

7. Тестування безпеки

Тестування безпеки є життєво важливим для веб-сайтів електронної комерції, які зберігають конфіденційну інформацію про клієнтів, як-от кредитні картки. Тестування включатиме:

  • Тестовий неавторизований доступ до захищених сторінок не повинен бути дозволений
  • Заборонені файли не можна завантажувати без відповідного доступу
  • Сеанси перевірки автоматично припиняються після тривалої бездіяльності користувача
  • У разі використання сертифікатів SSL веб-сайт має перенаправляти на зашифровані сторінки SSL.

Intruder

Intruder це потужний сканер уразливостей, який допоможе вам виявити багато слабких місць у ваших веб-додатках та базовій інфраструктурі. Пропонуючи найкращі в галузі перевірки безпеки, постійний моніторинг і просту у використанні платформу, Intruder захищає підприємства будь-якого розміру від хакерів.

Intruder

Функції

  • Найкраще у своєму класі покриття загроз із над 10,000 XNUMX перевірок безпеки
  • Перевіряє слабкі місця конфігурації, відсутні патчі, слабкі сторони додатків (наприклад, впровадження SQL і міжсайтовий сценарій) тощо
  • Автоматичний аналіз і пріоритезація результатів сканування
  • Інтуїтивно зрозумілий інтерфейс, швидке налаштування та виконання перших сканувань
  • Проактивний моніторинг безпеки на наявність останніх вразливостей
  • AWS, Azure та Google Cloud Роз'єми
  • Інтеграція API з конвеєром CI/CD

Visit Intruder >>

8. Краудтестування

Ви оберете велику кількість людей (натовп) для виконання тестів, які в іншому випадку виконала б невелика власна група. Краудсорсингове тестування – це цікава та перспективна концепція, яка допомагає розкрити багато непомічених дефектів.

Інструменти, які можна використовувати: Платформа краудтестування

Процес тестування веб-застосунку: крок за кроком

Вісім методів підкажуть вам, що перевіряти. Наведений нижче процес підкаже, коли їх виконувати.

  1. Зібрати та уточнити вимоги. Перелічіть, що має робити застосунок і як він має поводитися. Неоднозначні вимоги створюють неперевірювані очікування, тому спочатку вирішіть їх. Цей крок закріплює веб-тестування в ширшому контексті. життєвий цикл тестування ПЗ.
  2. Напишіть план тестування. Визначте, які методи застосовуються, хто їх використовує, які інструменти потрібні та в які терміни. План – це ваша дорожня карта та ваша оцінка.
  3. Розробляти тестові випадки. Перетворіть кожну вимогу на конкретні кроки з очікуваними результатами, охоплюючи як щасливий шлях, так і негативні сценарії, які користувачі випадково запускають.
  4. Налаштуйте тестове середовище. Відображайте виробництво максимально точно, наскільки дозволяє бюджет: ті самі пари браузерів та операційних систем, порівнянні обсяги даних, реалістичні швидкості мережі.
  5. Виконайте тести. Запускайте кейси, порівнюйте фактичні результати з очікуваними, а також робіть знімки екрана, вивід консолі та журнали сервера, поки збій ще відтворюваний.
  6. Звіт та track дефектів. Занотуйте кожен з них із кроками для відтворення та пріоритетом, а потім повторно протестуйте після виправлення та переконайтеся, що поблизу нічого не зламалося.
  7. Замкніть цикл. Створіть короткий виклад тесту, що охоплює те, що було протестовано, що було знайдено, що залишається відкритим і що потрібно покращити, а потім підпишіть реліз.

⚠️ Плануйте розклад, а не лише тести: Веб-тестування — це складна справа, а тиск дедлайнів — це перешкода, з якою ви стикаєтеся першою, а потім йдуть повторні зміни коду, які роблять завершену роботу недійсною. Визначте кожне завдання на кроці 2 та побудуйте на його основі робочу діаграму.

Поширені запитання

Веб-тестування спрямоване на комбінації браузерів та операційних систем, рендеринг та обмін даними з сервером. Мобільне тестування додає апаратне забезпечення пристрою, шляхи встановлення та оновлення, переривання, такі як дзвінки, розрядка акумулятора, жести та правила магазину додатків.

Невідповідність браузерів, різноманітність пристроїв та екранів, динамічні сторінки, що змінюються для кожного користувача, часті релізи, які знову відкривають старі дефекти, та короткі терміни. Пріоритетність на основі реальних даних про трафік та автоматизація регресійних прогонів забезпечують керованість обсягу.

Штучний інтелект генерує тестові випадки з вимог, самостійно відновлює локатори при зміні інтерфейсу, визначає пріоритети запуску наборів після коміту та позначає візуальні відмінності. Інструменти тестування ШІ застосуйте це до регресійного аналізу та кросбраузерної роботи.

Ні. Інструменти генеративного тестування ШІ пришвидшити написання скриптів та сортування дефектів, але не можуть оцінити, чи здається робочий процес заплутаним, або вирішити, що важливо для користувачів. Тестувальники все ще мають право оцінювати зручність використання та досліджувати матеріал.

Так. Тестування доступності знаходиться всередині роботи з юзабіліті та перевіряє навігацію клавіатури, вивід зчитувачем з екрана, контрастність кольорів та альтернативний текст на відповідність WCAG. На багатьох ринках це є законодавчою вимогою, а не додатковим елементом.

Підсумуйте цей пост за допомогою: