Как да тестваме дали онлайн магазинът ни ще издържи високо натоварване?

Според често цитирано проучване на Dynatrace, 57% от клиентите не биха издържали повече от 3 секунди преди да им омръзне да чакат зареждането на продукт в даден онлайн магазин. Според същото проучване, 80% от тези клиенти не биха се върнали повече в този магазин. Близо половината от тях споделят за негативното си преживяване с близки и приятели. Подобно представяне на магазина може да има дълготрайни неприятни последици за бизнеса. Още повече, в сезона на Черния петък, когато посещенията на онлайн магазините обикновено скачат от 2 до 3 пъти. Имайки предвид тазгодишната обстановка, различни прогнози сочат от 4 до 5 пъти по-голям трафик. За да запазят настоящите си клиенти и да спечелят нови, онлайн магазините трябва да са уверени във всеки един аспект на клиентското изживяване – от рекламата до доставката.

И все пак, като че ли наличната инфраструктура е един от най-важните компоненти на този тип бизнес. Една от причините е, че бързите и интерактивни сайтове са предпочитани от алгоритъма на Google и допринасят за SEO. Освен това, проучвания, проведени от Google и Amazon, намират връзка между увеличението на приходите и намаляването на времето за зареждане на сайта. В същото време, срив или дори забавяне в отварянето на дадена продуктова страница е равнозначно на временно затваряне на физически магазин – клиентите не могат да разглеждат, не могат да купуват, чудят се дали магазинът не е затворил завинаги. Ако обслужването е бавно, се насочват към друг магазин. Възможно е повече да не се върнат. За да избегнем подобни ситуации, е необходимо да познаваме добре възможностите на магазина си.

Black Friday People Shopping

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

Тестовете за натоварване се подразделят на видове по няколко критерия. 

В зависимост от целта им, те биват Load-test или стрес тест. 

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

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

В зависимост от начина, по който се тества, има протокол базирани тестове и браузър базирани тестове.

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

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

Ако не сте сигурни кой тест е най-подходящ за Вашите нужди, по-универсалният вариант е протокол базираният load-тест. На този етап от развитието на технологията той е по-разпространен като употреба. Възможността да бъде прецизиран, така че да се тестват само определени части от стака, а не целият стак, го прави по-фокусиран и по-бюджетен при същите или повече използвани ресурси. Освен всичко, той също позволява да бъде генерирано както обикновено мултиплициране на определени заявки, така и на по-сложни сценарии, изградени на базата на определено потребителско поведение. Ключов по време на тестовете е мониторингът на ресурси – следят се CPU, RAM, диск.

Към момента на пазара съществуват различни технологии за тестове. Популярни решения с отворен код за протокол базирани тестве са Jmeter и Gatling, а за браузър базирани тестове са Element и Selenium. Платените платформи, като Floоd и Load Ninja, предлагат различни опции за всеки вкус, а цената нараства заедно със задействаните за целта ресурси. Сравнително рядко се прилагат тестове със собствен хардуер, най-вече заради мащаба на инфраструктурата, който е необходим за реалистична симулация.

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

Ако се колебаете дали имате нужда от тест или какъв точно тест Ви е необходим, можете да се обърнете към специалистите на Делта.БГ за консултация и предварителна оферта. В случай че изберете да разработим специализиран тест за Вашия магазин, планирането и осъществяването му може да отнеме 10 дни и повече. След провеждането му, тепърва ще трябва да се направи анализ как да бъде оптимизирана инфраструктурата, за да може да отговори на очакваните натоварвания и да бъдат организирани самите промени. На който и вариант да се спрете, организирайте проучванията навреме, за да сте сигурни в приходите си преди настъпването на предпразничното пазаруване.

Павел Недялков

Павел Недялков

Павел е Мениджър Бизнес Развитие в Делта.БГ. Има 15 годишен опит в телекомуникациите и е работил в редица международни технологични компании. Когато не подготвя оферти, пише статии, чете за нови технологии или кръстосва планинските пътеки.