Бета тестването е една от най-популярните форми на тестване поради възможността за събиране на истинска обратна връзка от потребителите – това помага на компаниите (и независимите разработчици) да подобрят значително своя код. Стратегията за бета тестване на дадена организация може дори да бъде основен фактор за нейната способност да предоставя работещи софтуерни програми. Това означава, че е от решаващо значение вие и вашата фирма да знаете как работи тази техника и как бихте могли да се справите с нейните предизвикателства и да осигурите стабилен продукт.
Разбирането на основите на бета тестването, както и на наличния софтуер, който може да помогне на тестерите, позволява на екипа по разработката да направи необходимите промени преди и дори след пускането на продукта. Този метод се съчетава най-добре с алфа тестването – позволява на разработчиците и тестерите да покрият всички възможни бази в процеса на осигуряване на качеството.
В тази статия разглеждаме как силният подход към бета тестването помага на софтуерните фирми да предоставят по-добри програми, както и конкретните стъпки и грешки, свързани с тях.
Какво е бета тестване?
Бета тестването е вид осигуряване на качеството, при което се проучва как потребителите биха използвали даден продукт, както и дали има някакви проблеми със софтуера, които трябва да бъдат отстранени. Това включва основно тестери от целевата аудитория, но може да включва и други демографски групи, за да се гарантира достъпно потребителско изживяване.
По време на бета-тестовете всяка функция се проверява внимателно; тези проверки също така осигуряват нова перспектива, като помагат на тестващите да открият проблеми, които разработчиците вероятно ще пропуснат. В зависимост от това кога ще се проведат тези тестове, компанията може да успее да отстрани всички открити проблеми преди пускането на програмата.
1. Кога и защо е необходимо да правите бета тестове?
Бета тестването обикновено започва след алфа тестването, но преди пускането на продукта на пазара; обикновено когато приложението е завършено на около 95%. Това означава, че опитът на бета тестерите е много сходен, ако не и идентичен, с този на крайните потребители – и гарантира, че няма големи промени в дизайна на продукта преди пускането му в продажба, които биха могли да повлияят на тестовете.
Бета тестването е възможност за разработчиците да получат нова гледна точка към работата си. Това е особено полезно за проучване на потребителското преживяване, включително доколко е лесно за хората да разберат как точно функционира софтуерът.
2. Кога не е необходимо да правите бета тестове
Компаниите могат да провеждат алфа тестове и други видове осигуряване на качеството от гледна точка на потребителя или дори да използват тестови програми с компютърно зрение, за да улеснят това. Това не покрива всички възможни аспекти, но може да бъде ефективен заместител, ако организацията не разполага с време и средства за провеждане на бета тестове.
Дори в тези ситуации бета-тестването може да бъде особено полезно и да спести на бизнеса повече пари в дългосрочен план. Много малко са програмите, които не биха се възползвали от бета тестове; това почти винаги е полезна инвестиция за всяка стратегия за тестване.
3. Изясняване на някои неясноти: Бета тестване срещу алфа тестване
Макар че тези два процеса са доста сходни, важно е да знаете какви са разликите между алфа и бета тестването при тестването на софтуер.
Какво представлява алфа тестването?
Алфа тестването е друга форма на тестване за приемане от страна на потребителите, която разглежда предимно по-ранен етап от програмата, за да оцени основните и второстепенните проблеми на разработката. Обикновено това включва контролен списък с компоненти и общи софтуерни тестове, което позволява цялостно покритие.
В повечето случаи за това се грижи вътрешният екип за тестване на компанията, което означава, че той обикновено е запознат с приложението и с начина му на работа. В резултат на това в процедурата за тестване може да има някои „слепи“ места, които могат да бъдат открити само от бета тестерите.
Бета тестове срещу алфа тестове
И алфа тестването, и бета тестването са форми на тестване за приемане от потребителите, което означава, че те се допълват взаимно, когато се използват заедно. Всеки подход включва проверка за проблеми в софтуера на различни етапи от разработката, по-специално тези, които могат да повлияят на цялостното потребителско изживяване.
Бета тестването обаче се фокусира върху тестването на черната кутия, без да се разглежда вътрешната работа на приложението, а алфа тестването съчетава това с тестване на бялата кутия, за да се провери самият код.
Друга съществена разлика е, че бета тестерите обикновено не са свързани с процеса на разработка или дори с компанията.
Това разделение между тестера и приложението е необходимо за безпристрастна, външна гледна точка. При бета-тестването обикновено се разглеждат стабилността, сигурността и надеждността, докато при алфа-тестването се обръща внимание повече на общата функционалност, но може да има значителни взаимовръзки.
Новият потребител на софтуера може да използва както очакваните, така и неочакваните входни данни, за да види как те се отразяват на приложението и евентуално да го счупят в процеса. Макар че бета тестовете обикновено се провеждат преди официалното пускане на софтуера, промените може да се наложи да изчакат до първия ден на пач или дори седмици след пускането.
4. Кой участва в бета тестването?
– Бета тестери
Обикновено те не са свързани с компанията и нямат предварителни познания за продукта и начина, по който вътрешният му код се съчетава.
– Ръководители по осигуряване на качеството
Те определят цялостната стратегия за осигуряване на качеството и отговарят за конкретните методи и проверки, които екипът по тестване използва.
– Алфа тестери
Те извършват своите проверки преди началото на бета-тестването, за да гарантират, че вътрешните системи работят по предназначение и са готови за бъдещите тестери.
– Разработчици на софтуер
Те използват информацията, предоставена от бета тестерите, за да отстранят проблемите възможно най-бързо – това може да стане дори преди пускането на пазара.
Предимства на бета тестването
Предимствата на бета-тестването при тестването на софтуер включват:
1. Отразява опита на потребителите
Бета тестерите нямат задълбочени познания за софтуера и може да нямат личен опит в програмирането – това означава, че те по-добре представят гледната точка на крайния потребител.
Бета тестерите могат да работят с програмата точно както клиентите, като позволяват на разработчиците да проверят доколко добре тяхното приложение съобщава на потребителите за своите функции. Това е от решаващо значение, тъй като разработчиците и вътрешният персонал за осигуряване на качеството вече са запознати с начина на работа на тези приложения и тяхната функционалност.
2. Увеличава обхвата на тестовете
Бета-тестовете включват различни проверки, които вътрешните екипи обикновено не изпълняват, включително тестове, които проверяват потенциалните потребителски данни. Всеки нов тест, който е част от стратегията на компанията за осигуряване на качеството, увеличава общото тестово покритие на всяко приложение. Този процент показва доколко задълбочен е настоящият процес на тестване и кои компоненти биха могли да се възползват от повече внимание; високото покритие на тестовете винаги е цел при бета тестване на софтуер.
3. Икономически ефективен
Въпреки че добавянето на нов вид тестване може да увеличи значително разходите по проекта, особено ако се налага да се наема външен персонал, бета тестовете са много рентабилни.
Повишеното покритие може дори да спести на екипа много пари в последствие; според оценки на IBM отстраняването на тези проблеми след пускането им на пазара е до 15 пъти по-скъпо. Стратегията за бързо бета тестване може да помогне на екипите да намалят разходите за отстраняване на грешки с лекота.
4. Разнообразни устройства
Бета тестването може да включва използване на собствените устройства на тестващия, което ще помогне на екипа да извърши тези проверки на по-голям брой машини. Приложението може да се затруднява да работи на определени графични карти или без достатъчно памет, например, и бета тестовете могат да разкрият тези проблеми.
В зависимост от вашия подход бета тестерите могат да използват външна платформа за извършване на тези тестове и дори да симулират устройства чрез използване на тестване на различни браузъри.
Предизвикателства при бета тестването
Бета тестовете са свързани и с различни предизвикателства, включително:
1. Изисква специфични умения
Макар че целта винаги е да се симулира преживяването на потребителя и не е необходимо да се използват каквито и да било умения за кодиране, екипът за бета тестване все пак трябва да има солидни умения за осигуряване на качеството.
Те трябва да могат да проверяват всеки компонент единствено чрез методите на черната кутия, като същевременно въплъщават подхода на крайния потребител. Този баланс е ключова част от всеки подход за бета тестване и обикновено изисква опитен бета тестер.
2. Ограничено време
Тъй като бета тестването се извършва, когато продуктът е готов за работа, дори малки забавяния на графика могат да повлияят на тестерите и на тяхната способност да тестват задълбочено.
Техните проверки могат да продължат дори до пускането на продукта, въпреки че разработчиците могат да направят критични промени и след този момент като кръпка. Това все пак може да окаже натиск върху проверяващите да извършат проверките бързо, което потенциално може да ограничи тяхната точност в процеса.
3. Несистематично отчитане
Процедурите за отчитане на бета тестове обикновено са по-малко задълбочени от другите форми на осигуряване на качеството, така че разработчиците могат да отделят повече време за действие по обратната връзка. Възможно е това да бъде намалено чрез подробни тестови случаи или софтуер за бета тестване, който може автоматично да генерира изчерпателен дневник. Разработчиците също така не присъстват по време на бета-тестовете; това може да представлява допълнителна бариера, която влияе върху това доколко добре те се справят с тези проблеми.
4. Общи изисквания към персонала
Броят на бета тестерите, от които се нуждае една компания, зависи най-вече от мащаба на продукта – възможно е да не прецени колко тестери са необходими за обхвата на нейния продукт. Това може да доведе до твърде много тестери, значително източване на ресурси или тестерите могат да се затруднят да обхванат адекватно компонентите на този софтуер. Екипът за осигуряване на качеството на проекта ще трябва внимателно да проучи изискванията към персонала за бета тестване.
Цели на бета тестването
Основните цели на бета-тестването при тестването на софтуер са следните:
1. Отстраняване на грешки
Почти всяко приложение има проблеми в ранните етапи на разработката, а бета-тестването позволява по-голямо покритие и отстраняване на грешки. Например тестерите могат да имитират потребителски входни данни или умишлени опити за пробив на софтуера чрез претоварване на неговата база данни, което алфа-тестерите може да не вземат предвид.
Това дава на екипа по-голяма увереност в продукта и предстоящото му приемане.
2. Подобряване на потребителския опит
Бета-тестовете са главно от гледна точка на потребителя и показват как биха подходили към софтуера тези, които не го познават. Например, ако тестващите се затрудняват с основните функции на програмата, разработчиците може да се наложи да оптимизират интерфейса или да въведат по-добри уроци.
След това разработчиците могат да направят всички необходими промени, за да гарантират, че програмата е достъпна за всички потребители.
3. Получаване на честна обратна връзка
Бета тестерите могат да съставят имитационни рецензии за софтуера, който тестват, което позволява на разработчиците да получат истинско мнение на потребителите; то може да надхвърля тестовите случаи.
Тези тестери могат да дадат обратна връзка, която да подобри продукта, дори и да не отговаря на тестовия случай. Това показва и как целевата аудитория, към която е насочен екипът, ще реагира на приложението след пускането му в продажба.
По-конкретно… какво тестваме при бета тестването?
Ето кои са специфичните аспекти на приложението, които бета тестерите разглеждат:
1. Стабилност
Бета тестерите разглеждат дадено приложение, за да определят колко добре работи то на различни машини – което включва и колко лесно е да се счупи софтуерът или да се улесни сривът.
Например приложение, което зависи от база данни, може да се окаже в „задънена улица“, ако получи твърде много заявки; бета-тестовете показват колко заявки може да обработи.
2. Надеждност
Този процес има за цел да намали броя на грешките в дадено приложение, за да го направи по-надеждно за потребителите; тестването за надеждност е свързано с ограничаване на възможността за повреда.
Например тестерът може да използва програмата за продължителен период от време и да опише всички проблеми, на които се е натъкнал, като например неправилно визуализиране на визуален елемент.
3. Функционалност
Способността на софтуера да изпълнява предвидените функции е друга ключова част от бета тестването. Бета тестерите проверяват дали всеки компонент работи по предназначение и дали всички функции са интуитивни.
Например, ако тестващите се затрудняват да използват ключовата търговска характеристика на приложението, разработчиците трябва незабавно да отстранят това.
4. Сигурност
Този подход включва и опити за разбиване на приложението, по-специално по отношение на неговата сигурност. Бета тестерът може да се опита да използва задна вратичка, за да получи административни привилегии и да разкрие съществуващи уязвимости. Те могат дори да проверят базата данни и нейното криптиране, тъй като тя може да съдържа лична информация, до която никой потребител не бива да има достъп.
5. Приемна
Реакцията на аудиторията на дадено приложение е важна част от процеса на осигуряване на качеството – тя помага на разработчиците да гарантират, че са на прав път. Бета тестерите дават своя честен поглед върху програмата като форма на широка обратна връзка и показват на екипа как членовете на обществеността вероятно ще приемат софтуера.
Видове бета тестове
Ето петте основни вида бета тестове при тестването на софтуер:
1. Отворено бета тестване
Отворените бета тестове са напълно достъпни за обществеността, което дава възможност за по-широк спектър от гледни точки. Това може да бъде подход на избор, при който всички заинтересовани потребители могат да кандидатстват на уебсайта на компанията, за да станат бета тестери.
В тези случаи проверките рядко са взискателни и могат да включват само подаване на доклади за грешки в отговор на грешки.
2. Затворено бета тестване
Затворените тестове са отворени само за частни групи, като например собствения подбор на компанията, което дава на екипа по-голям контрол върху това кой проверява приложението. Те могат да дадат приоритет на бета тестерите, които са част от целевата им аудитория, което ще им позволи да видят как различните групи хора биха реагирали на нюансите на този софтуер.
3. Техническо бета тестване
Техническите бета тестове разглеждат конкретни компоненти от техническа гледна точка; въпреки че целта им е да представят крайните потребители, тези проверки изискват повече опит. Това е необходимо, за да се открият сложни грешки, които все още могат да повлияят на преживяването на потребителя, но за откриването на които е необходим повече от един бегъл поглед; тези проверки изискват по-задълбочен поглед.
4. Фокусирано бета тестване
Някои компоненти са по-податливи на проблеми от други; например базата данни обикновено взаимодейства с много от функциите на приложението, така че нейните грешки могат да засегнат цялата програма. Фокусираните бета тестове разглеждат конкретни части от софтуера, както и отделни функции, за да се уверят, че няма съществени проблеми.
5. Бета тестване след пускането на продукта
Някои бета тестове се провеждат след пускането на приложението; това помага на екипа да открие евентуални проблеми, които потребителите все още не са забелязали. Проверката след пускане в експлоатация може да помогне и за бета тестване на актуализации на софтуера и нови функции, за да се уверите, че всички допълнения отговарят на същите стандарти като останалата част от приложението.
Стратегии за бета тестване
Съществуват различни планове и стратегии, които трябва да приложите по време на бета тестването, като например:
1. Подходящо планиране на тестовете
Тъй като бета тестването обикновено се извършва близо до пускането на продукта, екипите за тестване трябва да се уверят, че са балансирали етапа на осигуряване на качеството, за да улеснят всеки тест, който се надяват да изпълнят.
Например, разработчиците трябва да информират тестерите за всяко забавяне на проекта, а тестерите трябва да преценят кои проверки са най-важни, за да се съобразят с бързо наближаващите крайни срокове.
2. Фокусиране върху целите на тестването
Всяка стратегия за тестване зависи от ясен фокус, който може лесно да мотивира всеки тестер. Например екипът може да определи приоритетите на конкретен компонент, от който зависи приложението.
Тестерите могат да се стремят към определен процент на покритие или към приложение, което могат да използват свободно за продължителен период от време, без да се натъкват на грешки.
3. Наемете правилните тестери
Опитните тестери знаят как да подхождат към софтуера като потребители, като същевременно се вглеждат в програмата – специфичен опит може да е необходим дори за технически бета тестове.
Приложенията, предназначени за широка аудитория (като видеоигри или мобилни приложения), биха могли да извлекат повече ползи от отворени бета версии, които отразяват разнообразни бази от потребители с различни нива на умения.
4. Действайте в зависимост от обратната връзка с тестера
Екипът трябва бързо да отговори на бета тестерите, когато те предоставят обратна връзка; това помага да се поддържа ангажираността на тестерите и позволява на разработчиците да започнат работа по отстраняване на грешка. Бързината е от първостепенно значение на този етап от разработването на програмата, тъй като датата на пускане обикновено е скоро след началото на процеса на бета тестване.
Процес на бета тестване
Ето шестте основни стъпки за бета тестване на приложение:
1. Подготовка на бета теста
Екипът трябва да определи солиден брой тестери, които да отговарят на обхвата на приложението, тъй като някои приложения изискват над 300 бета тестери. Те трябва също така да определят кои видове бета тестване да използват и как те могат да допълнят фазата на алфа тестване.
2. Набиране на бета тестери
След като определи подхода си към бета тестването, екипът за осигуряване на качеството трябва да набере външни тестери, като използва предпочитаните от тях канали. Те могат открито да рекламират това в своите социални медии или да използват компания за тестване; те също така трябва да се уверят, че са предвидили достатъчно време за набиране на персонал.
3. Пускане на бета програмата
След като приложението и тестерите са готови да започнат работа, компанията пуска бета приложението и разпространява покани до бета тестерите. Тестерите проверяват програмата в рамките на дълги процеси, които лесно могат да продължат няколко седмици, и отбелязват всички проблеми или съответна обратна връзка.
4. Събиране на обратна връзка от тестващите
След приключване на проверките бета-тестерите дават своето мнение за софтуера и подробни доклади за откритите грешки. Екипът може също така да разговаря с бета тестерите, за да получи повече информация за проблемите и техните потенциални причини.
5. Актуализиране на приложението
Използвайки информацията, получена от тези проверки, и получената обратна връзка, разработчиците могат да започнат да променят приложението и да поправят откритите грешки. За някои промени може да се наложи да се изчака до пускането им в експлоатация поради краткия график на бета тестовете.
6. Повторно тестване, когато е необходимо
Вътрешните тестери обикновено проверяват приложението след етапа на отстраняване на грешките, за да се уверят, че тези проблеми вече не съществуват. Компанията може да привлече отново бета тестери, ако програмата претърпи значителна актуализация, която вероятно ще се отрази на функционалността на програмата, включително на нови функции.
Фази на бета тестване
Бета-тестовете следват многофазен процес; обичайните фази са:
1. Планиране
На този етап вътрешният екип съставя документ за целите на общия подход за бета тестване, включително дали иска да има отворена бета версия.
Етапът на планиране изисква участието на всички заинтересовани страни; ръководителите на екипи и изпълнителните директори трябва да имат еднакви цели.
2. Набиране на персонал
Следващият етап включва подбор и включване на тестери; това дава възможност на тестерите да придобият предварителна представа за приложението.
Това трябва да отговаря на точните изисквания на проекта. Например приложенията, подходящи за всяка възраст, трябва да използват тестери от различни възрастови групи за проверка на използваемостта.
3. Тестване на
Фазата на тестване включва три компонента – управление на ангажираността, управление на обратната връзка и разпространение на резултатите. Тези процеси включват осигуряване на ангажираност на тестващите, организиране на обратна връзка с тях и гарантиране, че разработчиците получават резултатите. Обикновено бета тестовете се провеждат в спринтове от 1-2 седмици, което осигурява достатъчно покритие и време за поправки.
4. Обобщение
След приключване на тестването екипите приключват цикъла на тестване и се подготвят за пускане на продукта. Това може да включва и изготвяне на доклад за последващи действия.
Критерии за влизане в бета тестване
Общите критерии за участие в бета-тестовете включват:
1. Подходящ екип за тестване
Адекватният екип от бета тестери е може би най-важният критерий за влизане в тези проверки, тъй като това оказва влияние върху начина, по който те работят с приложението. Например бета-тестът на видеоигра трябва да представя всички аспекти на целевата аудитория – включително любители и опитни играчи.
2. Алфа тестването е завършено
Бета тестването трябва да започне, след като вътрешният екип завърши алфа тестването; така се открояват повечето проблеми със софтуера. Въпреки това все още има някои пропуски в осигуряването на качеството, които само бета-тестовете и подходът „черна кутия“ могат да отстранят по подходящ начин.
3. Готово за бета-версия приложение
Самото приложение трябва да има работеща бета версия, която е напълно актуална и включва всички пълни функции. Това трябва да бъде независима среда за тестване, в която грешките, на които бета тестерът се натъква, не засягат цялостната програма или напредъка на другите тестери.
4. Бета тестване на софтуер
Тестерите могат да се възползват от програма, която им помага при бета-тестовете; тя дори може да прилага автоматизация на роботизираните процеси за по-голяма точност на всеки етап. Вътрешният екип основно решава кое приложение да използват бета тестерите и трябва внимателно да избере най-съвместимия вариант.
Критерии за излизане от бета тестване
Критериите за завършване на бета тестовете включват:
1. Откритите проблеми са отстранени
Едно от ключовите изисквания за приключване на етапа на бета тестване е разработчиците да отстраняват по най-добрия начин всеки проблем, за който са сигнализирали тестерите. След като екипът идентифицира и отстрани проблемите, тестерите могат да приключат работата си.
2. Завършено резюме на бета теста
След като приключат проверките, бета-тестерите изготвят резюмета на тестовете си, както и на проблемите, които са срещнали в процеса. Този доклад служи като полезен ресурс при тестването на бъдещи версии на продукта или на друг подобен софтуер, който компанията създава.
3. Приключване на фазата на изпитване
Екипът трябва официално да приключи етапа на тестване, след като бета тестерите приключат своите проверки; това означава, че етапът на осигуряване на качеството е завършен. Подписването на този документ е и начин да се гарантира, че екипът ще продължи с пускането на продукта.
4. Продуктът е готов за изпращане
Много проекти завършват етапа на бета тестване с изпращането на продукта, особено като се има предвид, че в този момент приложението може да е напълно завършено. Възможно е бета тестовете да се провеждат и след пускането на продукта, но обикновено това се случва само ако има забавяне на проекта.
Видове резултати от бета-тестовете
Бета тестовете дават няколко важни резултата, включително:
1. Резултати от тестовете
Бета-тестовете предоставят на тестващите и разработчиците значителен обем данни за това дали продуктът е готов за пускане. Ако екипът за осигуряване на качеството е определил конкретните проверки, които са използвали бета тестерите, той ще сравни резултатите с планираните резултати. Тези резултати могат да включват степента на преминаване на тестовете, честотата на сривовете и дори оценката на използваемостта на системата.
2. Протоколи от изпитвания
Макар че бета тестерите обикновено разглеждат проектите само от гледна точка на черната кутия, техните действия все пак генерират данни във вътрешния дневник на програмата. Разработчиците могат да използват това, за да изолират файловете, пътищата и дори точните редове код, които са отговорни за възникнали проблеми. Например, тези дневници могат да покажат дали системата е подложена на значително натоварване.
3. Доклади от изпитвания
Тези резултати в крайна сметка формират по-голямата част от обобщението на бета тестването, което ги съчетава с конкретните заключения и мисли на тестващия за приложението. Ако бета тестерите имат достатъчно опит, те могат да предложат идеи за това как разработчиците да започнат да отстраняват грешки в софтуера. Докладите от бета тестовете обикновено съдържат преглед на функционалността на програмата, надеждността, сигурността, стабилността и обща обратна връзка с тестващите.
Общи показатели за бета тестване
Почти всеки бета тест генерира уникални показатели, като например:
1. Брой неуспешни тестове
Ако приложението не успее да се справи с някоя от проверките, за тестващите е полезно да записват с колко теста програмата би имала проблеми. Това може да бъде число, но може да бъде дори част или процент от броя на всички тестове.
2. Процентно покритие на тестовете
Колкото по-високо е покритието на тестовете на екипа, толкова по-сигурни могат да бъдат, че ще успеят да открият възможно най-много грешки. Бета тестерите трябва да се съсредоточат върху софтуерни компоненти с по-ниско относително покритие, за да гарантират, че те работят точно както са предвидили разработчиците.
3. Удовлетвореност на клиентите
Бета тестерите могат да предоставят резултати за удовлетвореността на клиентите (или CSAT), които проследяват реалната реакция на тестера към продукта, включително нивото на удовлетвореност. Обикновено тя е под формата на скала от 1 до 5, като по-ниската оценка означава неудовлетвореност, а 5 – пълна удовлетвореност.
4. Плътност на уязвимостта на сигурността
Когато проверяват възможността за проблеми със сигурността, бета тестерите могат да проследят общата гъстота на уязвимостите в програмата. Това дава на тестващите и разработчиците ясна представа за общата сигурност на приложението, включително за най-значимите пропуски в сигурността на софтуера.
5. Нетна оценка на промоутъра
Подобно на удовлетвореността на клиентите, нетната оценка на потребителите (NPS) на програмата изследва как реални групи потребители вероятно биха реагирали на приложението. Това се прави по 10-степенна скала, като 9-10 точки се отнасят за „насърчаващи“, а 7-8 – за „пасивни“, а всичко под тази стойност е „отхвърлящо“.
6. Максимално време за реакция
Времето, необходимо на базата данни за извличане на информация, и като цяло времето, необходимо на дадено приложение за изпълнение на заявка, може да доведе до проблеми. Прагът на Дохърти предполага, че пиково време от над 400 милисекунди може да спре потребителите да се ангажират със софтуера.
Видове грешки и бъгове, открити при бета тестването
Ето някои от грешките, които бета-тестването при тестването на софтуер може да помогне да се открият:
1. Неправилно функционираща функция
Основният проблем, който бета тестовете могат да разкрият, е, че някоя от функциите не работи в нито една ситуация. Това може да включва контексти, за които другите тестери не се сещат, поради което е изключително важно екипите да използват бета тестването, за да откриват проблеми по нови начини.
2. Уязвимост на сигурността
Бета тестването може да разкрие редица възможни пропуски в сигурността; това може да включва дори административна задна врата, до която потребителите имат достъп. Тези проверки са от първостепенно значение, за да се уверите, че приложението е сигурно и ще може да издържи на проверката на потребителите.
3. Обща катастрофа
Всеки брой входове може да доведе до срив – бета тестерите проверяват възможно най-много реалистични потребителски входове, за да се уверят, че няма задействащи фактори за срив. Ако програмата се срива, когато потребителят извърши определено действие, разработчиците трябва да поправят това.
4. Несъвместимост на устройството
Бета тестовете разглеждат по-голям брой устройства в сравнение с другите етапи на осигуряване на качеството, като за целта се използва тестване на различни браузъри. Тези тестове разкриват колко добре работи приложението на различни машини, тъй като малките разлики в архитектурата могат да повлияят значително на работата на програмата.
5. Бавно изпълнение
Тези проверки показват дали има ситуации или входни данни, които значително забавят програмата, което води до значително забавяне за крайния потребител. Това може да окаже сериозно влияние върху начина, по който потребителят се наслаждава на този софтуер, затова е важно да го коригирате.
Примери за бета тестове
Ето три основни примера за бета тестове:
1. Приложение за Android
Бета тестването на приложения за Android включва стартиране на програмата на подходящо устройство – евентуално на няколко за проверка на съвместимостта – и проверка за забележими грешки. Тъй като тези приложения са много сложни, компанията може да се нуждае от до 300 бета тестери.
Много приложения открито обявяват наличните бета тестове преди и след пускането им, което позволява на фирмата да осигури пълно покритие от много различни гледни точки. Тези тестове могат да се съсредоточат върху конкретни функции на това мобилно приложение и тяхното взаимодействие помежду им.
2. Видеоигра
Видеоигрите се подлагат на дълъг процес на бета тестване поради присъщата им сложност; при него се разглеждат всички аспекти на играта – от енджина до производителността и графичната й достоверност.
Те могат да бъдат отворени изключително за хора, които са направили предварителна поръчка на играта, или дори за всички заинтересовани играчи, въпреки че е необходимо и частно бета тестване. При мултиплейър игрите отворените бета версии дават възможност на разработчиците да проверят мрежовия си код и да видят доколко той може да се справи с голям брой играчи.
3. Уебсайт
Фирменият уебсайт – особено такъв с функции за електронна търговия – също изисква задълбочено бета тестване, преди фирмата да го пусне в публичното пространство. Бета тестерите трябва да прегледат всяка страница, за да се уверят, че тя се показва добре на различни устройства и че включените уеб приложения функционират.
При сайтовете за търговия на дребно тестващите могат да се опитат да извършат покупка и да проверят дали тя ще премине през системата. Бета тестерите трябва да проверят и функционалността на сайта във всички популярни интернет браузъри.
Ръчни или автоматизирани бета тестове?
Автоматизацията може да повиши ефективността на всяка стратегия за тестване, като значително намали рисковете от човешки грешки и същевременно работи много по-бързо. Това увеличава обхвата и общата надеждност на етапа на осигуряване на качеството на проекта – обикновено с помощта на приложение на трета страна.
Важно е екипите да проучат всички възможни платформи, които биха могли да автоматизират тестовете им; всяка от тях има различни функции, които може да са по-съвместими с определени видове софтуер. Този подход обаче обикновено е ограничен по отношение на човешкия фактор; повечето бета тестове разчитат на гледната точка на потребителя.
Съществуват начини автоматизацията да заобиколи тези проблеми; например компютърното зрение помага на софтуера за автоматизация да разглежда проблемите от човешка гледна точка. Хиперавтоматизацията може също така да помогне на екипите да калибрират стратегията си за тестване по начин, който интелигентно да прилага автоматизацията, когато е уместно, без да се прекалява с нея.
И в двата случая подходът на екипа (и евентуалният му успех) зависи от програмата, която той прилага, и нейните характеристики. За този процес все още са необходими бета тестери, а ръководителите на отдела за осигуряване на качеството трябва да направят одит на цялостната си стратегия, за да установят кои проверки ще се възползват от автоматизацията и кои трябва да бъдат приоритетни за човешките тестери.
Най-добри практики за бета тестване
Ето някои от най-добрите практики, които екипите за бета тестване трябва да прилагат:
1. Разгледайте клиента
Преживяването на клиентите е в основата на всеки бета тест и проверките, които екипът извършва, трябва да го отразяват, когато това е възможно. Например, тестерите трябва да проучат интерфейса и да видят доколко интуитивен би бил той за опитни потребители в този сектор.
2. Проверка на външната целева аудитория
Нито един продукт или приложение няма потребители само от целевата си аудитория и някой може да използва за първи път програма от този тип. Например бета-тестерите могат да подходят към дадена видеоигра така, сякаш никога преди не са я играли, за да се уверят, че тя е удобна за потребителите.
3. Разнообразна гама от тестери
По подобен начин е важно да проверявате програмите с тестери от различни среди, тъй като това позволява на екипа да получи пълна представа за това как ще реагират клиентите. Различията в опита могат да доведат до това, че бета тестерите ще разглеждат софтуера по различни начини.
4. Насърчаване на постоянна комуникация
Може да се създаде информационна преграда между тестери и разработчици – особено ако първите са извън компанията. Това означава, че ръководителите на отдела за осигуряване на качеството трябва да улеснят комуникацията между тези два екипа, за да се уверят, че разработчиците получават необходимата информация за отстраняване на грешки.
5. Внимателно изберете стратегията за изпитване
Някои продукти се възползват повече от отворена бета версия, която генерира обширна обратна връзка в кратък период от време, но има много приложения, които изискват частно тестване. Екипите трябва да разгледат този софтуер и да определят кой подход би бил най-подходящ.
6. Предлагане на стимули
Неплатените бета тестери се нуждаят от някакъв вид възнаграждение за услугата си – а ранният достъп до програмата може да не е достатъчен. Те могат да бъдат посочени в надписите на софтуера или да им бъде даден друг вид подарък, който да ги насърчи да свършат възможно най-добрата работа.
Какво ви е необходимо, за да започнете бета тестване?
Преди да започне бета тестването, има няколко важни предварителни условия, включително:
1. Цялостна стратегия за тестване
Въпреки че бета тестването е сравнително свободно, особено при отворената бета версия, обикновено е необходим солиден план, за да се гарантира, че всеки компонент получава достатъчно внимание от страна на тестерите. Екипът за осигуряване на качеството трябва да знае какво изисква проектът, например конкретните бета проверки, които възнамерява да извърши.
Например, ако програмата има компоненти, които изискват повече внимание, стратегията на екипа трябва да се съобрази с това.
2. Мотивирани тестери
Екипът се нуждае и от достатъчно мотивирани тестери, които да помагат в процеса на създаване на бета версиите. В зависимост от конкретните проверки компанията може да се възползва от тестери, които са висококвалифицирани в областта на осигуряването на качеството и могат точно да оценят как техните действия влияят на това приложение.
Ръководителите на екипи трябва да са уверени в избора си на тестери, включително дали те могат да отразяват целия спектър на аудиторията на продукта.
3. Бета тестване на софтуер
Инструментите за тестване, включително и тези с функции за автоматизация, имат място в почти всеки план за осигуряване на качеството; дори бета-тестовете, които обикновено разчитат на човешката гледна точка. Това може да помогне на екипа да внедри автоматизация на роботизираните процеси – при нея се използват софтуерни роботи, които изпълняват различни задачи по тестването без помощта на човешки бета тестер. Програмата, която те използват, зависи от конкретните нужди за тестване на текущия проект.
4. Бета програма
Тъй като бета тестването започва след като екипът завърши алфа тестването, той трябва да работи с най-актуалната програма; тя трябва да е почти пълна с функции. Това приложение трябва да е напълно отделно, за да е сигурно, че ще издържи на многото възможни начини, по които бета тестерът може да го повреди, без да навреди на истинския софтуер. В много случаи бета-програмата ще има малко проблеми, дължащи се на цялостното алфа-тестване.
7 грешки и капани при провеждането на бета тестове
При всяка стратегия за тестване има много грешки, които тестващите могат да допуснат. Ето седем грешки, които бета тестерите трябва да избягват:
1. Негъвкав график
Забавянията са често срещани при всеки софтуерен проект и екипът по тестване трябва да се съобразява с тях на всеки етап. Бета тестването се извършва близо до пускането на продукта, така че може да пострада, ако има промени в графика на продукта. При тези забавяния тестващите може да се затруднят да завършат проверките си.
2. Немотивирани тестери
Особено при отворените бета тестове може да се окаже трудно да се насърчат тестващите да докладват за открити грешки – в някои случаи те могат да ги възприемат като безплатна пробна версия на софтуера. Екипът трябва да предложи стимули, които насърчават комуникацията и изчерпателното докладване, в противен случай тестерите може да не сигнализират за проблеми.
3. Ограничено представителство на аудиторията
Тъй като бета-тестовете обикновено симулират потребителския опит, тестващите трябва да отразяват приблизително целевата аудитория на приложението. За тази цел може да е важно да информирате бета тестерите за хората, които ще използват продукта; макар че и други гледни точки могат да помогнат да се гарантира, че софтуерът е удобен за потребителите.
4. Ограничени устройства
Тестването на различни браузъри и изследването на различни устройства е от съществено значение, за да се гарантира, че приложението е използваемо за възможно най-много хора. Това е по-осезаемо по време на етапа на бета-тестване; екипът трябва да се увери, че проверките винаги представят широк спектър от потенциални устройства.
5. Недостатъчен брой тестери
Броят на необходимите бета тестери е различен за различните проекти, но неправилната преценка може да доведе до сериозни проблеми. Например, твърде много тестери могат да бъдат сериозен източник на ресурси, включително и на пари.
В противен случай недостатъчният брой тестери може да се окаже трудно да се осигури силно покритие на тестовете за всеки компонент на приложението.
6. Липса на план за тестване
Етапът на бета тестване рядко е успешен, когато тестващите просто използват софтуера и дават неясна обратна връзка. Екипът за осигуряване на качеството трябва да състави подробни планове, в които подробно са описани компонентите и конкретните проверки.
При отворената бета версия тестващите трябва да имат ясен начин за съобщаване на проблемите, с които се сблъскват.
7. Неефективен инструмент за тестване
Екипите за тестване не могат просто да внедрят първия или най-евтиния инструмент за тестване, който намерят. Вместо това те трябва да потърсят вариант, който да отговаря на техния проект и неговите конкретни нужди. Отделянето на това време може да предотврати сериозни дългосрочни проблеми при тестването, като същевременно позволява на тестващите да използват по-добре функциите на инструмента за тестване.
5 най-добри инструмента за бета тестване
Ето петте най-ефективни платени или безплатни софтуерни инструменти за бета тестване:
1. Издания на ZAPTEST FREE & ENTERPRISE
ZAPTEST предлага както безплатни, така и платени инструменти за бета тестване, които помагат на компаниите на етапа на осигуряване на качеството при всякакъв бюджет.
ZAPTEST осигурява цялостна автоматизация на тестването в редица различни браузъри, устройства, приложения и платформи, което позволява на бета тестерите да проверяват програмите си на по-дълбоко ниво. Докато безплатната версия има много полезни функции, версията Enterprise включва специален експерт на ZAP, който работи заедно с екипа на клиента, най-съвременната функционалност на RPA без допълнителни разходи и неограничен брой лицензи.
2. Instabug
Instabug помага на бета тестерите да проверяват редица мобилни приложения във всички основни операционни системи, като в процеса предлага пълен анализ на сривове и записи на потребителските данни. Този платен инструмент улеснява тестващите да изпращат доклади за грешки, докато проверяват програмата.
Потребителите обаче съобщават, че платформата е сравнително скъпа и че този софтуер има ограничена функционалност за уеб приложения и други видове програми, което го прави полезен само в определени контексти.
3. BrowserStack
BrowserStack може да симулира над 3000 устройства за алфа и бета тестване, като осигурява напълно допълващ процес на тестване. Платформата включва и подробни функции за регистриране, които позволяват на тестерите да идентифицират основната причина за проблемите и да ги съобщят на разработчиците възможно най-скоро.
Това решение е най-ефективно за уеб или мобилни приложения и има ограничени възможности за използване в друг софтуер – може да се окаже и трудна платформа за усвояване от начинаещи тестери.
4. TestFairy
TestFairy е специализирана в мобилни приложения със силен фокус върху бета тестването на Android и може да записва действията на тестващите (включително техните конкретни входни данни), за да улесни възпроизвеждането на техните открития. Всеки, който участва в разработването, може да гледа получените видеоклипове и да ги използва за своите подобрения.
Въпреки това цените и ограниченият брой съвместими устройства отново са възможни проблеми, с които потребителите трябва да се съобразяват, когато избират инструмент за изпитване.
5. TestFlight
TestFlight е програма на Apple, специално разработена за бета тестване на приложения за iOS. Това я прави особено ограничена за други програми, включително за различни видове мобилни приложения.
TestFlight позволява на разработчиците на приложения лесно да разпространяват нови версии на програмата сред тестерите и се отличава с лесен процес на настройка. Въпреки че тази платформа е доста полезна за разработчиците на приложения за iOS, дори в този контекст тя може да поддържа само iOS 8 и следващите версии.
Контролен списък за бета тестване, съвети и трикове
Ето няколко допълнителни съвета за оптимално използване на бета-тестването при тестването на софтуер:
1. Улесняване на документацията
Колкото по-лесно е за бета тестерите (от всякакъв вид) да докладват за проблемите, с които се сблъскват, толкова по-точен и ефективен е цялостният процес на тестване. Важно е екипът по тестване да усъвършенства обичайните канали за докладване на обратна връзка, за да направи тези проверки по-гладки.
2. Продължаване на итерацията на бета тестовете
Всеки бета-тест, който компанията провежда, трябва да дава информация за начина, по който се усъвършенстват бъдещите проверки, за да се адаптират към обичайните проекти. Този опит подобрява процеса на бета тестване и гарантира, че те винаги проверяват програмите по начин, който отговаря на изискванията на компанията и нейните уникални изисквания.
3. Използвайте автоматизацията пестеливо
Въпреки че тактики като автоматизация на роботизираните процеси могат да имат значително положително въздействие върху бета тестовете на екипа, той трябва да ги прилага разумно. Автоматизирането на всяка проверка може да ограничи нейната точност, особено като се има предвид, че много бета тестове разчитат на специфичния опит на крайните потребители.
4. Накарайте тестерите да подпишат NDA
Частните бета тестери може да разглеждат чувствителен софтуер и за организациите и разработчиците е от решаващо значение да защитят своите интереси. Поради тази причина фирмата може да накара тестващите да подпишат споразумение за неразкриване на информация, за да не разкриват секретна информация за програмата.
5. Подкрепа за бета тестерите
Компанията и нейният вътрешен персонал за осигуряване на качеството трябва да са на разположение за съдействие на етапа на бета-тестване – тази подкрепа може да бъде безценна. Например тестващите може да се нуждаят от помощ при работа с програмата или да искат да зададат общи въпроси за приложението.
6. Насърчаване на свободата на тестващия
Въпреки че тази подкрепа понякога е от съществено значение, за да се гарантира цялостно бета тестване, важно е също така компанията да позволи на тестерите да извършват проверките си със собствено темпо. Тестващият трябва да може да предостави честна обратна връзка; това е възможно само при пълна свобода на потребителя.
Заключение
Бета тестването е необходимо за почти всеки софтуерен проект поради способността му да отчита потребителите и техния уникален опит със софтуера. Компаниите могат да изберат да интегрират автоматизацията в плановете си за бета тестване, но все пак трябва да вземат предвид човешката гледна точка на всеки етап. Спецификата на стратегията на фирмата зависи от проекта и подхода, който най-добре отговаря на неговите изисквания, включително нивото на умения на всеки тестер.
Независимо от текущия бюджет на екипа за тестване, ZAPTEST Free или Enterprise може да улесни интуитивните бета проверки на широк кръг устройства, като гарантира високи стандарти в целия процес на осигуряване на качеството.