Тестування веб-застосунків: як протестувати веб-сайт? Типи
⚡ Розумний підсумок
Тестування веб-застосунків перевіряє веб-сайт за функціональністю, зручністю використання, інтерфейсом, базою даних, сумісністю, продуктивністю, безпекою та крауд-перевірками перед релізом, тому дефекти проявляються на стадії розробки, а не перед платними користувачами.
Перш ніж ми детальніше розглянемо типи веб-тестування, давайте коротко визначимо веб-тестування та подивимося, яке місце воно займає в циклі доставки.
Що таке тестування веб-застосунків?
Тестування веб-додатків, або тестування веб-сайту, – це перевірка вашої веб-програми або веб-сайту на наявність потенційних помилок, перш ніж вони будуть опубліковані та доступні для широкої публіки. Тестування веб-програм перевіряє функціональність, зручність використання, безпеку, сумісність та продуктивність веб-програми або веб-сайту.
На цьому етапі перевіряються такі питання, як безпека веб-застосунку, функціонування сайту, його доступ для людей з інвалідністю, а також звичайних користувачів, а також його здатність обробляти трафік.
Вебсайт — це не одна програма. Це стек: 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 захищає підприємства будь-якого розміру від хакерів.
Функції
- Найкраще у своєму класі покриття загроз із над 10,000 XNUMX перевірок безпеки
- Перевіряє слабкі місця конфігурації, відсутні патчі, слабкі сторони додатків (наприклад, впровадження SQL і міжсайтовий сценарій) тощо
- Автоматичний аналіз і пріоритезація результатів сканування
- Інтуїтивно зрозумілий інтерфейс, швидке налаштування та виконання перших сканувань
- Проактивний моніторинг безпеки на наявність останніх вразливостей
- AWS, Azure та Google Cloud Роз'єми
- Інтеграція API з конвеєром CI/CD
8. Краудтестування
Ви оберете велику кількість людей (натовп) для виконання тестів, які в іншому випадку виконала б невелика власна група. Краудсорсингове тестування – це цікава та перспективна концепція, яка допомагає розкрити багато непомічених дефектів.
Інструменти, які можна використовувати: Платформа краудтестування
Процес тестування веб-застосунку: крок за кроком
Вісім методів підкажуть вам, що перевіряти. Наведений нижче процес підкаже, коли їх виконувати.
- Зібрати та уточнити вимоги. Перелічіть, що має робити застосунок і як він має поводитися. Неоднозначні вимоги створюють неперевірювані очікування, тому спочатку вирішіть їх. Цей крок закріплює веб-тестування в ширшому контексті. життєвий цикл тестування ПЗ.
- Напишіть план тестування. Визначте, які методи застосовуються, хто їх використовує, які інструменти потрібні та в які терміни. План – це ваша дорожня карта та ваша оцінка.
- Розробляти тестові випадки. Перетворіть кожну вимогу на конкретні кроки з очікуваними результатами, охоплюючи як щасливий шлях, так і негативні сценарії, які користувачі випадково запускають.
- Налаштуйте тестове середовище. Відображайте виробництво максимально точно, наскільки дозволяє бюджет: ті самі пари браузерів та операційних систем, порівнянні обсяги даних, реалістичні швидкості мережі.
- Виконайте тести. Запускайте кейси, порівнюйте фактичні результати з очікуваними, а також робіть знімки екрана, вивід консолі та журнали сервера, поки збій ще відтворюваний.
- Звіт та track дефектів. Занотуйте кожен з них із кроками для відтворення та пріоритетом, а потім повторно протестуйте після виправлення та переконайтеся, що поблизу нічого не зламалося.
- Замкніть цикл. Створіть короткий виклад тесту, що охоплює те, що було протестовано, що було знайдено, що залишається відкритим і що потрібно покращити, а потім підпишіть реліз.
⚠️ Плануйте розклад, а не лише тести: Веб-тестування — це складна справа, а тиск дедлайнів — це перешкода, з якою ви стикаєтеся першою, а потім йдуть повторні зміни коду, які роблять завершену роботу недійсною. Визначте кожне завдання на кроці 2 та побудуйте на його основі робочу діаграму.


