+
Вход

Въведи своя e-mail и парола за вход, ако вече имаш създаден профил в DEV.BG/Jobs

Забравена парола?
+
Създай своя профил в DEV.BG/Jobs

За да потвърдите, че не сте робот, моля отговорете на въпроса, като попълните празното поле:

110-8 =
+
Забравена парола

Въведи своя e-mail и ще ти изпратим твоята парола

Функционално автоматизирано тестване. Какъв tool да изберем?


Функционалното тестване  представлява тестване на интерфейса между приложението от една страна, а от друга потребителя и останалата част от системата. Тестването на функционалността на самата система и нейните компоненти вече е било извършено. Функционалното тестване отговаря на въпросите: „Работи ли тази конкретна част от приложението?“ и „Може ли потребителят да прави това?“. Обикновено нещата са описани в спецификации.
Специфични въпроси, като – Как да дефинираме собствен framework?, Структура, стандартизация, правила и поддръжка?, Защо ни е необходима автоматизация? и много други ще бъдат дискутирани на събитието „A walkthrough of your tailor-made Functional Test Automation Process“. Лектор ще бъде Камен Янков, ръководител на QA екип над 6 години. За да се запознаете с предизвикателствата по пътя на Functional Test Automation процеса, присъединете се към нас на 23-ти Януари, от 19 часа.
Функционалността може да бъде тествана от две перспективи:
–              Requirement-based testing: В този вид тестване изискванията са приоритизирани в зависимост от риска и съобразно с това са приоритизирани и тестовете. Това гарантира, че най-критичните и важни тестове ще бъдат извършени.
–              Business-process-based testing: Този вид тестване използва познанието за бизнес процесите. Тук е описано ежедневното бизнес използване на системата.
Функционалното тестване използва Black Box Testing техники, което означава, че  този, който извършва тестването, не е необходимо да е запознат с вътрешната логика на тестваната система.
Обичайно, функционалното тестване включва следните няколко стъпки:
–              Идентифицира функциите, които се очаква да бъдат изпълнени от софтуера;
–              Създава входни данни, на базата на спецификации;
–              Определя изходът, на базата на спецификации;
–              Изпълнява test case;
–              Сравнява действителния с очаквания резултат;
Ако обърнем поглед назад към подходите в различните видове тестване, конвенционалното схващане е било, че само тестването от вида – regression би трябвало да се автоматизира. Зад този подход е стояла идеята, че софтуерът е необходимо да бъде завършен и напълно стабилен, и чак след това има смисъл от автоматизиране на тестването.
В съвременния подход, автоматизирани тестове, могат да бъдат разработвани и извършвани преди конфигурирането или кодът да са завършени.
Един път създадени, автоматизираните тестове лесно могат да бъдат повторени и разширявани, за да изпълнят определена задача. Поради тази причина, автоматизираното тестване вече е главна съставка на всеки успешен проект.
Някои от ползите на автоматизираното тестване са:
–              Надеждни резултати;
–              Спестяване на време и средства;
–              С около 70 % по-бързо от ръчното тестване;
–              По-голямо покритие на различните характеристики на приложението;
–              Подобрява прецизността и ефективността;
–              Тест скриптове, които могат да се използват многократно;
Функционалното автоматизирано тестване е много важна част от процеса на софтуерната разработка. Успешното му прилагане изисква изпълнението на едни и същи тестови части многократно. Използването на автоматизиран инструмент за тестване прави възможно една и съща част от теста да се запише, и да се използва отново, когато е необходимо.
Инструментите за функционално автоматизирано тестване обикновено управляват потребителският интерфейс, имитирайки човешки действия, след което проверяват за очаквания резултат. Тук важен въпрос, който трябва да бъде зададен е: „Какъв тип приложение ще бъде тествано? Дали компилирано десктоп приложение, уебсайт, уеб приложение, мобилен уебсайт или мобилно уеб приложение?“. Всеки един тип изисква различен подход, както и различен инструмент. Мобилни приложения е трудно да бъдат автоматизирани и тествани в десктоп среда. Те биха могли да работят, но със неочаквани и различни резултати. Освен ако инструментът не е от вида – всичко в едно, малко вероятно е уеб инструмент да поддържа мобилни приложения.
Най-добрият подход е да се избере инструмент, който не само позволява създаването на автоматизирани тестове, а автоматизира напълно целия QA testing процес. По този начин автоматизиращият инструмент може да изпълни почти всяко QA testing действие. Може да пуска по график автоматизирани тестове, да проверява за резултати, да изпраща отчети до различни проследяващи системи и т.н.
Ето някои от най-използваните автоматизирани функционални инструменти за тестване групирани в две категории:
All-in-one инструменти:
–                TestComplete: инструментът е много подходящ за тези, които нямат желание да програмират, работят върху Windows устройства, и искат да тестват в един пакет Windows, уеб и мобилни, iOS и Android приложения.
Test complete има два изгледа – visual и code. Visual изгледът показва команди, следвани от параметри. Потребителят може да гледа теста и да го разчита, следейки дали това е, което софтуерът би трябвало да прави. В code изгледът програмистите биха могли да „опаковат“ кода във функция.
Инструментът осигурява допълнителна платена поддръжка, която включва видео уроци. Основният недостатък на Test complete е със поддръжката на най-новите версии на браузърите, особено IE, заедно с Java Applet-ите, които вървят с него.

Днес те питаме…

Как настоящият ИТ пазар влияе на желанието ти за смяна на работа?
Loading ... Loading …

Цената е базирана на два модела. Може да бъде поръчан единичен лиценз, който е обвързан само с една конкретна машина или плаващ лиценз, който може да се инсталира на няколко машини, но пък е обвързан с единичен потребителски акаунт.
–               Hewlett Packard Enterprise UFT (бившият Quick Test Pro):
Инструментът е по-известен като част от пакет, отколкото като самостоятелно приложение. Препоръчва се за организации, които вече работят с Hewlett Packard Enterprise среда и разчитат на Hewlett Packard Enterprise услуги и поддръжка. UTF също както Test complete изпозва visual модел, но е по-скоро като диаграма, отколкото като грид.
–             Telerik Test Studio:
Pодходящ е за екипи, използващи Microsoft Visual Studio, за създаване на уеб или десктоп приложения. Особено ако става въпрос за екипи, в които има програмисти, допринасящи автоматизиране на тестването. Кодът на инструмента е същият програмен език като Visual studio. Програмисти и тестери дори могат да споделят библиотеки.
–              eggPlant Functional:
Инструментът е насочен към екипи, които пишат код на Linux, Mac или смесена среда. Той записва потребителския интерфейс, след което създава прост скрипт. Скриптът изглежда подобен на BASIC код и може да се добавят прости IF твърдения, променливи и FOR цикли. Според наблюдения, този тип програмиране може лесно да се възприеме от тестващите. Възможно е обаче кодът, който се създаде да бъде толкова сложен, че да бъде трудно да се работи с него.

TestStudio, UFT, eggPlant и  TestComplete –  всички те имат безплатни пробни версии.

Stand-alone инструменти за уеб и мобилно автоматизирано тестване
          Selenium: безплатен, open-source инструмент за тестване на уеб сайтове и уеб приложения. Използван е най-вече от екипи, които имат добри умения в програмирането и искат да тестват уеб приложения през графичен интерфейс.
Най-популярният му компонент е WebDriver. Това е библиотека, използвана в много езици за програмиране, която автоматизира уеб браузър с команди като “open”, “click” и други. WebDriver работи на Internet Explorer, FireFox, Chrome и Safari.
Освен WebDriver, инструментът поддържа много от най-популярните езици за програмиране и скриптове, като Java, C#, Ruby, Python, JavaScript – NodeJS и други.
–           Appium: безплатен, open-source инструмент за тестване на мобилни сайтове и мобилни приложения. Използва същият приложно-програмен интерфейс като Selenium WebDriver. Тестовите рамки, валидни за WebDriver също са валидни и за Appium.
–           Perfecto Mobile: тестването се извършва лесно. Не се изисква почти никакво програмиране. Поддържа Selenium и други рамки с отворен код. Инструментът е подходящ, ако приложението ще се използва от много разнообразни мобилни устройства – Android, iOS, таблети, телефони. Поддържа, както по-стари устройства с малка резолюция на екрана, така и нови устройства, с голяма резолюция.
Един въпрос е особено актуален в последните няколко години. Автоматизираното функционално тестване работи ли добре с облачните технологии?
Според някои, функционалното тестване  не е лесно да бъде превърнато в повторяем процес посредством облачните технологии.
Други забелязват, че те са идеални за тестване на специфични компоненти приложно-програмен интерфейс. Според тях има голям потенциал за рационализация на бизнес ориентираното функционално тестване.
Функционалното тестване досега е било по-слабо податливо на облачните технологии, отколкото техническото тестване. Нуждата от поддръжка на огромен брой устройства от всяка облачна услуга, най-вероятно ще бъде естествен импулс за превръщането на облака в по-добра основа за функционалното тестване.
Стани част по потребителската група Software Quality Assurance. Абонирай се и ще ти изпращаме информация за всичко, което предстои в групата.
Автор: Десислава Танева
Визия: pexels.com
Прочети още:
„Характерно за нас, QA-ите, е че не се вписваме в рамки” – Камен Янков, QA Team Lead
6 от най-популярните Machine Learning алгоритми – приложения и възможности