testim io tutorial speed up authoring
В този практически урок ще научите как да изграждате стабилни тестове за минути с помощта на инструмента за автоматизация Testim и да използвате процеса на машинно обучение, за да ускорите създаването, изпълнението и поддръжката на автоматизирани тестове.
Когато чуем фразата „Инструмент за автоматизация“, основните съображения, които идват на ум по отношение на нашите тестове, включват:
въпроси за интервю за oracle pl sql и отговори за опитен pdf
- Авторство и изпълнение
- Стабилност
- Многократна употреба
- Разширяемост
- Поддръжка
- Отстраняване на неизправности
- Отчитане
- CI / CD интеграция
На пазара има много инструменти, които разглеждат един или няколко от горепосочените фактори, но не всички. Това е мястото, където Testim.io влиза в картината.
Testim.io не е инструмент, а платформа, която включва почти всички основни фактори като създаване и изпълнение, поддръжка, отстраняване на неизправности, отчитане и др., на автоматизирани тестове. С въвеждането на концепцията за динамични локатори те фокусират повече малко видове тестове като функционално тестване, тестване от край до край и тестване на потребителския интерфейс.
Това увеличава разтегливостта и стабилността на вашите тестови пакети. И също така дава на екипите и организациите гъвкавост за разширяване на функционалностите на платформата, използвайки сложна логика за програмиране с JavaScript и HTML.
Ето подробен поглед върху Testim.io и как помага да се преодолеят някои от предизвикателствата, с които клиентите се сблъскват по време на автоматизация.
Какво ще научите:
- С какво този инструмент се различава от другите инструменти?
- Testim.io е платформа, а НЕ запис, нито инструмент за възпроизвеждане
- Адресиране на ключовите фактори
- Заключение
- Препоръчително четене
С какво този инструмент се различава от другите инструменти?
За да разберем как Testim се разграничава от другите инструменти, нека да направим крачка назад как са се развили инструментите за автоматизация през последното десетилетие.
През последните 10 години има няколко инструменти на доставчици и инструменти с отворен код, които се опитват да се справят с различните проблеми, свързани с автоматизираното тестване. Но, един основен проблем, който никой не е разглеждал досега, е използването на статични идентификатори.
Например , да кажем, че разработчик променя името на ID или някакъв атрибут на елемент на уеб страницата. Автоматизираните тестове незабавно се прекъсват поради тази промяна, тъй като тя все още се позовава на старото име на ID. Това води до нестабилни тестове и тестерите трябва да отделят много време за поддържането им.
Те въведоха концепцията за Динамични локатори . Изкуственият интелект (AI) под платформата в реално време анализира всички DOM обекти на страница и извлича обектите и нейните свойства.
И накрая, AI решава най-добрата стратегия за местоположение за намиране на определен елемент въз основа на този анализ.
Поради това, дори ако разработчикът промени атрибута на елемент, тестът продължава да се изпълнява и това води до по-стабилни тестове. В резултат на това създаването и изпълнението на автоматизирани тестове са много по-бързи и по-стабилни.
Testim.io е платформа, а НЕ запис, нито инструмент за възпроизвеждане
На първо място, това не е инструмент, а платформа.
Той има стабилни функции, които не само помагат за автоматизирането на вашите тестове, но също така се грижат и за другите важни аспекти на вашите тестове, като например провеждането на тестовете ви локално и в облака (тяхната частна мрежа или мрежа от трети страни), интегриране с CI / CD системи, улавяне на регистрационни файлове и екранни снимки на пробни пробези, даващи подробно отчитане на пробните пробези с графики, статистически данни и друга свързана информация.
И накрая улесняването на улавянето и докладването на грешки чрез интегриране с широко използваните инструменти за проследяване на грешки.
На второ място, той дава на организациите и екипите гъвкавостта да създават свои собствени обвивки около платформата, като използват сложна логика за програмиране с JavaScript и HTML. По този начин всеки може да разшири функционалността на платформата.
И накрая, платформата се подравнява с Парадигма Shift-Left където разработчиците и тестерите могат да започнат да пишат тестовете от самото начало, като работят върху различни клонове, без да презаписват промените един на друг. Той също така помага на екипите да си сътрудничат и дава гъвкавост на всеки да пише автоматизирани тестове чрез своите вградени функционалности.
По този начин дори нетехническият член на екипа може да направи ценен принос към вашите автоматизирани тестове. Платформата помага да се внедри концепцията, че, автоматизираните тестове трябва да бъдат прости, ефективни, стабилни и съвместни.
Адресиране на ключовите фактори
Как Testim адресира ключовите фактори, които са жизненоважни за автоматизираните тестове?
Авторство и изпълнение
Автоматизираните тестове трябва лесно да се създават и изпълняват от всяко място и по всяко време.
Testim помага да направите това по следните начини:
1) Създаване на тест
Създаваме нов тест, като кликваме върху „Създаване на нов“ или „нов тест“ .
2) Запис и възпроизвеждане на тест
След като щракнем върху „Запис“ бутон, можем да записваме различни действия на потребителя в нашето приложение.
След като запишете различните действия, щракнете върху „Спиране на записа“ бутон, за да завършите записването на нашите тестове. Използвай „Възпроизвеждане“ бутон за повторно възпроизвеждане на записания тест и „Запазване“ бутон за запазване на тестовете.
3) Проверки и твърдения
Тази платформа помага да се направи валидиране на различни атрибути на елемент и наистина прости API.
Различни опции за потребители като:
- Добавяне на персонализирани проверки с помощта на JavaScript и HTML
- Проверка на видимостта на елемента
- Проверка на текста на елемента
- Проверка на ниво пиксел
- Проверка на ниво API
4) Снимки на екрана
Докато всеки тест се записва, платформата прави екранна снимка на всички резултати от Pass и Failed на всяка стъпка. В резултат на това на потребителите е по-лесно да отстраняват проблемите и да разбират какво се случва под капака.
Например , На екрана по-долу ще забележим, че атрибутите на „Изберете дестинация“ бутон са се променили, но тестът все още е стартиран, тъй като инструментът AI използва Динамични локатори . Също така, функционалността на системата не се е променила, а само атрибутът на елемент.
Получаваме и екранната снимка на това, което точно се е случило по време на провеждането на теста, като показваме очакваното изображение (Baseline) и действителното изображение.
(Забележка:Щракнете върху изображението по-долу за увеличен изглед)
5) Обратна връзка за всяка стъпка
Потребителят също така получава обратна връзка за всяка стъпка по отношение на това дали тестовете са преминали или не, като показва a „Зелено“ или „Червена икона“ в горната лява част на всяка стъпка, както е показано по-долу:
6) Тестове за етикетиране
Testim предоставя функцията за етикетиране на всеки тест, който потребителят създава.
Има 2 причини, поради които може да искаме да обозначим тест:
- Помага да се идентифицира причината, поради която тестът е създаден на първо място.
- Помага да стартирате тестовете с един и същ етикет наведнъж чрез функцията CLI.
Начинът, по който създаваме етикети, е чрез щракване върху „Етикет“ или изберете съществуващ етикет или създайте нов.
7) Потребителска документация
Те предоставят на потребителите цялата документация, която ще им е необходима, за да използват различните функции на тази платформа.
Повечето отговори за използването на тази платформа могат да бъдат намерени, като щракнете върху „Образование“ и като посетите сайта за документация, както е показано по-долу:
Поради горните причини Testim.io помага да се направи създаването и изпълнението на тестове наистина бързо и лесно. В рамките на секунди потребителят може да записва, преиграва и записва тестовете.
Стабилност
Тестови приложения Динамични локатори вместо статични идентификатори. Поради това тестовете са по-стабилни и колкото повече изпълняваме тестовете, толкова по-интелигентен става ИИ за осигуряване на по-голяма стабилност на автоматизираните тестове.
Потребителят ще може да види различната стратегия за местоположение, която техният AI използва за намиране на елемент в IDE, чрез Панел със свойства , за всеки елемент, с който взаимодействаме чрез нашите автоматизирани тестове.
Както можем да забележим, AI анализира всички DOM обекти, изброява ги в панела Properties заедно с класирането на всяка стратегия за местоположение за конкретния елемент. По този начин, дори ако атрибутът на даден елемент се промени, тогава AI може да използва различна стратегия за местоположение от вече анализирания списък на DOM обекти.
По този начин потребителят не трябва да се притеснява от нестабилни тестове.
Многократна употреба
Една от добрите практики за писане на автоматизирани тестове е създаването на компоненти за многократна употреба, които могат да се използват в различни части на нашия тестов пакет.
Защо това е важно?
Създаването на компоненти за многократна употреба е важно, защото:
- Помага за увеличаване на четливостта на автоматизираните тестове.
- Спестява усилия, като не се повтаря един и същ набор от стъпки в различни части на тестовете.
- Всички промени в стъпката за многократна употреба трябва да се извършват само на едно място и това се отразява в тестовете, в различни проекти.
- Прави автоматизираните тестове по-разтегателни.
Testim помага да се гарантира повторната употреба от „Групиране“ и „Параметризиране“.
1) Групиране
Всеки брой свързани стъпки може да бъде групиран в един компонент за многократна употреба.
Например - The 'Влизам' Сценарият е една от най-често използваните стъпки във всяко приложение. Начинът, по който можем да създадем стъпка за повторно използване 'Вход', е да изберем стъпките, които искаме да групираме заедно и след това да кликнете върху „Добавяне на нова група“ както е показано по-долу:
2) Параметризиране
Тази платформа дава възможност за тестване на приложението чрез различни входни комбинации чрез параметризиране.
Това може да се постигне по различни начини.
Един от начините да направим това е да дадем всички входни параметри, които ще са ни необходими, за да тестваме приложението под формата на JSON файл в стъпката за настройка (първата стъпка от нашите тестове), както е показано по-долу:
Разширяемост
Този инструмент дава гъвкавост на организациите да разширяват функционалностите на тази платформа, използвайки JavaScript и HTML. По този начин, във всяка функционалност, която тази платформа не обработва, потребителят може да напише собствен код, за да изгради стабилна рамка за автоматизация
Например - Кажете, че искаме да потвърдим „Изберете дестинация“ бутон от предишните ни примери.
Начинът да направите това би бил.
- Кликнете върху „Добавяне на персонализирано действие“.
- Дайте име на новата стъпка и кликнете върху „Потвърждаване“.
- Щракнете върху „PARAMS“ и изберете „HTML“ за този пример.
- Добавете персонализиран код.
- Новата стъпка с Персонализиран код се добавя към списъка на вече съществуващи стъпки.
Поддръжка
Един от най-важните фактори, свързани с автоматизираните тестове, е „ Поддръжка ”.
Много усилия се изразходват за поддържане на тестовете, отколкото за писане на действителните тестове. Това води до загуба на ценни усилия и време от ресурсите, които по-скоро биха могли да отделят това време за тестване на действителното приложение.
Testim помага да се сведат до минимум усилията, необходими за поддържане на автоматизираните тестове по следните начини:
1) Контрол на версиите
Във всеки един момент е важно да имате дневниците на промените, направени в даден тест. По този начин винаги можем да се върнем към по-старата версия на теста, когато и когато е необходимо. Тази платформа предоставя тази функционалност, като показва цялата история на версиите, като отиде в панела Properties на стъпката за настройка и щракне върху „Вижте стари ревизии“ .
2) Разклоняване
В „ Shift Left Paradigm ”, Където разработването и тестването трябва да започнат паралелно възможно най-рано в жизнения цикъл на разработката на софтуер.
Имайки това предвид, че те предоставят функционалността на екипите за създаване на отделни клонове за всеки член на екипа и работа по едни и същи проекти и тестове. По този начин никой не може да замени промените на останалите членове на екипа и екипите могат да работят по една и съща кодова основа по всяко време.
Трябва само да изберете „Вилица“ за да създадете нов клон и можете също да превключвате между съществуващи клонове.
Потребителите имат възможност да планират своите тестове. Това помага да се стартират тестовете автоматично в определен ден и час без никаква ръчна намеса. Също така можем да получаваме известия по имейл в случай на грешки.
Отстраняване на неизправности
Като тестери отделяме значително време за отстраняване на неизправности. За да помогне за отстраняване на неизправности, тази платформа предлага на потребителите различни опции за стесняване на обхвата на проблема.
Тези опции включват:
1) Снимки на екрана
Функцията на екранната снимка, обяснена в раздела „Автор и изпълнение“, помага на потребителите да разберат какво е основното изображение и какво е действителното намерено изображение.
2) Панел със свойства
Панелът за свойства помага да се уловят съобщенията за грешки и да се покажат на потребителя.
Например, Когато елемент не се вижда и тестът се провали, получаваме съобщението за грешка по-долу в панела.
3) Тестови дневници
Дневниците са богат източник на информация за случилото се под потребителския интерфейс. Инструментът предоставя тестови дневници, когато потребителят изпълнява тестовете в нашата мрежа или мрежа от трети страни. Опцията може да бъде намерена в панела със свойства на стъпката за настройка.
4) Документация
Testim положи много усилия, за да документира повечето функции на инструмента в Потребителската документация, която се намира под „Образование“ раздел.
Отчитане
Това е един от най-важните аспекти на вашите тестове, за да получите видимост на тестовете, които са изпълнени, преминали, не са успели, продължителността на изпълнението, какви комбинации от браузъри и т.н.
Testim.io предоставя 2 вида функция за отчитане:
1) Отчитане на Suite и тестови изпълнения
Когато потребителите щракнат върху опцията „Изпълнения“ в страничното меню, те могат да видят целия пакет и тестови стартове с всички необходими подробности, както е показано по-долу. Това помага да се постигне видимост при тестовите писти и помага за по-лесното докладване.
2) Докладване на грешки
Прекарваме значително количество време в един ден, докладвайки грешки. Това е една от най-критичните и отнемащи време части на тестването.
Testim.io помага да се намали времето за докладване на грешки и да се увеличи производителността, като се дава хромирано разширение за бързо улавяне и докладване на грешките. С това разширение можем да заснемем екранни снимки, видеоклипове на грешката и да запишем истински автоматизиран тест. Той се интегрира с повечето широко използвани системи за проследяване на грешки.
След улавяне на дефекта и щракване върху „Публикуване“, той автоматично попълва всички необходими стъпки в описанието на грешките. Той също така добавя екранната снимка, видеото и автоматизираните тестове с дефекта.
(Забележка:Щракнете върху изображението по-долу за увеличен изглед)
CI / CD интеграция
Този инструмент се интегрира с различни CI / CD системи като Jenkins, Travis CI, Circle CI и други инструменти за изграждане. Той също така се интегрира с мрежи от трети страни, хостващи собствен частен облак, за да провеждат тестове. Всичко това става чрез CLI (интерфейс на командния ред), който предоставяме в платформата.
Щракване върху 'Настройки' икона от страничното меню отваря CLI.
Той е предварително попълнен с команди, които трябва да стартират тестовете на CI / CD системи, мрежи на трети страни или техните мрежи. Просто трябва да кликнете върху 'Копие' и буквално поставете командата в който и да е инструмент за изграждане или мрежа, който организацията използва.
CLI също така приема останалите параметри, за да изпълнява специфични тестове, да изпълнява паралелно тестове, да заменя базовия URL и много повече функционалности.
=> Всички параметри, които могат да се използват, са изброени тук в това ръководство за потребителя .
Заключение
Накратко, платформата Testim.io помага да се преодолеят някои от основните предизвикателства с автоматизацията, както е описано в горните раздели. С това можете да направите автоматизацията по-опростена и по-стабилна.
Тази платформа ще помогне:
- Нетехнически членове на екипа, за да се включат в автоматизацията и да напишат солидни тестове.
- Членовете на техническия екип използват сложна логика за програмиране, за да разширят функционалностите на тази платформа.
- Разработването и изпълнението на тестове са супер бързи.
- Тестовете са по-стабилни с използването на „Динамични локатори“ .
Като цяло това е платформа, която помага в различни аспекти на тестовата автоматизация и те са в процес на изграждане на повече функционалности, за да помогнат на пъргавите екипи и организации да си сътрудничат с мотото на ЕДИН ЕКИП И ЕДИН ЦЕЛ.
=> Можете разгледайте повече за този инструмент тук
Чувствайте се свободни да попитате дали имате някакви въпроси, а също така споделете вашите мисли в раздела за коментари, тъй като бихме искали да знаем с какви предизвикателства се сблъсквате с автоматизацията и как успяхте да ги разрешите.
Препоръчително четене
- Как да стартирате паралелно мащабно изпълнение на тестове на Appium
- Интегрирайте се във вашата IDE, за да стартирате вашите тестове за Appium
- Създайте Appium Tests за приложение за Android
- Изпълнение на вашите тестове за Appium в паралел с помощта на Appium Studio за Eclipse
- Създаване на тестове за епохи с помощта на epochs Studio за Eclipse
- Писане на единични тестове със Spock Framework
- Отчитане на спектъра: Как да генерирате тестови отчети и да изпълнявате селективни тестове
- Разполагане на Java: Създаване и изпълнение на Java JAR файл