testim io tutorial speed up authoring
У цьому посібнику ви дізнаєтесь, як за лічені хвилини створювати стабільні тести за допомогою інструменту автоматизації Testim та використовувати процес машинного навчання для прискорення створення, виконання та обслуговування автоматизованих тестів.
Коли ми чуємо фразу «Засіб автоматизації», основними міркуваннями, які приходять на думку щодо наших тестів, є:
топ 50 кв. хитрих питань для інтерв’ю pdf
- Авторство та виконання
- Стабільність
- Багаторазове використання
- Розширюваність
- Технічне обслуговування
- Вирішення проблем
- Звітність
- Інтеграція CI / CD
На ринку існує безліч інструментів, які стосуються одного або кількох із вищезазначених факторів, але не всіх. Ось тут і з’являється Testim.io.
Testim.io це не інструмент, а платформа, що включає майже всі основні фактори, такі як створення та виконання, обслуговування, усунення несправностей, звітування тощо, автоматизованих тестів. З введенням в концепцію динамічних локаторів вони зосереджують більше кількох типів тестування, таких як функціональне тестування, наскрізне тестування та тестування інтерфейсу користувача.
Це збільшує розширюваність і стабільність ваших тестових наборів. А також надає командам та організаціям гнучкість для розширення функціональних можливостей платформи, використовуючи складну логіку програмування з JavaScript та HTML.
Ось детальне уявлення про Testim.io та те, як це допомагає подолати деякі проблеми, з якими стикаються клієнти під час автоматизації.
Що ви дізнаєтесь:
- Чим цей інструмент відрізняється від інших інструментів?
- Testim.io - це платформа, а НЕ запис, ані інструмент відтворення
- Вирішення ключових факторів
- Висновок
- Рекомендована література
Чим цей інструмент відрізняється від інших інструментів?
Щоб зрозуміти, як Testim відрізняється від інших інструментів, давайте зробимо крок назад у тому, як інструменти автоматизації розвивалися за останнє десятиліття.
За останні 10 років було кілька інструментів постачальників та інструментів з відкритим кодом, які намагались вирішити різні проблеми, пов’язані з автоматизованим тестуванням. Але одна з основних проблем, яку досі ніхто не вирішував, - це використання статичних ідентифікаторів.
Наприклад , скажімо, розробник змінює ім'я ідентифікатора або якийсь атрибут елемента на веб-сторінці. Автоматизовані тести негайно розриваються через цю зміну, оскільки вона все ще посилається на старе ім'я ідентифікатора. Це призводить до нестабільних тестів, і тестувальникам доводиться витрачати багато часу на їх обслуговування.
Вони ввели поняття Динамічні локатори . Штучний інтелект (AI) під платформою в режимі реального часу аналізує всі об'єкти DOM сторінки та витягує об'єкти та його властивості.
Нарешті, ШІ вирішує найкращу стратегію розташування для визначення конкретного елемента на основі цього аналізу.
Завдяки цьому, навіть якщо розробник змінює атрибут елемента, тест все одно продовжує виконуватися, і це призводить до більш стабільних тестів. В результаті цього створення та виконання автоматизованих тестів є набагато швидшими та стабільнішими.
Testim.io - це платформа, а НЕ запис, ані інструмент відтворення
Перш за все, це не інструмент, а платформа.
Він має надійні функції, які не тільки допомагають автоматизувати ваші тести, але й піклуються про інші важливі аспекти ваших тестів, такі як тестування локально та в хмарі (їх приватна сітка або стороння сітка), інтеграція з CI / CD системи, що реєструють журнали та скріншоти тестових запусків, надаючи детальну звітність про тестові запуски з графіками, статистикою та іншою відповідною інформацією.
І нарешті, спростити звіт про помилки та повідомити про них завдяки інтеграції із широко використовуваними інструментами відстеження помилок.
По-друге, це дає організаціям та командам гнучкість у створенні власних оболонок навколо платформи, використовуючи складну логіку програмування з JavaScript та HTML. Таким чином, кожен може розширити функціонал платформи.
Нарешті, платформа вирівнюється з Парадигма Shift-Left де розробники та тестувальники можуть починати писати тести з самого початку, працюючи над різними гілками, не перезаписуючи зміни один одного. Це також допомагає командам співпрацювати та забезпечує гнучкість для всіх, хто пише автоматизовані тести за допомогою вбудованих функціональних можливостей.
Таким чином, навіть нетехнічний член команди може зробити цінний внесок у ваші автоматизовані тести. Платформа допомагає вселити концепцію, що, автоматизовані тести повинні бути простими, ефективними, стабільними та спільними.
Вирішення ключових факторів
Як Testim розглядає ключові фактори, які є життєво важливими для автоматизованих тестів?
Авторство та виконання
Автоматизовані тести повинні легко створюватися та виконуватися з будь-якого місця та в будь-який час.
Testim допомагає зробити це наступними способами:
1) Створення тесту
Ми створюємо новий тест, натискаючи на “Створити новий” або “Новий тест” .
2) Запис та відтворення тесту
Як тільки ми клацнемо на “Запис” кнопки, ми можемо записати різні дії користувача в нашому додатку.
Після запису різних дій натисніть на “Зупинити запис” , щоб закінчити запис наших тестів. Використовувати “Грати” кнопку для відтворення записаного тесту та “Зберегти” , щоб зберегти тести.
3) Перевірки та твердження
Ця платформа допомагає перевірити різні атрибути елемента та дуже прості API.
Різні варіанти для користувачів, такі як:
- Додавання власних перевірок за допомогою JavaScript та HTML
- Перевірити видимість елемента
- Перевірити текст елемента
- Перевірка рівня пікселів
- Перевірка рівня API
4) Знімки екрана
Поки кожен тест записується, платформа робить скріншот усіх результатів проходження та невдалих результатів кожного кроку. Як результат, користувачам легше вирішити проблеми та зрозуміти, що відбувається під капотом.
Наприклад , На скріншоті нижче ми помітимо, що атрибути “Вибрати пункт призначення” кнопки змінилися, але тест все ще працював, оскільки використовувався інструмент AI Динамічні локатори . Крім того, функціональність системи не змінилася, а лише атрибут елемента.
Ми також отримуємо знімок екрана того, що саме сталося під час запуску тесту, відображаючи очікуване зображення (базовий рівень) та фактичне зображення.
(Примітка:Клацніть на зображення нижче, щоб збільшити його)
5) Відгуки про кожен крок
Користувач також отримує зворотний зв'язок щодо кожного кроку з точки зору того, пройшли тести чи не пройшли, показуючи a “Зелений” або “Червона ікона” у верхній лівій частині кожного кроку, як показано нижче:
6) Тести маркування
Testim надає функцію маркування кожного тесту, який створює користувач.
Є дві причини, з яких ми можемо захотіти позначити тест:
- Допомагає виявити причину, з якої в першу чергу було створено тест.
- Допомагає запускати тести з однаковою міткою відразу за допомогою функції CLI.
Ми створюємо мітки, натискаючи на “Етикетка” або виберіть існуючу мітку або створіть нову.
7) Документація користувача
Вони надають користувачам всю документацію, необхідну для використання різних функцій цієї платформи.
Більшість відповідей щодо використання цієї платформи можна знайти, натиснувши на “Виховувати” вкладку та відвідавши сайт документації, як показано нижче:
Через вищезазначені причини Testim.io допомагає зробити розробку та виконання тестів дійсно швидкими та простими. Протягом декількох секунд користувач може записати, повторити і зберегти тести.
Стабільність
Тестування використання Динамічні локатори замість статичних ідентифікаторів. Завдяки цьому тести стають стабільнішими, і чим більше ми запускаємо тести, тим розумнішим стає ШІ, забезпечуючи більшу стабільність автоматизованих тестів.
Користувач зможе побачити різну стратегію розташування, яку використовує його ШІ для пошуку елемента в IDE, через Панель властивостей , для кожного елемента, з яким ми взаємодіємо за допомогою наших автоматизованих тестів.
Як ми можемо помітити, ШІ аналізує всі об'єкти DOM, перераховує їх на панелі властивостей разом із рейтингами кожної стратегії розташування для цього конкретного елемента. Таким чином, навіть якщо атрибут елемента змінюється, ШІ може використовувати іншу стратегію розташування, ніж уже проаналізований список об'єктів DOM.
Таким чином, користувачеві не доведеться турбуватися про нестійкі тести.
Багаторазове використання
Однією з найкращих практик написання автоматизованих тестів є створення багаторазових компонентів, які можна використовувати в різних частинах набору тестів.
Чому це важливо?
Створення багаторазових компонентів важливо, оскільки:
- Це допомагає підвищити читабельність автоматизованих тестів.
- Економить зусилля, не повторюючи однаковий набір кроків у різних частинах тестів.
- Будь-які зміни етапу багаторазового використання слід робити лише в одному місці, і це відображається під час тестів у різних проектах.
- Робить автоматизовані тести більш розширюваними.
Testim допомагає забезпечити багаторазове використання “Групування” та “Параметризація”.
1) Групування
Будь-яку кількість пов’язаних кроків можна згрупувати в один компонент багаторазового використання.
Наприклад - The “Вхід” Сценарій - це один із найбільш часто використовуваних кроків у будь-якій програмі. Спосіб, за допомогою якого ми можемо створити багаторазовий крок «Вхід», - це вибрати кроки, які ми хочемо об’єднати, а потім натиснути на “Додати нову групу” як показано нижче:
2) Параметризація
Ця платформа надає можливість тестування програми за допомогою різних комбінацій введення за допомогою Параметризації.
Цього можна досягти різними способами.
Один із способів зробити це - вказати всі вхідні параметри, які нам потрібні для тестування програми, у вигляді файлу JSON на етапі налаштування (перший крок наших тестів), як показано нижче:
Розширюваність
Цей інструмент надає організаціям гнучкість для розширення функціональних можливостей цієї платформи за допомогою JavaScript та HTML. Таким чином, у будь-яких функціональних можливостях, які ця платформа не обробляє, користувач може написати власний код для створення надійної системи автоматизації
Наприклад - Скажімо, ми хочемо перевірити “Вибрати пункт призначення” з попередніх прикладів.
Шлях для цього був би.
- Натисніть на “Додати спеціальну дію”.
- Дайте ім’я Новому кроку та натисніть на “Підтвердити”.
- Клацніть на “PARAMS” та виберіть “HTML” для цього прикладу.
- Додайте власний код.
- Новий крок з Спеціальний код додається до списку вже існуючих кроків.
Технічне обслуговування
Одним з найважливіших факторів, пов’язаних з автоматизованими тестами, є “ Технічне обслуговування '.
На ведення тестів витрачається багато зусиль, ніж написання власне тестів. Це призводить до втрати цінних зусиль та часу з ресурсів, які могли б витратити цей час на тестування реального додатка.
Testim допомагає мінімізувати зусилля, необхідні для підтримки автоматизованих тестів, такими способами:
1) Контроль версій
У будь-який момент важливо мати журнали того, що було внесено до певного тесту. Таким чином, ми завжди можемо повернутися до попередньої версії тесту, як і коли потрібно. Ця платформа забезпечує цю функціональність, показуючи всю історію версій, перейшовши на панель властивостей кроку налаштування та натиснувши на “Див. Старі версії” .
2) Розгалуження
В ' Зсув лівою парадигмою ”, Де і Розробка, і Тестування повинні починатися паралельно якомога раніше у життєвому циклі розробки програмного забезпечення.
Маючи це на увазі, що вони надають командам функціонал для створення окремих гілок для кожного члена команди та роботи над одними і тими ж проектами та тестами. Таким чином, ніхто не може перезаписати зміни інших членів команди, і команди можуть працювати в будь-який час на одній базі коду.
Вам просто потрібно вибрати “Вилка” щоб створити нову гілку, а також ви можете переключатися між існуючими гілками.
Користувачі мають можливість планувати свої тести. Це допомагає запускати тести автоматично в певний день і час без будь-якого ручного втручання. Ми також можемо отримувати сповіщення електронною поштою у разі помилок.
Вирішення проблем
Як тестувальники, ми витрачаємо значну кількість часу на вирішення проблем. Щоб допомогти у вирішенні несправностей, ця платформа пропонує користувачам різні варіанти звуження масштабу проблеми.
Ці варіанти включають:
1) Знімки екрана
Функція скріншоту, описана в розділі «Розробка та виконання», допомагає користувачам дізнатися, яким було базове зображення та яке фактично знайдене зображення.
2) Панель властивостей
Панель властивостей допомагає фіксувати повідомлення про помилки та відображати їх користувачеві.
Наприклад, Коли елемент не видно і тест не вдається, на панелі з’являється повідомлення про помилку нижче.
3) Тестові журнали
Журнали - це багате джерело інформації про те, що сталося під інтерфейсом користувача. Інструмент надає журнали тестів, коли користувач запускає тести на нашій сітці або сторонній сітці. Опцію можна знайти на панелі властивостей кроку налаштування.
4) Документація
Testim доклав чимало зусиль, щоб задокументувати більшість функцій інструменту в Документації користувача, яка знаходиться під “Виховувати” вкладку.
Звітність
Це один з найважливіших аспектів ваших тестів, щоб отримати видимість того, які тести виконувались, проходили, не вдавались, тривалість запуску, які комбінації браузера тощо.
Testim.io пропонує 2 типи функції звітування:
1) Звітування про тестування Suite та Test
Коли користувачі натискають у бічному меню опцію «Запуск», вони можуть побачити весь пакет і тестові запуски з усіма необхідними деталями, як показано нижче. Це допомагає отримати видимість під час пробних запусків та полегшує звітування.
2) Повідомлення про помилки
Ми витрачаємо значну кількість часу на день, повідомляючи про помилки. Це одна з найбільш критичних та трудомістких частин тестування.
Testim.io допомагає скоротити час повідомлення про помилки та підвищити продуктивність, надаючи розширення chrome для швидкого збору та повідомлення про помилки. За допомогою цього розширення ми можемо робити знімки екрана, відео помилки та записати фактичний автоматизований тест. Він інтегрується з більшістю широко використовуваних систем відстеження помилок.
Після фіксації дефекту та натискання на “Опублікувати”, він автоматично заповнює всі необхідні кроки в описі помилки. Він також додає скріншот, відео та автоматизовані тести з дефектом.
(Примітка:Клацніть на зображення нижче, щоб збільшити його)
Інтеграція CI / CD
Цей інструмент інтегрується з різними системами CI / CD, такими як Jenkins, Travis CI, Circle CI та іншими інструментами побудови. Він також інтегрується із сторонніми сітками, що розміщують власну приватну хмару для запуску тестів. Все це робиться через інтерфейс командного рядка (CLI), який ми надаємо на платформі.
Клацнувши на “Налаштування” піктограми з бічного меню відкриває CLI.
Він попередньо заповнюється командами, які потребують запуску тестів на системах CI / CD, сторонніх сітках або їх сітках. Ми просто повинні натиснути на “Копіювати” і буквально вставте команду в будь-який інструмент побудови або сітку, яку використовує організація.
CLI також приймає інші параметри для запуску конкретних тестів, паралельного запуску тестів, заміщення базової URL-адреси та набагато більше функціональних можливостей.
=> Всі параметри, які можна використовувати, перелічені тут цього посібника користувача .
Висновок
У двох словах, платформа Testim.io допомагає подолати деякі основні проблеми за допомогою автоматизації, як описано у вищенаведених розділах. Завдяки цьому ви можете зробити автоматизацію простішою та стабільнішою.
Ця платформа допоможе:
- Нетехнічні члени команди беруть участь в автоматизації та пишуть надійні тести.
- Члени технічної групи використовують складну логіку програмування для розширення функціональних можливостей цієї платформи.
- Розробка та виконання тестів надзвичайно швидкі.
- Тести більш стабільні при використанні “Динамічні локатори” .
Загалом це платформа, яка допомагає в різних аспектах автоматизації тестів, і вони в процесі створення більше функціональних можливостей, щоб допомогти гнучким командам та організаціям співпрацювати з девізом ОДНА КОМАНДА І ОДИН ЦІЛ.
=> Ви можете дізнайтеся більше про цей інструмент тут
Не соромтеся запитати, чи є у вас запитання, а також поділіться своїми думками в розділі коментарів, оскільки ми хотіли б знати, з якими проблемами ви стикаєтесь з автоматизацією та як вам вдалося їх вирішити.
Рекомендована література
- Як запустити паралельно широкомасштабне виконання тестів на аппіумі
- Інтегруйте у свою IDE для запуску тестів на Appium
- Створіть тести Appium для програми для Android
- Запуск тестів на Appium паралельно за допомогою Appium Studio для Eclipse
- Створення тестів епох за допомогою epochs Studio для Eclipse
- Написання модульних тестів із Spock Framework
- Specflow Reporting: Як створити звіти про тести та виконати селективні тести
- Розгортання Java: створення та виконання файлу Java JAR