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

Функціональне тестування (Functionality Testing)
В рамках функціонального тестування перевіряють валідність посилань, роботу сайту з базою даних, форми, які використовуються на сайті, а також як працюють cookie. Говорячи докладніше про посилання, перевіряють наступне:
- туди ведуть витікаючі посилання;
- правильно чи працюють внутрішні посилання;
- чи є посилання, які ведуть на одні й ті ж сторінки;
- перевірка посилань, які використовуються для відправлення і-мейлів адмінам сайту;
- виявлення сторінок, на які не ведуть посилання;
- визначення зламаних посилань.
При тестуванні форм перевіряють наступне:
- валідність даних, що вводяться;
- допустимі значення вводяться для поля даних;
- неприпустимі значень що вводяться для поля даних;
- опції для форм, в яких можливе видалення або будь-яка інша модифікація даних.
тестування cookies
Cookies це невеликі файли, які зберігаються на машині користувача після відвідування сайту. Зазвичай вони використовуються для залогініванія на сайт. Додаток або сайт тестуються з відключеними або включеними кукис. Тестується, зашифровані чи кукис, перед тим як бути записаними на комп'ютер користувача. Якщо кукіси мають тривалість дії, то тестується діють вони в цей самий період часу. Також варто перевірити аспекти безпеки при видаленні «печенек».
Перевірка HTML / CSS
Тестування HTML / CSS важливо якщо ви оптимізуєте сайт під пошукові машини. В основному тестуються помилки синтаксису HTML. Також перевіряється, чи доступний сайт для пошукових роботів.
Перевірка бази даних
Стан даних дуже важливо для веб-додатки. Тому слід перевіряти бази даних на наявність помилок під час редагування, видалення, зміни, які пов'язані з функціонуванням бази даних. Перевірте, чи всі запити до баз даних працюють коректно.
Функціональне тестування може здійснюватися як ручним методом, так і з застосуванням інструментів для автоматизації.
Тестування зручності використання (Usability Testing)
В рамках тестування юзабіліті перевіряють наскільки легко здійснюється навігація по сайту, чи зручні кнопки, форми і поля для використання, чи правильно складені меню і рубрики, легко чи користувачу орієнтуватися на сайті в загальному. Чи оптимальна колірна палітра сайту, розмір шрифтів і тому подібні моменти, що стосуються оформлення.
Проводиться і перевірка контенту. Перш за все на наявність граматичних помилок, але не тільки. Контент повинен бути інформативний, зрозумілий, структурований і логічно пов'язаний. Якщо на сайті є будь-які інструкції, то вони повинні бути зрозумілі і містити коректну інформацію.
Тестування інтерфейсу (Interface Testing)
У нашому випадку основними є:
- веб-сервер і інтерфейс сервера додатки;
- сервер додатки і інтерфейс бази даних;
Необхідно перевірити, всі дії між цими серверами працюють правильно. Чи правильно обробляються помилки. Якщо база даних або веб-сервер повертає якесь повідомлення про помилку будь-якого запиту додатки, то сервер додатка повинен фіксувати і показувати ці помилки користувачеві. В рамках цих тестів перевіряється, що трапляється, якщо користувач перериває транзакції між серверами. Також перевіряється, що трапляється, якщо між зв'язок з веб-сервером переривається.
Перевірка сумісності (Compatibility Testing)
Під тестуванням сумісності перевіряється як працює додаток або веб-сайт під різними операційними системами і браузерами. Розглянемо різні рівні сумісності окремо.
Сумісність з операційною системою
Частина функціоналу вашого застосування може бути несумісною з усіма операційними системами. Деякі нові технології, які використовуються в веб-девелопменті, наприклад, елементи дизайну графіки, або різні API, можуть не працювати для різних операційних систем. Тому програма має бути протестовано на основних операційних системах, таких як Windows, Unix, MAC, Linux, iOS і т.д.
Сумісність з браузером
Одна з найбільш важливих складових веб-тестування. На сьогоднішній день існує декілька популярних браузерів - FireFox, Opera, Chrome, Netscape, Safari, AOL, навіть Internet Explorer ще не зовсім здав свої позиції. Деякі додатки дуже залежні від браузерів. Різні браузери мають різні конфігурації і установки, з якими ваша сторінка в мережі повинні бути сумісна. Сайт повинен бути кросбраузерності. Якщо ви використовуєте JS або AJAX для забезпечення функціонування UI, перевіряючи безпеку або валідацію, то приділіть більше уваги сумісності браузера при тестуванні вашого веб-додатки. Оскільки в останні роки ринок мобільних пристроїв переживає бум тестування на додатки або сайту на мобільних браузерах є обов'язковим.
Тестування продуктивності (Performance Testing)
Мобільні додатки і сайти повинні витримувати високі навантаження. Виділяють два види перевірки продуктивності, які потрібно провести для веб-додатки або сайту:
- тестування навантаження: в рамках цього тесту перевіряється, що відбувається, коли велика кількість користувачів запитують ту ж сторінку. З'ясовується, чи може сайт або додаток витримати значну кількість однотипних запитів, велика кількість вхідних даних і під'єднання до бази даних;
- стрес-тест: в загальному випадку під цим мають на увазі навантаження, які виходять за рамки визначених у вимогах. Найчастіше метою стрес-тесту є «покласти» сайт, для того щоб подивитися як система реагує на високі навантаження і як потім відновлюється після збою. В ході таких тестів навантажують поля введення даних, включаючи реєстрацію і логін в систему.
Як і у випадку з сумісністю, обидва типи тестування проводять для різних операційних систем і браузерів.
Тестування безпеки (Security Testing)
Останнє за списком, але не менш важливе. Про важливість цього аспекту роботи системи довго говорити не варто, тому перерахуємо деякі конкретні речі, які варто перевіряти:
- План навчання. Часть №2. Автоматизація тестування