Agent testowania aplikacji to agent generowania, zarządzania i wykonywania przypadków testowych oparty na Gemini w Firebase. Cele testów określasz w języku naturalnym, a agent wykorzystuje AI do rozpoznawania i obsługi aplikacji, symulowania interakcji użytkowników oraz dostarczania szczegółowych wyników testów.
Jak agent testowania aplikacji wykorzystuje Twoje dane
Agent do testowania aplikacji jest dostarczany przez Gemini w Firebase i podlega tym samym warunkom. Więcej informacji o tym, jak Gemini w Firebase wykorzystuje Twoje dane, znajdziesz w artykule Jak Gemini w Firebase korzysta z Twoich danych.
Zanim zaczniesz
Jeśli nie jest jeszcze zarejestrowana, zarejestruj aplikację w Firebase.
Jeśli nie korzystasz z innych usług Firebase, musisz tylko utworzyć projekt i zarejestrować aplikację. Nie musisz dodawać do niej żadnych pakietów SDK. Jeśli jednak w przyszłości zdecydujesz się używać dodatkowych usług, wykonaj wszystkie czynności opisane w artykule Dodawanie Firebase za pomocą Firebasekonsoli.
Gdy zechcesz udostępnić testerom wersję przedpremierową aplikacji, utwórz plik APK lub pakiet aplikacji na Androida w zwykły sposób i prześlij go do usługi App Distribution w Firebase konsoli. Musisz podpisać plik APK za pomocą klucza debugowania lub klucza podpisywania aplikacji.
Tworzenie przypadku testowego
Aby przeprowadzać testy oparte na AI, agent testowania aplikacji używa przypadków testowych w języku naturalnym do wykonywania testów aplikacji.
Każdy przypadek testowy jest podzielony na kroki, które będą wykonywane po kolei. Kroki umożliwiają podzielenie przypadku testowego na fazy, z których każda ma własne kryteria sukcesu. Podczas jednego kroku agent może wykonać wiele działań.
Aby utworzyć przypadek testowy, otwórz stronę App DistributionFirebase konsoli i wykonaj te czynności:
- Na karcie Test Cases (Przypadki testowe) kliknij New test case (Nowy przypadek testowy). Jeśli nie chcesz tworzyć własnego przypadku testowego, możesz zmodyfikować lub użyć podanego przykładowego przypadku testowego.
- W oknie Dodaj element testowania nadaj elementowi testowania nazwę. Służy do identyfikowania testu, ale jest ignorowany przez agenta.
- (Opcjonalnie) Wybierz przypadek testowy wymagany do spełnienia, który zawiera kroki konfiguracji do wykonania przed głównym testem. Jeśli test wstępny się nie powiedzie, cały test zostanie oznaczony jako nieudany. Kroki i wyniki testów wstępnych i głównych będą wyświetlane razem w wynikach testu.
- Rozważ podzielenie testu na kilka kroków, klikając przycisk Dodaj kolejny krok.
- Każdemu krokowi przypisz cel, który opisuje, co agent testujący aplikację powinien zrobić w danym kroku.
- (Opcjonalnie) Dodaj wskazówkę, aby przekazać dodatkowe informacje, które pomogą testerowi aplikacji zrozumieć i obsługiwać aplikację na tym etapie.
- Dodaj asercję ekranu końcowego, aby pomóc agentowi testowania aplikacji określić, kiedy krok został wykonany. To stwierdzenie powinno odnosić się tylko do tego, co jest widoczne na ekranie.
- Gdy skończysz dostosowywać test, kliknij Zapisz.
Przykładowy element testowania
Poniżej znajdziesz przykład tworzenia przypadku testowego za pomocą agenta testowania aplikacji:
| Testowanie strony głównej | |
|---|---|
Tytuł testowy |
Wczytania strony głównej |
Cel |
Wczytywanie strony głównej |
Podpowiedź |
Przejdź przez ekrany wprowadzające. Zamknij wszystkie wyskakujące okienka. Nie loguj się. |
Kryteria sukcesu |
Główna strona aplikacji jest widoczna na ekranie, wszystkie obrazy są załadowane i nie wyświetlają się żadne błędy. |
Uruchom test
Agent testowania aplikacji umożliwia przeprowadzanie w konsoli testów opartych na AI. Wystarczy kliknąć przycisk Uruchom testy na stronie Wersje lub Przypadki testowe. Otworzy się ekran dostosowywania agenta testowania aplikacji, na którym możesz wybrać co najmniej 1 z dotychczasowych przypadków testowych do wykonania przez agenta. Możesz też wybrać urządzenia, na których chcesz przeprowadzić testy, oraz określić, czy chcesz podać dane logowania.
Gdy test przebiegnie pomyślnie, agent testowania aplikacji zapisze w pamięci podręcznej działania wykonane na każdym urządzeniu. Te działania można odtworzyć podczas przyszłych testów, aby zwiększyć powtarzalność testów. Gdy używane są powtórzone działania, agent nadal będzie używać AI do potwierdzania, że działania zostały wykonane, korzystając z wszelkich zdefiniowanych przez Ciebie asercji dotyczących ekranu końcowego. Jeśli test zakończy się niepowodzeniem podczas korzystania z powtórzonych działań, agent testowania aplikacji powróci do korzystania ze sztucznej inteligencji w przypadku wszystkich działań.
Możesz też przeprowadzić test losowego indeksowania, zmieniając typ testu. Testy losowego indeksowania korzystają z funkcji Automated Tester.
Automatyczne testowanie kompilacji
Aby automatycznie uruchamiać testy agenta App Testing w przypadku nowych kompilacji, np. z potoków CI/CD, możesz rozpowszechniać kompilacje wśród agentów za pomocą wtyczek Gradle lub fastlane App Distribution albo interfejsu wiersza poleceń Firebase.
Importowanie i eksportowanie przypadków testowych za pomocą plików YAML
Importowanie przypadków testowych z plików YAML jest przydatne, gdy chcesz zarządzać przypadkami testowymi poza konsolą Firebase. Eksportowanie przypadków testowych może być też przydatne do przenoszenia ich między projektami. Możesz użyć LLM do ulepszania istniejących przypadków testowych lub tworzenia nowych. Możesz importować i eksportować przypadki testowe ze strony Przypadki testowe w Firebase konsoli lub automatycznie za pomocą interfejsu wiersza poleceń Firebase. Przykład:
- displayName: Setup
id: setup
steps:
- goal: Log in
hint: Any username and password will work
- displayName: Smoke test
id: smoke_test
prerequisiteTestCaseId: setup
steps:
- goal: Go through the onboarding flow
hint: Tap the next button until you reach the home screen
successCriteria: The main app home page is visible
- goal: Open the settings page
hint: The settings button is in the top right corner
successCriteria: The settings page is visible
Wyświetlanie wyników testu
Wyniki testów możesz wyświetlić na stronie Wersje na karcie Agent testowania aplikacji w wersji. Przycisk Wyświetl szczegóły otworzy okno dialogowe Wyniki testu, w którym zobaczysz problemy, zrzuty ekranu aplikacji i działania, które Gemini wykonała podczas testu.
Jeśli test obejmuje odtworzone działania, możesz wyświetlić pierwotny test przeprowadzony z pomocą AI lub wyczyścić pamięć podręczną.
Aby dowiedzieć się więcej o wynikach testu, skorzystaj z tej tabeli:
| Ikona | Nazwa | Opis |
|---|---|---|
| spark | Działanie AI | Wskazuje, że agent testowania aplikacji użył Gemini, aby podjąć działanie lub zakończyć krok. |
| replay | Odtworzone działanie | Wskazuje, że agent testowania aplikacji odtworzył działanie z poprzedniego udanego uruchomienia testu. |
| spark | Asercja AI | Oznacza, że agent testowania aplikacji użył Gemini do sprawdzenia potwierdzenia na ekranie końcowym po odtworzeniu działań z poprzedniego udanego uruchomienia tego samego testu. |
Debugowanie wyników testu
Jeśli wyniki testu różnią się od oczekiwanych, możesz debugować test, korzystając z przełącznika Pokaż widok agenta w sekcji Wyświetl szczegóły na stronie Wyniki testu. Widok agenta pokazuje elementy na ekranie, które agent testujący aplikację wykrył, korzystając z informacji o ułatwieniach dostępu w aplikacji. Jeśli chcesz dokładniej przyjrzeć się temu, co widział agent, możesz pobrać te informacje z menu działań.
Możesz też kliknąć przycisk Wyświetl artefakty na stronie Wyniki testu, aby zobaczyć wszystkie filmy, logi i inne artefakty Cloud związane z wynikami testu.
Znane problemy i ograniczenia
Wersja podglądowa agenta do testowania aplikacji ma pewne znane ograniczenia:
- Agent testowania aplikacji używa generatywnej AI do testowania aplikacji, więc czasami podejmuje różne działania, ale nadal postępuje zgodnie z tymi samymi instrukcjami.
- Agent testowania aplikacji obsługuje tylko te działania: kliknięcie, wpisanie tekstu, przesunięcie w górę/dół/lewo/prawo, długie naciśnięcie, przeciągnięcie i upuszczenie, powrót i oczekiwanie.
- Agent testowania aplikacji ma problemy z przeprowadzaniem testów zawierających tylko jeden krok, który wymaga wykonania wielu działań. Działa lepiej, gdy złożone zadania są podzielone na kilka krótszych etapów.
- Agent testowania aplikacji czasami nie przewija ekranu, aby wyświetlić inne elementy. Dzieje się tak częściej, gdy nie ma wizualnego wskaźnika możliwości przewijania. Aby obejść ten problem, możesz użyć pola „hints” (wskazówki) do sugerowania przewijania.
- Agent testowania aplikacji ma czasami problemy z liczeniem, np. z wykonaniem działania określoną liczbę razy.
- Agent testowania aplikacji nie może poruszać się po aplikacji, jeśli włączona jest funkcja
FLAG_SECURE. Zamiast zrzutów ekranu aplikacji zobaczy tylko pusty ekran.
Limity testowania
W okresie testowym testy oparte na AI będą oferowane bezpłatnie w ramach limitu przydziału. Domyślny limit to 200 testów miesięcznie na projekt Firebase.
Pamiętaj, że jeśli zdecydujesz się uruchomić kilka przypadków testowych lub ten sam przypadek testowy na kilku urządzeniach, będzie to traktowane jako kilka testów. Jeśli na przykład uruchomisz 2 przypadki testowe na 2 urządzeniach, będzie to łącznie 4 testy.
Aby zwiększyć limit powyżej wartości domyślnej, skontaktuj się z zespołem pomocy Firebase i opisz swój przypadek użycia.