Проучвателното тестване е специфичен вид софтуерно тестване, което носи много ползи за дадено приложение и му позволява да разгърне пълния си потенциал.
Начинът, по който екипът интегрира проучвателното тестване в рутинните си проверки, може дори да определи колко добре функционира софтуерът, особено когато той подхожда към процедурите за тестване по нови и неочаквани начини. Това помага на тестващите да открият проблеми в приложението, които иначе могат да останат незабелязани до стартирането му и да доведат до неработещи ключови функции.
Разбирането на процесите, видовете и подходите на проучвателното тестване може да ви помогне да насочите организацията и нейните екипи за тестване как да го включат в обичайните си проверки.
Съществуват и редица безплатни инструменти, които екипът може да използва, за да улесни тези проверки и да забележи проблемите, преди те да се превърнат в пречка за разработката.
В това ръководство представяме ползите от проучвателните тестове, както и основните съображения, които екипът трябва да вземе предвид преди да ги приложи.
Какво представлява проучвателното тестване?
Проучвателното тестване съчетава етапите на проектиране и изпълнение на теста, като осигурява пълна свобода на действие на тестващия и му позволява непрекъснато да оптимизира работата си.
Докато тези екипи проверяват софтуера, те вероятно ще открият нови компоненти, които изискват задълбочени проверки, и лесно могат да предложат нови тестове, които биха били от полза за приложението.
Проучвателното тестване е подобно на ad hoc тестването, но следва много по-строга документация, като включва и по-активен процес на обучение.
По-слабо структурираният подход помага на тестващите да установят как дадено приложение вероятно ще реагира на реалистични сценарии и тестови случаи и служи като важно допълнение към скриптираното тестване.
Качеството на проучвателното тестване на екипа често зависи от уменията на отделните тестери, тъй като проверките изискват творчество и задълбочено разбиране на софтуера. Това е процес на непрекъснато откриване, при който тестерите използват дедуктивни разсъждения, за да направляват цялостната си техника.
Проучвателното тестване е особено полезно, тъй като отразява начина, по който потребителите биха могли да използват софтуера. Повечето потребители откриват грешки и проблеми случайно, така че тези неписани процеси могат да помогнат на тестерите да открият проблеми, които предварително определените проверки не могат да открият.
Възможно е също така екипът да автоматизира тази процедура, за да осигури по-високо ниво на ефективност.
1. Кога е необходимо да се направи проучвателно тестване?
Изследователското тестване е полезно за почти всеки процес на тестване на софтуер, въпреки че е особено полезно за осигуряване на бърза обратна връзка за дадено приложение.
Екипът може също така да включи тези проверки, ако не разполага със скриптирани тестове. Без ясна насока за проверките на софтуера, проучвателното тестване може да помогне за разкриване на проблеми, които са извън стандартните проверки.
Осигуряването на разнообразни процедури за тестване позволява на тестващите да разберат този софтуер на много по-дълбоко ниво на всеки етап, но провеждането им на ранен етап може да предложи повече ползи.
Възможно е екипите да провеждат повторно проучвателни тестове по-късно, ако е необходимо, за да бъдат допълнително спокойни.
2. Кога не е необходимо да правите проучвателно тестване
Има няколко сценария, при които проучвателното тестване не носи никакви ползи, въпреки че за тестващите може да е по-полезно да изчакат, докато софтуерът придобие основната си функционалност.
Функциите на дадено приложение обикновено се пресичат или взаимодействат помежду си, което означава, че проучвателните тестове на една функция може да се окажат неактуални, след като екипът по разработката добави още функции към този софтуер.
Възможно е също така тези тестове да се провеждат заедно със скриптирани проверки без проблем, ако тестващите могат да осигурят добро ниво на документация, за да се избегне объркване.
Проучвателното тестване е много гъвкаво в сравнение с другите видове тестване, което прави тези проверки много приложими.
3. Кой участва в проучвателното тестване?
Проучвателното тестване включва в някаква степен много членове на персонала, включително:
– Софтуерни тестери от всяко ниво на умения могат да провеждат тези тестове, въпреки че членовете на екипа, които познават по-добре софтуера, могат да проектират по-голямо разнообразие от проверки.
Опитът може да повлияе и на способността им да определят най-полезните тестове.
– Разработчиците на софтуер, които се запознават с резултатите от тези тестове, вземат предвид всички предложения и често разработват собствено решение на проблема.
Техният отговор на тестовете е това, което позволява на приложението да достигне състояние, подходящо за успешно пускане.
– Ръководители на проекти, които контролират целия този процес и дори могат да решат кои видове тестване да използват екипите.
Те могат да отговарят и за закупуването на софтуер за екипите, който може да оптимизира или дори да автоматизира тестовете.
Жизнен цикъл на проучвателното тестване
Процесът на проучвателно тестване е силно фокусиран върху свободата на тестващия, но все пак следва определена структура.
Основните три етапа на този подход са:
Етап 1: Обучение
Тестерите започват с развиване на добро разбиране на софтуера и неговата функционалност – критично анализиране, за да определят как се съчетават.
Това позволява на тестващия да установи обичайните входни данни, които потребителят може да направи, въпреки че вече е запознат с приложението и неговото функциониране.
Етапът на обучение може да изисква дори наръчник за работа със софтуера. Това е проучвателният етап, който предоставя на тестващия цялата необходима информация, за да разработи широк набор от полезни тестове.
Етап 2: Проектиране на теста
Проектирането на проучвателни тестове включва различни правила и параметри, но все пак предлага значително по-голяма свобода в сравнение със скриптираните тестове, чиито специфики са известни още преди началото на тестването.
Тестерът може да разработи проверки, които според него са по-точно съобразени с приложението, и потенциално може да открие ценни данни за екипа по разработката, включително забележителни грешки, които да бъдат отстранени.
Екипите за тестване използват този етап, за да определят какъв подход да предприемат и как да разпределят работата между различните тестери по начин, който да използва техните силни страни.
Етап 3: Изпълнение
След като са разработили проверките, които да използват, тестващите вече могат да проверяват приложението по начините, които смятат за най-ефективни – те могат да го направят веднага след разработването на конкретния тест.
Това е етапът, в който тестващите активно търсят проблеми и начини, по които откритите от тях проблеми биха могли да се отразят на други характеристики и функции.
Макар че в изпълнението на проучвателните тестове е включена известна доза интуитивна работа, те все пак следват определени процеси и цели, което позволява плавен тест, който лесно може да се приспособи към конкретните цели на тестването.
Проучвателно срещу скриптирано тестване
Проучвателното тестване е на практика противоположно на скриптираното тестване, въпреки че и двете могат да бъдат важни за гарантиране на готовността на приложението за пускане. Последните обикновено са по-формални и структурирани, като включват много обширни тестове в сравнение с проучвателните проверки, които често са по-конкретни за функционалността на приложението.
Освен това проучвателните тестове са значително по-адаптивни, докато скриптираните тестове могат да се окажат трудни, ако в софтуера настъпят големи промени. Проучвателните тестове могат да открият грешки и да предприемат действия срещу тях по-бързо, което ги прави особено полезни в случаите, когато бързата обратна връзка е от първостепенно значение.
1. Активно проучвателно тестване
Активното проучвателно тестване включва тестер, който разработва автоматичен скрипт за своите проверки, който друг тестер изпълнява. Тези скриптове вземат предвид предишните тестове, ако е приложимо.
Двамата тестери обикновено си разменят ролите по време на процедурата за проверка, за да проверят двойно надеждността на тези скриптове и процеси.
Активните тестове имат по-широко покритие, без да се жертва спецификата на търговската марка на проучвателните проверки. Тези скриптове също така дават възможност за по-добро документиране, което улеснява възпроизвеждането на всички проблеми, които тестващите откриват.
Документацията е съществен компонент на активните тестове, тъй като тя помага на заинтересованите страни да видят цялостния напредък на приложението.
2. Пасивно проучвателно тестване
Пасивното проучвателно тестване изисква само един тестер, въпреки че работата по двойки може да оптимизира процеса още повече.
Този подход включва специфичен софтуер, който записва действията на тестващия – предоставяйки му лесни стъпки за повторение на всеки открит от него проблем. Обикновено това е под формата на видеоклип с коментар на тестващия, който обяснява действията му стъпка по стъпка.
Записването на процеса на тестване дава представа и за производителността на приложението, включително за това колко бързо реагира на входните заявки.
Пасивното тестване предоставя на тестващите и на екипа по разработката богата и подробна информация за функционирането на софтуера.
Техники за проучвателно тестване
Проучвателното тестване обикновено следва формата на “обиколка” – когато тестерът изследва софтуера по най-ефективния начин.
Екипът може да избере различни турове, включително:
– Обиколки с пътеводител
Този подход дава приоритет на подчертаните функционалности на приложението, като точно възпроизвежда начина, по който средностатистическият потребител работи със софтуера, и открива проблеми, които той естествено би открил.
– Исторически обиколки
Тази обиколка проверява най-старите функции на приложението, за да се увери, че те все още функционират; това е особено важно, ако разработчиците са добавили нови функции, които са в конфликт с него.
– Парична обиколка
С този проучвателен тест се проверяват критичните функции на приложението, по-специално тези, за достъп до които клиентите плащат пари – те обикновено са с най-висок приоритет сред екипа за тестване.
– Обиколка на престъпността
Понякога тестерите работят активно, за да разбият дадено приложение или да предизвикат негативни сценарии, например като въвеждат невалидна информация и изследват как приложението реагира на това.
– Обиколка на задната уличка
Този процес включва функции, които е вероятно да се използват от по-малко клиенти; те са също толкова важни за всеки подход за тестване, особено тъй като ще взаимодействат с други функции.
– Интелектуална обиколка
Тази обиколка задълбочава приложението, като тества най-сложните функции с по-високи (понякога максимални) стойности, за да определи скоростта на обработка на софтуера.
Подходи за проучвателно тестване
Съществуват два основни подхода към проучвателното тестване:
1. Проучвателно тестване, базирано на сесии
Това е техника, базирана на времето, която има за цел да определи количествено процеса на тестване, като го раздели на “сесии” с два компонента: мисии и задания.
Мисията е целта и продължителността на конкретната сесия, като осигурява на изследователя ясен фокус.
В хартата се определя обхватът на всяка сесия и се описват всички конкретни цели, които тестерът възнамерява да изпълни. Това води до по-високо ниво на отчетност (и документация) чрез разделяне на тези проверки на по-управляеми компоненти.
Базираните на сесии тестове също така подобряват производителността и предоставят на тестващия ясни показатели и информация за отстраняване на проблеми.
2. Проучвателно тестване по двойки
Тестването по двойки е сходно с активното проучвателно тестване, тъй като включва работа по двойки – обикновено на едно и също устройство – за непрекъсната едновременна проверка на приложението. При тази схема единият тестер предлага набор от тестови случаи и води бележки за напредъка, докато другият тества софтуера.
Комуникацията е от съществено значение по време на тестването по двойки, тъй като това гарантира, че и двамата тестери са наясно с проверките и тяхната цел.
Ако сами определяте тези двойки, не забравяйте да се съобразите със силните и слабите страни на всеки тестер, тъй като това ви позволява да изградите по-силни процеси на проучвателни тестове.
Кои фактори влияят на проучвателното тестване?
Факторите, които могат да повлияят на качеството на проучвателните тестове на екипа, включват:
– Общата цел и основната функционалност на софтуера.
– Конкретните цели на тестването за настоящата фаза на приложението.
– Индивидуалните роли и способности на всеки тестер в екипа.
– Наличните инструменти, като например безплатен софтуер за автоматизиране на тестовете.
– Подкрепата, която тестващите получават от колегите си или от ръководството.
– Исканията на клиента и текущите широки тенденции на пазара.
– Лекота на използване на приложението, например плавност на интерфейса.
– Времето, с което разполагат тестерите, за да завършат етапа на тестване.
– Входовете и други разнообразни данни, които тестващите възнамеряват да използват.
– Функциите, които разработчиците добавят към софтуера с течение на времето.
Видове проучвателно тестване
Трите основни вида проучвателно тестване, които екипът може да включи, са:
1. Свободен стил на проучвателно тестване
Свободното тестване включва ad hoc подход към проверката на дадено приложение. Тази методика има малко правила за отчитане, така че нейната ефективност може да варира; някои софтуери и компоненти изискват по-надеждна методика.
Тези проверки все пак могат да донесат много ползи, като помогнат на тестващите да се запознаят с това приложение и да потвърдят работата на предишен тестер.
Дори и без строги правила, опитните и квалифицирани тестери могат лесно да използват този формат в своя полза. Те могат да преминат с лекота през всеки аспект на софтуера – в някои ситуации правилата за тестване са ограничаващи и могат по невнимание да ограничат резултатите на екипа.
2. Проучвателно тестване, базирано на сценарии
Тестването, базирано на сценарии, използва реалистични ситуации като основа за всяко тестване, например чрез проверка на входните данни, които потребителите вероятно ще направят по време на типичната работа на този софтуер.
Тестерите работят усилено, за да гарантират, че всеки сценарий, който разработват, отговаря на начина, по който потребителят работи с приложението.
Времето може да се окаже ограничение, тъй като целта на екипа е да тества възможно най-много сценарии; в зависимост от предстоящите крайни срокове вероятно няма да може да се обхванат всички възможности.
Тестерите трябва да използват широк набор от тестове в различни категории.
3. Стратегическо проучвателно тестване
Базираното на стратегията тестване включва широк набор от специфични методи, включително тестване на граничната стойност, техники за еквивалентност, техники, базирани на риска, и др. Това обикновено дава предимство на тестери, които вече са запознати с приложението, тъй като те могат да разработят персонализирани стратегии, включващи тези индивидуални методи.
Подходът, базиран на стратегията, се фокусира основно върху функционалността на софтуера (и вътрешните му механизми), без да разглежда възможните сценарии, които биха могли да доведат потребителя до възникване на проблеми. Това може да доведе до по-широк анализ на дадено приложение и неговите различни характеристики, потенциално по-задълбочен от различни други подходи.
Ръчни или автоматизирани проучвателни тестове?
Екипите за тестване могат да извършват проучвателни проверки ръчно или да ги автоматизират. Всеки от двата варианта може да предложи огромни ползи; правилният избор често зависи от спецификата на проекта.
Ръчно проучвателно тестване
Ръчното проучвателно тестване дава възможност за по-голям набор от персонализирани проверки. Въпреки че това може да отнеме повече време поради това, че човешките тестери са по-бавни от компютрите, ръчната проверка може да бъде от съществено значение за определяне на потребителското изживяване.
Тестерът работи не само за да гарантира, че всички функции на дадено приложение работят както трябва, но и за да установи дали потребителите могат да работят с него с лекота. Това е може би най-разпространената форма на проучвателно тестване, макар че това не означава, че тя е най-ефективната.
1. Предимства на ръчното провеждане на проучвателни тестове
Предимствата на ръчното проучвателно тестване включват:
По-силен фокус върху ползваемостта
Автоматизираните проучвателни тестове могат да забележат несъответствия в софтуера, но може да не са в състояние да интерпретират тези проблеми по същия начин, както човекът тестер.
Това включва разбиране на начина, по който потребителите на софтуера вероятно ще навигират или ще взаимодействат с приложението – нещо, което автоматизацията не може да вземе предвид.
Ръчните проучвателни тестери могат да предложат по-голямо ниво на обратна връзка, включително конкретни подробности за това как откритите от тях проблеми влияят на цялостния софтуер или на общото преживяване.
Може да прави промени в реално време
Едно от основните предимства на проучвателното тестване е, че е възможно да се идентифицира необходимостта от тест и да се изпълни сравнително бързо, преди да се направи търг за необходимите подобрения.
Автоматизираното тестване обикновено е много по-бърз процес, но тестерите трябва да изчакат всичко да приключи, преди да направят промени – ръчните тестери могат да направят това, докато процесът на проучвателно тестване все още е в ход.
Това обаче често е възможно само за грешки, които засягат незначителни части от софтуера.
По-голямо внимание към детайлите
Проучвателното тестване е свързано главно с откриването на нови начини за тестване на дадено приложение, докато го разбирате; това понякога може да означава, че един тест води до друг, като дава идеи на тестващия.
Автоматизираните тестове може да не отчитат това, тъй като са сравнително свободни за екипа по тестване. Ръчните тестери непрекъснато подобряват познанията си за софтуера и разработват нови, но също толкова важни тестове – но това може да бъде трудно, ако софтуер на трета страна ги автоматизира.
Може да открива грешки извън кода
Ръчните проучвателни проверки позволяват на тестващите да разгледат всеки аспект на приложението и софтуера, включително и извън самия код.
Много автоматизирани подходи са ограничени до кода и неговото функциониране, което може да доведе до това екипите за тестване да не забележат проблеми, които могат да се появят в други части на приложението.
Това зависи главно от софтуера за автоматизация, който използвате, тъй като някои решения могат да предложат по-широк подход към проучвателните тестове.
Осигуряване на качеството на целия проект
Автоматизираните проучвателни проверки търсят само грешки и метрики в приложението; вместо това ръчните тестери могат да инспектират софтуера и да предложат собствена изчерпателна обратна връзка.
Например те могат да тестват кода и да установят, че е твърде сложен – това е особено важно, тъй като “мъртвият” код може да забави производителността, но на практика няма да бъде открит от автоматизираните процеси.
Познанията на тестера за софтуера могат да бъдат полезни при диагностицирането на проблеми, които се появяват по време на други фази на тестване.
2. Предизвикателства при ръчното проучвателно тестване
Предизвикателствата при ръчното проучвателно тестване включват:
Възможност за човешки грешки
Автоматизираното проучвателно тестване може да изпълнява една и съща проверка толкова пъти, колкото е необходимо, без да се променя точният ход, което гарантира последователност и надеждни резултати.
Ръчното проучвателно тестване е уязвимо към човешки грешки, което означава, че тестващият може да въведе грешна стойност. Обикновено е възможно тези тестове да бъдат проверени два пъти и да се отстранят всички несъответствия, тъй като те могат да изглеждат очевидни дори на пръв поглед.
Повторното провеждане на тест след забелязване на грешка обаче може да отнеме повече време.
Обикновено отнема повече време
Дори ако тестерите извършват всяка проучвателна проверка правилно и без човешки грешки, този процес отнема значително време в сравнение с автоматизирания софтуер, който може да изчислява тестовете много по-бързо.
Това може да е разлика от минимум няколко часа; време, което тестерите биха могли да изразходват за части от приложението, които няма да имат полза от автоматизацията.
Проучвателните тестове също изискват постоянен надзор, докато автоматизацията позволява тестовете да се изпълняват през нощта.
Дълъг процес на документиране
По подобен начин ръчното документиране по време на и след ръчното тестване може да бъде ненужно натоварване на процеса на проучвателно тестване.
Това затруднява проследяването на промените и редакциите на софтуера с течение на времето – автоматизираният софтуер обикновено може интуитивно да вземе това предвид при провеждането на тестовете.
Това е още един административен въпрос, който отнема време и енергия от други въпроси, което на практика намалява обхвата и обхвата на цялостната процедура за тестване на софтуер.
Трябва да познавате софтуера отблизо
Ръчни тестери с всякакво ниво на умения могат да проверят приложението и да го тестват обстойно. Това се дължи на работата, която те полагат, за да разберат софтуера – първият етап от проучвателния процес.
Въпреки това, ако тестерът се затруднява или не научи как работи това приложение, той вероятно ще се затрудни да разработи и изпълни подходящ набор от тестове.
Доброто познаване на софтуера позволява на тестващите да надхвърлят обичайните параметри на теста.
Скъпа поддръжка
Разчитането на ръчно проучвателно тестване обикновено изисква по-голям екип за тестване, което може да доведе до по-високи дългосрочни разходи в сравнение с автоматизираните проверки. Софтуерът на трета страна, който извършва тези проучвателни тестове, може да предоставя огромна стойност или дори да е напълно безплатен.
В зависимост от сложността на задачите, компанията може да се нуждае от висококвалифицирани тестери с дългогодишен опит, които да проверят изцяло приложението. Това може да увеличи значително разходите за тестване в сравнение с използването на безплатен софтуер за автоматизация.
3. Кога да използваме ръчно проучвателно тестване
Ръчното проучвателно тестване често се сблъсква с редица предизвикателства, но все пак е жизненоважен компонент на задълбоченото тестване на софтуер. Това е така, защото има аспекти на софтуера, които автоматизацията не може да отчете напълно и които също изискват силен фокус.
Например софтуерът не може да осигури надеждна обратна връзка за потребителски интерфейси или тестове на потребителския опит. Тестерите могат да получат добра представа за това как работи дадено приложение на практика само ако го тестват ръчно. Това означава, че както разработчиците, така и екипите за тестване трябва да обмислят интегрирането на поне известна степен на ръчно проучвателно тестване в своите проверки.
Автоматизирано проучвателно тестване
Автоматизираното тестване използва софтуер на трети страни за автоматизиране на определени проверки – обикновено тестерите могат да го персонализират, за да пригодят почти всеки тест.
Това обаче обикновено изисква екипът да извърши проверката ръчно поне веднъж, за да калибрира автоматизацията. Това може значително да оптимизира процеса както за екипите за тестване, така и за тези за разработка.
Въпреки че автоматизирането на проучвателните тестове може да е необичайно, има няколко ясни ползи от това за вашето приложение и неговата производителност.
1. Предимства на автоматизацията на проучвателните тестове
Основните предимства на автоматизацията на проучвателните тестове включват:
Последователно изпълнение на тестовете
Човешката грешка може лесно да доведе до грешки в тестването, чието отстраняване отнема време и средства; автоматизираните проучвателни проверки позволяват на екипите по тестване да заобиколят този проблем.
Тестерите ефективно обучават софтуера за автоматизация как правилно да изпълнява даден тест, като гарантират, че той ще го извършва по идентичен начин всеки път. Това подобрява цялостната надеждност на тестовете и намалява времето, което разработчиците прекарват в очакване на резултатите – особено като се има предвид, че тестващите могат лесно да настроят това да се изпълнява през нощта.
Спестява време на всички
Автоматизираните тестове позволяват на разработчиците да започнат работа по отстраняване на проблеми много по-бързо, като същевременно позволяват на тестерите да обхванат по-широк кръг от проучвателни проверки. Екипът може да отчете само толкова много сценарии, независимо от крайния срок, което означава, че е важно тестерите да вместят възможно най-много проверки в разрешената им времева рамка.
Автоматизацията помага за провеждането на тези проучвателни тестове много по-бързо от ръчните тестери.
Разходно ефективен подход
В зависимост от софтуера, който екипът избере, автоматизацията може да бъде много по-рентабилна от ръчното тестване – може дори да е безплатна.
Макар че все още е изключително важно да се наемат ръчни тестери и някои от тях ще отговарят за калибрирането на процедурите за автоматизация, автоматизирането на възможно най-много проучвателни тестове дава възможност на компанията да намали разходите за персонал.
След като екипът разбере софтуера за автоматизация, той може да го адаптира към широк спектър от задачи.
Адаптивност за множество устройства
Ръчното тестване може да изисква персонал с опит в различни устройства, като например познания за различни операционни системи за телефони, включително Android и iOS, ако създавате мобилно приложение.
Автоматизираният софтуер може да отчете това и да тества множество устройства, за да гарантира, че приложението може да работи постоянно добре. Екипите за тестване, които не познават тези устройства, могат да намерят процеса за досаден; автоматизацията отново е в състояние да рационализира обичайните процеси на проучвателно тестване и да тества всяка итерация едновременно.
Скриптове за многократна употреба
Ако екипът тества няколко версии на един и същ софтуер или дори няколко продукта със сходна архитектура или функции, е възможно да се използват повторно скриптове от един цикъл на тестване до следващия.
Ако са необходими някакви корекции за осигуряване на съвместимост, ръчните тестери могат да ги направят много по-бързо, отколкото да пишат чисто нов скрипт.
Автоматизацията оптимизира почти всеки етап от процеса на проучвателно тестване, като е лесна за настройване в различни софтуерни конфигурации.
2. Предизвикателства при автоматизирането на проучвателните тестове
Този процес включва и различни предизвикателства, като например:
Представя само едната страна на тестването
Не е практично или разумно да се автоматизира всяка проверка по време на тестването на приложението, тъй като има някои аспекти, за които само ръчен тестер може надеждно да предостави обратна връзка.
Това включва и потребителското изживяване, въпреки че в зависимост от избрания софтуер може да е възможно да получите задълбочени анализи на производителността и тестовете за натоварване чрез автоматизация.
Автоматизацията на проучвателните тестове не разполага с човешка преценка и може да работи най-добре заедно с ръчен тестер за някои проверки.
Нереалистични очаквания за възможностите
По подобен начин автоматизираните процедури за проучвателно тестване могат да осигурят огромни ползи за дадено приложение, както и за целия проект.
Този подход обаче невинаги е правилният отговор. Организациите, които разчитат в голяма степен на автоматизацията на всеки етап, могат да имат непълна представа за софтуера.
Автоматизацията идентифицира проблеми, но екипите за тестване и разработка са отговорни за отстраняването им. Важно е да определите цялостна стратегия за автоматизация, така че всички участници в проекта да разбират нейните възможности и ограничения.
По-високи изисквания за умения
Автоматизацията обикновено включва познания как да се изпълняват сложни проверки, както и как да се програмират и действително да се автоматизират. Това често изисква дългогодишен опит в писането на скриптове, въпреки че софтуерът за автоматизация може да помогне за значително оптимизиране на тези процеси.
Изключително важно е компанията да наеме тестери с разнообразни и надеждни умения, за да улесни ефективната автоматизация.
Тестерите с опит в автоматизацията също така знаят кои функции да приоритизират, докато избират от наличните софтуерни опции на трети страни, за да гарантират, че екипът получава добър продукт.
Неправилни стратегии и комуникация
Съобщаването на съгласувана стратегия е от първостепенно значение за всяка успешна автоматизация; разработчиците, тестерите и дори ръководителите на проекта трябва да са на една и съща страница по време на тестването.
Екипите трябва да работят заедно, за да определят обхвата и графика на предстоящите процедури. Това е валидно за всеки процес на тестване, но е особено важно поради допълнителните трудности, свързани с автоматизацията. По-добрите комуникационни линии и липсата на информационни силози позволяват на екипите ви да провеждат тестовете си по-ефективно.
Избор на подходящ софтуер за автоматизация
Автоматизацията обикновено включва избор на приложение от трета страна, което е съвместимо с целите на екипа за тестване. Всяка опция има различни ценови планове и функционалност. Това може да се окаже значителен дългосрочен разход, дори ако софтуерът успешно изпълнява автоматизирани тестове и предоставя значителна стойност.
Съществуват редица безплатни опции, които предлагат впечатляваща функционалност, сравнима с премиум алтернативите. Важно е екипът за тестване да проучи всички налични възможности, включително безплатен софтуер.
Заключение: Автоматизация на проучвателното тестване срещу ръчно проучвателно тестване
Малко са проектите, които се възползват от изцяло ръчно или изцяло автоматизирано тестване, тъй като приложенията от всякакъв вид работят по-добре с комбинация от двете.
Макар че автоматизираните тестове могат да оптимизират процеса за екипите по разработване и осигуряване на качеството, някои аспекти на дизайна изискват ръчно проучвателно тестване; това е единственият начин да се получи обратна връзка от потребителите.
С течение на времето все повече организации работят за внедряване на хиперавтоматизация– процес, който има за цел да увеличи автоматизацията по интелигентен начин, като гарантира, че бизнесът има ефективна стратегия – тя все още може да съществува заедно с ръчното тестване.
Автоматизираното тестване става все по-достъпно за компаниите благодарение на все по-широкото разпространение на софтуера за автоматизация, особено при наличието на няколко безплатни варианта с много функции. Това улеснява фирмите да възприемат комбиниран подход за ръчно/автоматично проучвателно тестване.
Нарастващата популярност на Agile (техника за управление на проекти, която се фокусира върху постепенния, но значителен напредък) в разработването също е фактор, тъй като изисква кратки цикли на тестване. Една комбинирана стратегия за тестване може да се съобрази с тази и с различни други стратегии за развитие, като например непрекъснатото интегриране, което по същия начин изисква многократно тестване, за да се гарантира успех в много итерации на един и същ софтуер.
Какво ви е необходимо, за да започнете проучвателно тестване
Предпоставките за проучвателно тестване са:
1. Ясни цели на тестването
Макар че проучвателното тестване е синоним на свобода и понякога се бърка с ad hoc тестването, то все пак следва конкретни правила или определяеми цели. Единственият начин екипът по осигуряване на качеството да се ориентира успешно в почти всяка структура за тестване е да знае очаквания резултат от всеки тест, особено след като тестерите обикновено сами проектират тези проверки.
2. Креативни, интуитивни тестери
Проучвателното тестване се фокусира върху проектирането на нови и креативни тестове, които могат да разкрият проблеми с дадено приложение. Дори тестери с ограничен опит могат да се справят с това, ако разбират софтуера.
Важно е тестерите да разбират приложението и начина, по който то работи; това им позволява интуитивно да разработят редица полезни проверки.
3. Съгласувана документация
Всеки вид тестване трябва да има подробна документация, за да се гарантира, че всеки член на екипа следва очаквания график за тестване и че никой случайно не повтаря дадена проверка.
Това е жизненоважен аспект на комуникацията в един отдел и в няколко отдела, като например разработчиците, които се нуждаят от редовни актуализации на тестовете, за да разберат как да отстранят проблемите.
4. Гледната точка на клиента
Проучвателното тестване обхваща много стратегии и сценарии, включително такива, които отразяват начина, по който потребителите ще работят с приложението на практика. Изключително важно е екипите за тестване да отчитат това по време на проверките, дори и да не провеждат тестове, базирани на сценарии.
Възприемането на този подход позволява на тестващия да подходи към тестването от различни гледни точки, което подобрява качеството на тези проверки.
5. Софтуер за автоматизирано тестване
Тъй като екипът вероятно може да автоматизира значителна част от тестовете, които проектира, е важно да може да се снабди с висококачествен софтуер за автоматизирано тестване преди етапа на изпълнение.
Разработчиците и екипът за тестване могат да използват своето разбиране за проекта, за да определят приложението от трета страна, което би отговаряло на техните собствени изисквания.
Процес на проучвателно тестване
Конкретните стъпки за проучвателно тестване са следните:
1. Класифицирайте процедурата за изпитване
Първата стъпка на проучвателното тестване е съответните членове на екипа да разберат как могат да подходят към тези проверки, например чрез класифициране на общите грешки и извършване на анализ на първопричината.
Тук тестващите разработват идеите си за самите тестове; в зависимост от точната им методология те могат да разработят и харта на теста.
В него се определят обхватът и тестовете за съответната сесия или работен ден.
2. Започнете тестовете
Въпреки че точните параметри (като например времето за всеки тест или за цялостна сесия) зависят от предпочитанията на екипа и изискванията на проекта, всички проучвателни дейности следват някои общи черти.
След като класифицират съответните проверки, служителите по осигуряване на качеството започват да провеждат тестовете и да записват всички резултати.
Ако проверките изискват автоматизация, тестващите могат да я настроят да работи през нощта или да я наблюдават сами през деня.
3. Преглед на резултатите
Следващият етап е преглед на резултатите и сравняването им с резултатите по подразбиране и очакваните резултати. Ако тези тестове доведат до значителни неочаквани отклонения от какъвто и да е вид, проверяващите могат да повторят проверката или незабавно да започнат да измислят как да поправят това. Предложенията, които те правят на разработчиците, могат да бъдат от съществено значение за определяне на правилния подход, който трябва да се предприеме, а докладите им за грешки могат да съдържат подробна информация за това.
4. Равносметката от теста
След като публикува резултатите от тестовете, екипът за осигуряване на качеството започва да преглежда самата процедура за тестване и я използва, за да определи дали подходът им за проучвателно тестване е бил подходящ.
В този обобщаващ доклад от изпитването може дори да се заключи, че по време на проверките са допуснати оперативни грешки, които изискват повторно изпитване. Екипът за тестване може също така да провери отново приложението, след като разработчиците отстранят тези проблеми, за да определи дали са успешни.
Най-добри практики за проучвателно тестване
Най-ефективните практики за проучвателно тестване включват:
1. Сформиране на двойки тестери
Много форми на проучвателно тестване се възползват от съвместната работа на тестерите – това допълнително оптимизира процеса и позволява да се извлекат множество гледни точки за едни и същи проверки.
Тестването по двойки също така предотвратява възможността за “тунелно виждане”, което насърчава по-креативния дизайн на тестовете.
Няколко души, работещи по едни и същи тестове, могат да доведат до по-голяма точност във всички области, а разпределянето на работното натоварване също така помага за по-бързото провеждане на тестовете от целия екип.
2. Смесване на ръчни и автоматизирани тестове
Някои компании все още се борят да възприемат автоматизацията, а други я използват прекомерно, дори когато ръчните перспективи биха били по-полезни. Балансирането на тези проверки заедно позволява на екипа по тестване да покрие повече бази и да гарантира качеството на цялото приложение, включително за по-субективни аспекти като интерфейса на софтуера.
Съвместното провеждане на ръчни и автоматизирани тестове е единственият начин да се гарантира пълно покритие на тестовете за всяка функция.
3. Разбиране на пазара
По време на процеса на тестване е важно тестерите да познават както целевата си аудитория, така и конкурентите си; това им помага да преценят как хората вероятно ще реагират на текущата функционалност на приложението.
Някои функции са много търсени и екипът по тестване може да се възползва от приоритизирането им по време на проверките. Въпреки че трябва да поддържат и широко покритие на тестовете. Това може да определи посоката на тестване, както и потенциалния успех на софтуера при пускането му на пазара.
4. Използване на реални устройства за тестване
Екипите за тестване на софтуер могат да използват емулатори, за да улеснят проучвателните си проверки; това може да бъде полезно, но рядко отразява практическата среда на потребителя.
Реалните устройства помагат за подобряване на надеждността на проучвателните тестове чрез генериране на по-реалистично преживяване – емулаторите са несъвършени и могат да съдържат грешки, които не са налични при клиентите.
Емулацията е бърз начин за тестване на множество платформи, но не може да замени реалните устройства.
Видове резултати от проучвателен тест
Има различни резултати, които тестващите могат да получат след извършване на проверка, включително:
1. Резултати от тестовете
Самите резултати имат много форми, тъй като проучвателното тестване може да включва стотици уникални тестове. Тези резултати съставляват по-голямата част от резултатите на рутинната програма за тестване и предлагат важна информация за състоянието на приложението и способността му да задоволява нуждите на потребителите.
При получаване на тези резултати тестващите могат да проверят отново системата и да потвърдят информацията, за да определят следващите си действия.
2. Протоколи от изпитвания
Собствените дневници на приложението често разкриват грешки и проблеми по време на процеса на тестване; те предоставят най-сигурните улики за причините, поради които софтуерът се е провалил на даден тест. Старшите тестери са особено опитни в интерпретирането на регистрите на приложението, което им позволява да идентифицират причината за сложни проблеми.
Колкото повече информация получават тестерите от тези дневници, толкова повече могат да помогнат на разработчиците.
3. Доклади от изпитвания
В зависимост от процедурата за автоматизация на екипа техните резултати могат автоматично да генерират доклад за грешка. В него се посочват всички грешки в дадено приложение, включително причините за тях, както и всякакви други данни, които са от значение за разработчиците.
Тестерите могат да използват това, за да предложат собственото си мнение дали софтуерът е готов за пускане, което е известно като решение за пускане/не пускане.
Примери за проучвателно тестване
Ето три примера за това как една компания може да използва проучвателно тестване:
1. Приложение за мобилни игри
Ако компания за игри иска да пусне голяма актуализация на мобилно приложение, изследователските тестери могат да проверят както старите, така и новите функции, за да установят дали приложението все още е стабилно. Това може да доведе до увеличаване на сложността на софтуера до степен, че той да не може да работи на определени устройства.
Тестерите работят, за да сведат до минимум последиците от това, като същевременно гарантират използваемост на възможно най-много платформи.
Изследователските тестери проверяват обстойно играта и многото ѝ сложни сценарии, за да се уверят, че всяка функция работи по предназначение; този процес обикновено изисква ръчен тестер.
2. Уебсайт на доставчика на услуги
Уебсайтовете се подлагат и на проучвателно тестване, за да се гарантира, че работят както за потребителите, така и за персонала, така че тестващите могат да започнат с влизане в уебсайта. По този начин се тества възможността на сайта да създава нови потребителски профили и се проверява дали потребителите нямат достъп до административни функции.
След това тестващите преминават към проверка на услугата, която може да бъде под формата на резервиране на среща или извършване на поръчка. След това те ще завършат покупката, за да се уверят, че касата функционира адекватно, след което ще прегледат имейл потвърждението на поръчката и историята на профила.
3. Система за управление на болницата
Всички видове приложения и системи могат да се възползват от проучвателно тестване. При системите за управление на болници тестващият може да провери как модулът за плащане взаимодейства с други функции.
По-високите нива на интеграция могат да доведат до значителни грешки без стриктно тестване. Тези проверки могат да включват архитектурна диаграма, която проследява многобройните компоненти на системата и начина, по който те се свързват помежду си.
Тестерите разглеждат и проблемите в предишните итерации на системата и проверяват дали те все още са налице, като предприемат бързи действия, ако открият някакви грешки.
Видове грешки и бъгове, открити чрез проучвателно тестване
Грешките, които тестерите могат да открият по време на проучвателното тестване, включват:
1. Несъвместими функции
Някои функции в приложението може да не взаимодействат помежду си както се очаква, което може да доведе до невъзможност потребителите да извършват покупки или да използват приложението. Тестерите проверяват функциите поотделно и в комбинация една с друга, за да се уверят, че всичко си пасва.
2. Неправилен дизайн на потребителския интерфейс
Потребителският интерфейс на дадено приложение определя как точно някой използва софтуера. Например, ако важни функции не са видими за клиентите, те може да не забележат съществуването им, което ограничава удоволствието им от приложението.
Ръчното тестване на потребителския интерфейс идентифицира и коригира неудобния за потребителя дизайн.
3. Грешки при удостоверяване на автентичността
Много приложения и уебсайтове позволяват създаването на потребителски профил с определени привилегии. Изключително важно е тестерите да проверят дали обикновените потребители могат по някакъв начин да получат достъп до чувствителни данни или дори до административни функции, докато използват софтуера по неочакван начин.
4. Мъртъв код
Тестващите могат да открият остарял код, който все още се намира в приложението и който дори може да е причина за забележими проблеми с производителността. Мъртвият код усложнява прекомерно вътрешната работа на приложението и може да доведе до грешки, които могат да бъдат избегнати. Идентифицирането и оптимизирането на това прави софтуера по-отзивчив за персонала и потребителите.
Общи показатели за проучвателно тестване
Обичайните показатели, с които тестерите могат да се сблъскат по време на проучвателните си тестове, включват:
1. Показатели за изпитване на производителността
Проучвателните тестове, които разглеждат общата производителност на приложението, могат да доведат до широк набор от показатели. Това може да включва минимални, средни и максимални времена за реакция, както и проценти на грешки и успехи, за да се определи стабилността.
2. Метрики за покритие на тестовете
Обхватът на тестовете е важен, защото определя колко категории и аспекти на приложението обхващат тестовете. Например процентът на покритие на изискванията оценява дали има функции, които изискват допълнителни кръгове на тестване.
3. Обща ефективност на теста
Проследяването на броя на успешните и неуспешните проверки помага на тестващите да установят общото състояние на приложението. Освен това екипът може да следи колко от откритите грешки са критични.
4. Разпределение на дефектите
По подобен начин проверката на разпределението на дефектите показва компонентите или функциите, които са най-податливи на грешки. Това може да са части от приложението, които често взаимодействат с други, което прави важно тези тестове да бъдат приоритизирани.
5. Регресионни показатели
Проучвателното регресионно тестване позволява на тестващите да видят как се държат различните итерации на един и същ софтуер и как това може да повлияе на производителността.
Процентът на инжектиране на дефекти и дефектите на сглобяване са специфичните показатели, които помагат за това.
Изчистване на някои неясноти: Проучвателно тестване срещу Ad Hoc тестове
Поради силния фокус върху свободата на тестващия, някои хора често бъркат проучвателното тестване с ad hoc тестването. Двата формата имат няколко основни прилики, но в крайна сметка служат за различни цели.
1. Какво представлява Ad Hoc тестването?
Ad hoc тестването е напълно неструктуриран подход, който нарушава конвенционалния дизайн на тестовете, за да открие дефекти, които иначе не биха се появили.
Тази форма на тестване обикновено не включва документация, което затруднява възпроизвеждането на проблеми, освен ако тестващият не е абсолютно сигурен в причината.
Пример за това е “маймунското тестване” – проверка, която включва случайни входни данни и в крайна сметка има за цел да разбие системата.
Подобно на проучвателното тестване, много от ad hoc тестерите работят по двойки, за да извършат тези проверки; това подобрява тяхната надеждност. Един ad hoc подход може да бъде полезен след официалното изпълнение на тестовете, за да се уверите, че проверките отчитат всички възможности; това помага и когато времето за провеждане на допълнителни тестове е ограничено. При правилно изпълнение ad hoc тестовете са изключително полезни.
2. Разлики между проучвателните тестове и Ad Hoc тестовете
Тестването ad hoc обикновено не включва официална документация. Това рязко контрастира с проучвателните тестове, при които импровизираният характер на проверките прави воденето на документация още по-важно.
Проучвателните тестове използват по-голямо разнообразие от официални техники за тестване, докато ad hoc проверките избягват това, като се оглеждат извън конвенционалния етикет за тестване. Това им помага да откриват грешки, които иначе тестерите никога не биха открили.
Проучвателното тестване има ясни цели и граници, но все пак позволява на членовете на екипа да използват креативни тестове. Ad-hoc тестовете обикновено нямат дефинирани крайни цели, освен да подтикнат софтуера към каквото и да било. Ad hoc тестването често включва и предварително познаване на софтуера и неговите функции, докато проучвателното тестване включва изучаването на приложението в обичайните процеси.
Проучвателно тестване в Agile
Методологията Agile силно насърчава непрекъснатото усъвършенстване. Това означава, че тя се съчетава добре с проучвателни тестове, особено с нарастването на търсенето на чести актуализации на софтуера.
Комбинирането на проучвателното тестване с Agile може да осигури на членовете на екипа по-силна структура за тестване, като включи планирането на пускането в експлоатация и изпълнението на спринтовете в техните графици. Компания, която прилага гъвкави техники, може да се възползва от това още повече, като го съчетае с проучвателно тестване; това е чудесен начин за тестване на всеки отделен софтуерен компонент на приложението. Тъй като тестерите могат да извършват проучвателни проверки без скриптове, това спестява много ценно време както на служителите по осигуряване на качеството, така и на разработчиците.
Автоматизираното проучвателно тестване увеличава тези икономии, като помага на компаниите да проверяват последните итерации на своите приложения много по-бързо, потенциално за една нощ. Проучвателните проверки дават бързи и използваеми резултати, а разработчиците могат да предприемат необходимите промени в рамките на следващия спринт.
Ръчното проучвателно тестване все още предлага много предимства в съчетание с Agile поради способността му да идентифицира проблеми, които автоматизираният подход може да пропусне. Другите форми на тестване просто отнемат твърде много време или предоставят твърде малко ползи, за да се вместят удобно в рамките на Agile. Проучвателните проверки могат да гарантират, че всеки етап на Agile значително подобрява софтуера и неговата функционалност.
7 грешки и капани, които трябва да избягвате при прилагането на проучвателни тестове
Ето седем често срещани грешки, които компаниите често допускат при внедряването на проучвателни тестове, както и начините, по които фирмите могат да избегнат тези проблеми:
1. Небалансирано ръчно/автоматично изпитване
Изясняването на тестовете, които работят най-добре с ръчни проверки, и на тези, които биха имали полза от автоматизация, отнема време, но позволява на екипите да тестват много по-ефективно.
Автоматизирането на твърде много тестове може да доведе до създаване на приложение, което е тромаво или не е удобно за потребителя поради липсата на тестващ човек.
2. Ограничения във времето
Проучвателните тестове са по-бързи от много други форми на тестване, но реалността на крайните срокове на проекта означава, че все още има ограничения за броя на тестовете, които екипът може да проведе.
Управлението на времето и ангажираността с обхвата на тестовете помагат на екипа по тестване да извърши възможно най-много проверки в много широки категории.
3. Негъвкави тестери
Макар че проучвателните тестери не изискват предварителни познания за софтуера или особено задълбочени умения, проверките все пак разчитат на способностите и инициативата на отделните членове на екипа.
Ръководителят на проекта трябва да разпредели тези роли за тестване разумно, като при необходимост ги запази за по-креативни и интуитивни членове на екипа.
4. Трудности при възпроизвеждането на неуспехи
Невинаги е ясно кои действия допринасят за неуспеха на теста; може също така да не е ясно кои аспекти на приложението са виновни.
Ето защо много проучвателни подходи включват свързване на тестери по двойки или дори директно записване на екрана на тестера, за да се получи по-ясна представа за проблемите и техните точни причини.
5. Неясна документация
Независимо дали става въпрос за автоматизиран доклад за грешка или за ръчен запис на завършените тестове, добрата документация улеснява разработчиците да предприемат действия по констатациите на екипа по тестване.
Екипът по тестването трябва да се ангажира да осигури висококачествено водене на документация по време на всяка проверка, като предостави възможно най-много подробности във всеки доклад.
6. Високи очаквания
Проучвателното тестване е полезно за почти всеки софтуерен проект, но все пак е ограничено по своя обхват – то работи най-добре в комбинация с други методи за тестване.
Екипите за тестване трябва да извършват тези проверки заедно с обичайните скриптирани тестове; това е единственият начин, по който отделите за осигуряване на качеството могат да гарантират постоянно широко покритие на тестовете.
7. Неправилна автоматизация
Важно е екипът по тестване и ръководителят на проекта да разберат кой софтуер за автоматизация осигурява най-големи ползи за конкретното приложение.
Различните варианти на трети страни предлагат свои собствени уникални характеристики, така че изборът на екипа може да определи успеха на тяхната автоматизация на роботизирани процеси; те трябва да обмислят всички възможности пред тях.
5 най-добри безплатни инструмента за проучвателно тестване
Петте най-добри инструмента за проучвателно тестване, които екипите за осигуряване на качеството могат да използват безплатно, включват:
1. ZAPTEST FREE Edition
ZAPTEST Free предоставя функционалност от първокласно ниво на абсолютно нулева цена, което позволява на всяка организация да се възползва от лесното прилагане на проучвателни тестове.
Това приложение може да автоматизира всяка платформа, устройство и браузър с помощта на иновативната технология 1SCRIPT.
ZAPTEST също така предоставя гъвкава автоматизация на RPA, като ви позволява да я комбинирате с ръчен подход.
2. Проучвателно приложение XRAY
XEA позволява на потребителите да създават изчерпателни планове за тестване и лесно да записват напредъка си, като по този начин рационализират етапа на докладване на грешки при проучвателното тестване.
Тази опция се фокусира изцяло върху гледната точка на потребителя и предлага централизиран център за резултати, който да актуализира други тестери.
Понастоящем обаче XRAY не разполага с интегрирана автоматизация, което може да ограничи ефективността му в дългосрочен план.
3. Магнит за бъгове
Bug Magnet е разширение за браузър, което предлага задълбочено проучвателно тестване и позволява на тестерите да проверяват крайни случаи и други проблемни стойности.
Това разширение също така осигурява лесно интегриране на фиктивен текст, имейл адреси и множество набори от символи.
Тя обаче е налична само за браузъри, базирани на Firefox и Chrome, което я прави по-малко гъвкав избор от конкурентите ѝ.
4. Планове за тестване на Azure
Azure Test Plans е ключова част от платформата Azure на Microsoft и позволява на тестерите да събират богати данни за много сценарии.
Тази опция е подходяща както за настолни, така и за уеб базирани приложения, като същевременно осигурява проследимост от край до край с ясен запис на разработката на софтуера.
Този подход обаче често изисква по-задълбочена интеграция с Azure, което е за сметка на гъвкавостта.
5. Тестини
Testiny е специализирана в ръчното проучвателно тестване, като предлага интелигентен редактор, който позволява на тестерите да проектират проверки, използвайки дървовидна структура за максимална гъвкавост.
Всяка промяна в изпълнението или тестовия случай остава в историята на приложението, за да се гарантира пълна отчетност и проследимост.
Това обаче е безплатно само за малки екипи и проекти с отворен код.
Кога трябва да използвате инструменти за изследователски тестове за предприятия и кога – безплатни?
Въпреки че проучвателните тестове са полезна инвестиция и първокласните приложения обикновено предлагат повече функционалности, има много безплатни варианти, които предоставят повече от достатъчно функции.
Проучвателното тестване може да бъде значителен оперативен разход, ако се ангажирате с премиум модел, но не всяка компания или екип за разработка на софтуер има пари за това. Най-добрият избор на софтуер от трета страна често зависи от специфичните изисквания на фирмата.
Платеното решение може да е единственият начин да се задоволят нуждите на този проект; екипът трябва да проучи различните възможности, преди да се ангажира с дадено приложение.
Компаниите с по-малки екипи могат да се възползват най-много от безплатните инструменти за тестване, тъй като много от опциите са безплатни за ограничен брой потребители.
Като алтернатива те могат да изберат опции без това ограничение и такива, които са в състояние да поемат мащаба на екипа за тестване. Това може да направи още по-целесъобразно свързването на проучвателните тестери в двойки, за да се гарантират по-точни резултати – екипът естествено ще се нуждае от по-малко потребителски профили.
Много услуги предлагат безплатна пробна версия на софтуера си, за да могат организациите да проверят дали той отговаря на техните нужди; обикновено пробните версии продължават само няколко седмици.
Контролен списък, съвети и трикове за проучвателно тестване
Съществуват много допълнителни съвети, които тестващите могат да вземат предвид, когато започват проучвателните си проверки, включително:
1. Разделете функциите и модулите по подходящ начин
За да се избегнат недоразумения, екипите за тестване трябва да изготвят ясен списък на всяка функция и проверките, които възнамеряват да извършат. Това означава също така да се гарантира, че тестовете са адекватно разпределени между функциите на софтуера.
За да се постигнат най-добри резултати, от първостепенно значение е екипът за тестване да се договори кои членове да провеждат всеки тест въз основа на съответните им умения и силни страни.
2. Работете, за да разберете софтуера
Етапът на обучение е важна част от проучвателното тестване. Това означава, че тестерите трябва да работят активно със софтуера и да разберат как работи той, преди да разработят тестовете.
Изучаването на вътрешната работа на този софтуер може да бъде процес на сътрудничество, което ще осигури по-добро разбиране в екипа. Това позволява на тестерите да разработят по-добри проверки и тестови случаи.
3. Определяне на проблемните области
Всяко приложение има функции или компоненти, които се пресичат с други. Тъй като софтуерът става все по-сложен, вероятността да се появят грешки е по-голяма; това може да изисква повече тестове. Екипът трябва да работи активно, за да разбере кои компоненти се нуждаят от допълнителна помощ.
Те могат да използват специфични маршрути за тестване, които най-добре отразяват нуждите на приложението и общите приоритети на екипа за тестване.
4. Започнете с основни потребителски сценарии
Ако е необходимо, екипите за осигуряване на качеството могат да провеждат проучвателни тестове в произволен ред, но може да е по-полезно да се започне с по-лесни проверки, преди да се навлезе в по-сложни функции.
Това дава възможност за плавно преминаване към по-сложен софтуер, което дава възможност на тестващите да го разберат. Това помага също така да се провери дали основните функции работят според очакванията.
5. Свържете тестерите по двойки
Сдвоеното проучвателно тестване оптимизира и валидира етапа на осигуряване на качеството, като позволява на тестерите да работят с абсолютна увереност при всяка проверка. Сътрудничеството прави всяка форма на тестване по-ефективна, тъй като подобрява познаването на софтуера от всеки член на екипа.
Освен това те могат да предоставят много по-задълбочени доклади за грешки, благодарение на индивидуалната си гледна точка, което дава на разработчиците повече информация за работа.
6. Извършване на няколко теста
Възможността на екипа да тества повторно дадено приложение зависи от графика и крайните срокове, които са пред него. Но ако това е възможно, може да е полезно да се проверят два пъти особено проблемните компоненти.
Освен това повтарящите се тестове могат да потвърдят, че откритият преди това проблем е отстранен и няма да повлияе допълнително на софтуера. Понякога е необходимо това старание, за да се гарантира, че тестването е успешно.
Заключение
Изследователското тестване може да предложи много на всички компании за разработване на софтуер, като допълва скриптираното тестване и много други проверки.
С помощта на проучвателното тестване екипите за осигуряване на качеството могат да тестват приложенията по по-висок стандарт, да подобрят качеството на крайния софтуер и да помогнат на разработчиците да отстранят евентуални грешки.
Комбинацията от ръчно и автоматизирано проучвателно тестване може да осигури най-много ползи, като позволи да се обърне еднакво внимание на всички компоненти на софтуера.
Ако вашата компания се нуждае от софтуер за автоматизация на проучвателни дейности, ZAPTEST FREE Edition предлага много по-широка и гъвкава функционалност в сравнение с други премиум приложения, което позволява на тестерите лесно да оптимизират тези проверки.
Често задавани въпроси и ресурси
1. Най-добрите курсове за автоматизация на проучвателни тестове
Както новите, така и опитните изследователски тестери могат да се възползват от курсове за подобряване на уменията си. Това включва и намиране на подход към новия софтуер.
Полезни курсове, които могат да ви помогнат, са:
– Пълният 2023 Bootcamp за тестване на софтуер на Udemy; в него се преподава широко тестване на софтуер в рамките на 28 часа.
– Exploratory Testing (Изследователско тестване) на Coveros; тук се акцентира върху това как да се разработват харти и да се прилагат изследователски тестове към API.
– Двудневно обучение по проучвателно тестване на Polteq; в него се разглежда как проучвателните тестове работят в контекста на Agile.
– Проучвателно тестване на LinkedIn; това показва как съвременното тестване на софтуер е възприело проучвателните проверки.
– “Въведение в тестването на софтуер” на Coursera; това помага на начинаещите тестери да разберат типичните процедури.
2. Кои са 5-те най-важни въпроса за интервюта за проучвателно тестване?
При интервютата за позиции за проучвателно тестване е важно мениджърите по наемане да задават добри въпроси, за да оценят точно уменията и опита на кандидата.
Петте най-важни въпроса, които трябва да зададете, са:
– Какви са основните разлики между скриптираното и проучвателното тестване, включително тяхната пригодност?
– С какви предизвикателства сте се сблъсквали като проучвателен тестер и как сте ги преодолели?
– Дайте примери за проучвателни тестове, които биха имали най-голяма полза от автоматизацията на роботизираните процеси.
– Според вас кое е най-важното умение (техническо или друго) за изследователския тестер?
– Какъв съвет бихте дали на тестер, който се опитва да разбере софтуера и как да го провери?
3. Най-добрите уроци в YouTube за проучвателно тестване
В уебсайтове за споделяне на видеоклипове, като например YouTube, има много безплатни уроци, които могат да помогнат на бъдещите тестери да разберат основните принципи. Някои от тях са част от поредица, а други са единични видеоклипове, които задълбочават темата.
Каналите, които предлагат тези уроци, включват:
– Академията за тестване предоставя стотици видеоклипове, обхващащи всеки аспект на тестването на софтуер.
– Software Testing Mentor, който също предлага обширни видеоклипове за основите на софтуерното тестване.
– QAFox, който също така предоставя примери от реалния свят и проекти на живо, допълващи всички видеоклипове.
– SDET-QA Automation Techie, в който има няколко изчерпателни видеоклипа за различни тестови подходи.
– GlitchITSystem, която разглежда различни уебсайтове с помощта на изследователско тестване, за да се опита да открие грешки.
4. Как да поддържаме проучвателни тестове?
Добре проведените проучвателни тестове включват подробна документация, към която разработчиците и бъдещите тестери се връщат при по-новите итерации на софтуера.
При значителни актуализации на дадено приложение се налага повторно тестване на основните му функции, за да се гарантира, че тези допълнения нямат отрицателно въздействие върху вече съществуващите функции.
Това е единственият начин да се гарантира, че проучвателните тестове ще останат успешни в дългосрочен план. Освен това тя помага да се вземат предвид бъдещите планове, като например предварителни функции, при проектирането на първоначалното приложение и неговите проверки.
Служителите по осигуряване на качеството трябва да планират тези тестове по подходящ начин и да определят кога да проверят приложението отново; инструментите за автоматизирано тестване могат да помогнат на екипа в това.
5. Проучвателно тестване ли е тестването в черна кутия?
Проучвателното тестване е много сходно с тестването в черна кутия, което се отнася до проверка на приложението чрез разглеждане на неговите характеристики, без да се прави директна проверка на кода.
Няма изрично ограничение за видовете проверки, които попадат в обхвата на проучвателното тестване; този подход може да обхване всеки аспект на софтуера, включително кода.
Една от основните прилики между тези два типа тестване е липсата на предварителна информация от страна на тестващия. Тестерите на черната кутия обикновено не познават софтуера преди да го тестват, а изследователските тестери научават как работи софтуерът като част от първоначалното си проучване.
Макар че проучвателното тестване като цяло не винаги се класифицира като тестване на черна кутия, вярно е, че между тези два подхода има значителна кръстоска.