Тестване на уеб приложения: Как да тестваме уебсайт? Видове

⚡ Умно обобщение

Тестването на уеб приложения проверява уебсайта по отношение на функционалност, използваемост, интерфейс, база данни, съвместимост, производителност, сигурност и краудфандингови проверки преди пускането му, така че дефектите да се проявяват по-скоро по време на подготовката, отколкото пред плащащите потребители.

  • 🧱 Първо се запознайте с архитектурата: Едностраничните, многостраничните и прогресивните приложения концентрират риска на различни слоеве.
  • 🔗 Започнете с функционалност: Докажете, че всяка връзка, формуляр, бисквитка и цялостен работен процес се държи правилно, включително отрицателните пътища.
  • ️ Свържете браузърите с операционните системи: Рендирането се променя в Chrome, Firefox, сафари, Windows, macOSи Linux, така че покрийте реалния си трафик.
  • ⚡ Измерете под товар, а не в покой: Базови времена за реакция при нормален трафик, след това напрежение след пика, за да се намери точката на пречупване.
  • 🔐 Запълнете пропуските в сигурността рано: Блокирайте неоторизиран достъп до страници, изтичайте неактивни сесии, принудително криптирайте страници и сканирайте за грешки в инжектирането.
  • 🔁 Автоматизирайте повтаряемото, разгледайте останалото: Регресионен анализ на скриптове и кросбраузърни пакети, резервирайте тестери за оценка на използваемостта.

Преди да разгледаме повече подробности за видовете уеб тестване, нека набързо дефинираме уеб тестването и да видим къде се вписва то в цикъла на доставка.

Какво е тестване на уеб приложения?

Тестване на уеб приложения, или тестване на уебсайтове, е проверка на вашето уеб приложение или уебсайт за потенциални грешки, преди да бъде пуснато онлайн и достъпно за широката общественост. Тестването на уеб приложения проверява функционалността, използваемостта, сигурността, съвместимостта и производителността на уеб приложението или уебсайта.

По време на този етап се проверяват въпроси като сигурността на уеб приложението, функционирането на сайта, достъпът му за хора с увреждания, както и за обикновени потребители, и способността му да обработва трафик.

Уебсайтът не е една програма. Той е стек от: HTML, CSS и JavaСкрипт в браузъра, плюс APIs и бази данни на сървъра. Слой, който преминава самостоятелно, все още може да се провали, след като комуникира със съседа си, така че уеб тестването се нуждае от допълнителни техники.

Видове уеб приложения, които трябва да тествате

Преди да изберете техники, определете архитектурата пред вас. Структурата определя къде се концентрират дефектите и как да разпределите усилията между клиента и сървъра.

Archiтекстура Как се държи Какво означава това за тестването
Приложение на една страница (SPA) Зарежда се веднъж, след което актуализира изгледа без пълно презареждане на страницата. Gmail работи по този начин. Повечето логика се изпраща до браузъра: фокус върху JavaСъстояние на скрипта, динамично рендиране и сесии от страна на клиента.
Многостранично приложение (MPA) Много страници са достигнати по отделен маршрут. URLs, рендирани от страна на сървъра. Често срещано за сайтове за електронна търговия и новини. Навигационните пътища се умножават: тествайте всеки маршрут, формуляр и пренасочване от край до край.
Прогресивно уеб приложение (PWA) Работи като оригинално приложение, използвайки сервизни работници, манифест и обвивка на приложението. Добавете офлайн поведение, остарели кешове, push известия и подкани за инсталиране.

Повечето продукти комбинират тези модели. Проверете с кой от тях имате работа, след което работете върху осемте техники по-долу.

Как да тествате уеб приложение или уебсайт

В софтуерното инженерство могат да се извършат следните типове/техника на тестване в зависимост от вашите изисквания за уеб тестване.

Всяка техника може да се изпълнява ръчно или чрез скрипт, и този избор води до разходи, по-големи от покритието.

Аспект Ръчно тестване Автоматизирано тестване
Най-подходящ за Използваемост и изследователски проверки Регресия, кросбраузър, зареждане на изпълнения
Скорост при повторни бягания Бавно; усилието се повтаря всеки цикъл Бързо; пакетът се повтаря при поискване
Профил на разходите Ниско първоначално плащане, покачване с всяко издание По-високи първоначални разходи, отколкото поддръжка на скриптове

1. Тестване на функционалността на уебсайт

Тестване на функционалността на уебсайт е процес, който включва няколко параметъра за тестване като потребителски интерфейс, API, тестване на бази данни, тестване на сигурността, тестване на клиент и сървър и основни функционалности на уебсайта. Функционалното тестване е много удобно и позволява на потребителите да извършват както ръчно, така и автоматизирано тестване. Извършва се за тестване на функционалностите на всяка функция на уебсайта.

Дейностите по уеб тестване включват:

тест all Връзки във вашите уеб страници работят правилно и се уверете, че няма повредени връзки. Връзките за проверка ще включват –

  • Изходящи връзки
  • Вътрешни връзки
  • Anchor Връзки
  • MailКъм връзки

Тестови форми работят според очакванията. Това ще включва-

  • Скриптовите проверки на формуляра работят според очакванията. Например - ако потребител не попълни задължително поле във формуляр, се показва съобщение за грешка.
  • Проверете дали стойностите по подразбиране се попълват
  • Веднъж изпратени, данните във формулярите се подават към активна база данни или се свързват с работещ имейл адрес
  • Формулярите са оптимално форматирани за по-добра четливост

Тестови бисквитки работят според очакванията. Бисквитките са малки файлове, използвани от уебсайтовете, за да запомнят предимно активни потребителски сесии, така че не е необходимо да влизате всеки път, когато посещавате уебсайт. Тестването на бисквитки ще включва

  • Тестващите бисквитки (сесии) се изтриват или при изчистване на кеша, или при изтичане на валидността им.
  • Изтрийте бисквитките (сесии) и тествайте дали идентификационните данни за вход са поискани при следващото ви посещение на сайта.

Тествайте HTML и CSS за да гарантирате, че търсачките могат лесно да обхождат вашия сайт. Това ще включва

  • Проверка за синтактични грешки
  • Readable Цветови схеми
  • Стандартно съответствие. Уверете се, че се спазват стандарти като W3C, OASIS, IETF, ISO, ECMA или WS-I.

Тествайте бизнес процес– Това ще включва

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

Инструменти, които могат да се използват: QTP , IBM рационално, Selenium

2. Тестване на използваемостта

Тестване за ползваемост сега се превърна в жизненоважна част от всеки уеб базиран проект. Може да бъде извършвани от тестери като теб или малка фокус група подобно на целевата аудитория на уеб приложението.

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

  • Менютата, бутоните или връзките към различни страници на вашия сайт трябва да са лесно видими и последователни на всички уеб страници

тест - съдържание:

  • Съдържанието трябва да е четливо, без правописни или граматически грешки.
  • Изображенията, ако присъстват, трябва да съдържат „алтернативен“ текст

Инструменти, които могат да се използват: Chalkmark, Квадрат на съдържаниетои Clixpy

3. Тестване на интерфейса

След като функционалностите и използваемостта са на ниво, проверете дали нивата зад тях взаимодействат помежду си. Три области, които ще бъдат тествани тук, са – приложение, уеб и сървър на база данни.

  • Приложение: Тестовите заявки се изпращат правилно към базата данни и изходът от страната на клиента се показва правилно. Грешките, ако има такива, трябва да бъдат уловени от приложението и трябва да се показват само на администратора, а не на крайния потребител.
  • Web Server: Тестовият уеб сървър обработва всички заявки за приложения без отказ на услуга.
  • Сървър на база данни: Уверете се, че заявките, изпратени до базата данни, дават очакваните резултати.

Тествайте реакцията на системата когато връзка между трите слоя (Приложение, уеб и база данни) не може да се установи и съответното съобщение се показва на крайния потребител.

Инструменти, които могат да се използват: Ранорекс

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

Базата данни е един критичен компонент на вашето уеб приложение и трябва да се наблегне на нейното цялостно тестване. Тестващите дейности ще включват-

  • Тествайте дали се показват грешки при изпълнение на заявки
  • Дата Integrity се поддържа при създаване, актуализиране или изтриване на данни в база данни.
  • Проверете времето за отговор на заявките и ги настройте фино, ако е необходимо.
  • Тестовите данни, извлечени от вашата база данни, се показват точно във вашето уеб приложение

Инструменти, които могат да се използват: QTP, Selenium

5. Тестване за съвместимост

Тестването за съвместимост гарантира, че вашето уеб приложение се показва и се държи правилно на различни устройства. Това включва:

Тест за съвместимост на браузъра: Един и същ уебсайт в различни браузъри ще се показва по различен начин. Трябва да тествате дали вашето уеб приложение се показва правилно в браузърите, JavaСкриптът, AJAX и удостоверяването работят добре. Можете също да проверите за подвижен Съвместимост на браузъра.

Изобразяването на уеб елементи като бутони, текстови полета и т.н. се променя с промяната Operaтинг система. Уверете се, че вашият уебсайт работи добре за различни комбинации от 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 тръбопровод

посещение Intruder >>

8. Групово тестване

Ще изберете голям брой хора (тълпа), които да изпълнят тестове, които иначе биха били изпълнени от малка вътрешна група. Краудсорсинговото тестване е интересна и перспективна концепция и помага за разкриването на много незабелязани дефекти.

Инструменти, които могат да се използват: Платформа за масово тестване

Процес на тестване на уеб приложения: стъпка по стъпка

Осемте техники ви казват какво да проверите. Процесът по-долу ви казва кога да ги изпълните.

  1. Съберете и изяснете изискванията. Избройте какво трябва да прави приложението и как трябва да се държи. Неясните изисквания водят до непроверими очаквания, така че първо ги разрешете. Тази стъпка закрепва уеб тестването в по-широкия контекст. жизнен цикъл на софтуерно тестване.
  2. Напишете плана за тестване. Решете кои техники са приложими, кой ги изпълнява, кои инструменти са необходими и в какъв срок. Планът е вашата пътна карта и вашата оценка.
  3. Разработете тестови случаи. Превърнете всяко изискване в конкретни стъпки с очаквани резултати, обхващащи както щастливия път, така и негативните сценарии, които потребителите задействат случайно.
  4. Настройте тестовата среда. Огледайте производството възможно най-точно, доколкото позволява бюджетът: същите двойки браузър и операционна система, сравними обеми данни, реалистични мрежови скорости.
  5. Изпълнете тестовете. Изпълнете случаите, запишете действителните спрямо очакваните резултати и заснемете екранни снимки, изход от конзолата и сървърни лог файлове, докато неуспехът е все още възпроизводим.
  6. Доклад и track дефекти. Запишете всяка от тях със стъпките за възпроизвеждане и приоритет, след което тествайте отново след поправката и потвърдете, че нищо наблизо не се е счупило.
  7. Затворете цикъла. Изгответе обобщение на теста, обхващащо какво е тествано, какво е открито, какво остава отворено и какво да се подобри, след което го подпишете за публикуване.

⚠️ Планирайте графика, не само тестовете: Уеб тестването е трудоемко, а натискът от крайни срокове е първото препятствие, с което се сблъсквате, последвано от повтарящи се промени в кода, които обезсилват завършената работа. Дефинирайте всяка задача в стъпка 2 и изградете работна диаграма от нея.

Въпроси и Отговори

Уеб тестването е насочено към комбинации от браузъри и операционни системи, рендериране и сървърни двупосочни процеси. Мобилно тестване добавя хардуер на устройството, пътища за инсталиране и надграждане, прекъсвания като повиквания, изтощаване на батерията, жестове и правила на магазина за приложения.

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

Изкуственият интелект генерира тестови случаи от изисквания, самовъзстановява локаторите при промяна на интерфейса, приоритизира кои пакети се изпълняват след commit и маркира визуални разлики. Инструменти за тестване на AI Приложете това към регресионния анализ и работата между браузъри.

Не. Инструменти за генеративно тестване на изкуствен интелект ускоряват писането на скриптове и сортирането на дефекти, но не могат да преценят дали даден работен процес е объркващ или да решат какво е важно за потребителите. Тестерите все още притежават преценката за използваемост и проучване.

Да. Тестване за достъпност се намира в рамките на работата по използваемостта и проверява навигацията с клавиатура, изхода от екранния четец, цветовия контраст и алтернативния текст спрямо WCAG. На много пазари това е законово изискване, а не допълнителна опция.

Обобщете тази публикация с: