Извършване на тестове в облака с помощта на Firebase Test Lab

  • Облачна платформа за тестване за валидиране на приложения на реални устройства и iOS/Android без локална физическа инфраструктура.
  • Възможност за провеждане на инструменти, Robo и XCTest тестове, използвайки персонализируеми конфигурационни матрици.
  • Вградена интеграция с Android Studio и CI/CD потоци за автоматизиране на откриването на грешки преди внедряване.
  • Подробен анализ на резултатите с помощта на лог файлове, екранни снимки и видеоклипове за изпълнение, за да се оптимизира качеството на софтуера.

Извършване на тестове в облака с помощта на Firebase Test Lab

Когато се захващаме с разработването на мобилно приложение , едно от най-големите предизвикателства е да осигурим безупречно потребителско изживяване на всяко устройство. Не е лесна задача да накараме реални хора да тестват всеки аспект на приложението, камо ли да имаме голямо разнообразие от телефони от всякакви марки и модели. Тук се намесва Firebase Test Lab , решение на Google, което ни позволява да облекчим натоварването си, като делегираме тестването в облака.

По принцип говорим за среда, в която можем да стартираме приложението си на голям набор от физически и виртуални устройства, без да се налага да ги купуваме или съхраняваме в офис. Това е идеалният инструмент за тези, които търсят стабилност и надеждност, позволяващ ни да откриваме критични грешки, преди да достигнат до крайните потребители, като същевременно оптимизираме разходите и времето за разработка по забележителен начин.

Какво точно е Firebase Test Lab и за какво се използва?

Тази платформа е по същество лаборатория за устройства, хоствана в центровете за данни на Google. Основната ѝ цел е да позволи на разработчиците лесно да оценят съвместимостта и производителността на своите приложения за Android и iOS. Чрез използването на реален хардуер, тя избягва онези фантомни грешки, които се появяват само при специфични конфигурации на екрана, региони или версии на операционната система.

Диагностика и проследяване на грешки с Firebase Crashlytics
Свързана статия:
Диагностика и проследяване на грешки с Firebase Crashlytics

За да ви дам представа, компании като American Express успяха да намалят разходите си за тестване с 50%, като преместиха непрекъснатото си интеграционно тестване в тази виртуална среда, което позволи на техните инженери да се съсредоточат върху създаването на нови функции, вместо да се борят с кабели и физически устройства. Важно е обаче да се разбере, че този инструмент не е предназначен за тестване на натоварване на backend сървъри, а по-скоро за валидиране на поведението на приложението от страна на клиента.

Видове тестове, които можете да провеждате

В зависимост от това какво трябва да тестваме, Test Lab предлага различни пътища. От една страна, има инструменти за Android , които могат да бъдат допълнени с автоматизирано тестване на потребителски интерфейс, използвайки Espresso . Те изискват предварително написан код за валидиране на специфични функции. От друга страна, има Robo тест , който е фантастичен, защото не изисква писане на нито един ред код; инструментът автоматично сканира приложението, за да открие потенциални грешки.

Преминавайки към екосистемата на Apple, ние предлагаме XCTest поддръжка за iOS , което гарантира постоянно качество и в двете платформи. Освен това, за разработчиците на игри има Game Loop , съвместим както с iOS, така и с Android. След като изберете предпочитания от вас метод, просто пакетирайте приложението си и го качете в конзолата на Firebase, за да започнете.

Поетапно изпълнение на работния процес и внедряване

Тестова настройка

За да стартираме всичко това, първата стъпка е да подготвим приложението. След като бъде качено във Firebase, трябва да дефинираме тестовата матрица . Това включва избор на набор от устройства, версии на операционните системи, ориентации на екрана и настройки за локализация, които искаме да тестваме. Все едно създаваме реален сценарий, в който нашето приложение ще трябва да оцелее.

инструменти за създаване на приложения за android
Свързана статия:
Пълно ръководство: Инструменти за създаване на Android приложения от нулата (Native, кросплатформени, без код и с изкуствен интелект)

Ако предпочитате да останете в рамките на работната си среда, интеграцията с Android Studio е безпроблемна. От менюто с настройки за изпълнение можете да добавите нова конфигурация „Android Instrumented Tests“ и в секцията Target да изберете Firebase Test Lab Device Matrix . Просто се удостоверете с вашия Google акаунт и изберете свързания проект, за да задействате тестовете директно от IDE.

За тези, които искат да издигнат автоматизацията на следващото ниво, е възможно да интегрират Test Lab в CI/CD конвейери, като например GitHub Actions, GitLab CI или Jenkins. Използвайки gcloud CLI или Firebase CLI, можете да извиквате команди за автоматично изпълнение на тестове всеки път, когато се пусне нов код, като по този начин гарантирате, че никоя версия с критични грешки не достига до продукция.

Анализ на резултатите и оптимизация на качеството

След като тестовете приключат (което може да отнеме няколко минути в зависимост от размера на масива), Firebase ни предоставя подробен и изчерпателен отчет . Това не е просто „преминал“ или „неуспешен“; получаваме пълни лог файлове, екранни снимки на всяка стъпка и, най-важното, видеоклипове на изпълнението . Това е безценно за възпроизвеждане на грешки, които иначе биха били невъзможни за проследяване.

Когато анализираме резултатите, трябва да разгледаме стека в лог файловете, за да определим точния ред на срива и да използваме видеоклиповете, за да разберем потребителския поток, който е причинил грешката. Мониторингът на показатели като процент на сривове и честота на инцидентите ни позволява да вземаме решения, основани на данни, като приоритизираме корекциите, които засягат най-много потребители.

Производителност на Firebase
Свързана статия:
Пълно ръководство за анализ на потребителското поведение с Firebase Analytics

В Android Studio, прозорецът „Run“ ни позволява да сравним очакваната стойност с действителната стойност при неуспешни тестове, което улеснява незабавното отстраняване на грешки. Освен това можем да използваме инструменти за покритие на кода , за да определим точно какъв процент от нашата логика е валидирана, като по този начин гарантираме, че не сме оставили никакви недовършени задачи в архитектурата на приложението.


Добавяне като предпочитан източник в Google