Systematyczna metodologia zaczyna się od Ustalenia Baseline Środowiskowego, gdzie dokumentujesz kontrolowane warunki oświetleniowe (poziomy luksów, temperatury kolorów) oraz tekstury powierzchni (bogate w cechy vs. jednorodne), aby stworzyć powtarzalne matryce testowe.
Następnie wykonaj Wykrywanie Dryftu na podstawie Sesji, umieszczając punkty kotwicy na wykrytych płaszczyznach i utrzymując feed kamery przez 10-15 minut, okresowo rejestrując współrzędne przestrzenne obiektu wirtualnego w stosunku do fizycznych znaczników referencyjnych.
Dla Walidacji Okluzji wprowadź rzeczywiste fizyczne okludery (krzesła, stoły) w różnych odległościach i kątów, weryfikując, że obiekty wirtualne są poprawnie renderowane zarówno przed, jak i za tymi przeszkodami, w oparciu o dokładność mapy głębokości z LiDAR lub kamer stereoskopowych.
Wdróż Monitoring Stanu Termalnego, uruchamiając intensywne aplikacje w tle GPU przed testowaniem, aby symulować ciepło urządzenia, a następnie mierząc współczynniki klatkowania i śledząc stabilność za pomocą Android GPU Profiler lub Xcode Metal System Trace.
Wreszcie, dokonaj Testowania Parności między Platformami, aby zapewnić, że tolerancja dryftu systemu współrzędnych ARCore odpowiada zachowaniu ARKit w identycznych warunkach środowiskowych, dokumentując różnice w prędkości wykrywania płaszczyzn i utrzymywaniu kotwic.
Podczas walidacji aplikacji detalicznej dla mebli odkryliśmy, że wirtualne kanapy systematycznie dryfowały o 8-12 centymetrów od początkowego umiejscowienia po siedmiu minutach interakcji użytkownika na urządzeniach Samsung Galaxy A52, podczas gdy jednostki iPhone 12 utrzymywały subcentymetrową dokładność w tym samym środowisku.
Problem manifestował się szczególnie na niskotexturowych beżowych wykładzinach pod wykładzinami w ciepłym oświetleniu LED, w połączeniu z ogrzewaniem, które obniżyło wydajność Snapdragon 720G SoC o 40% po długotrwałym renderowaniu AR.
Rozwiązanie A: Tylko Kontrolowane Testy Laboratoryjne
Początkowo rozważaliśmy ograniczenie testów do idealnych warunków z wzorami w wysokim kontraście i ciągłym chłodzeniem klimatyzacyjnym.
Zalety: Wysoce powtarzalne kryteria pass/fail i minimalna ilość zmiennych środowiskowych.
Wady: Nie udało się uchwycić problemu dryftu, który 70% użytkowników zgłosiło w domach z dywanami w neutralnych odcieniach, co uczyniło zestaw testowy nieefektywnym dla zatwierdzenia produkcji.
Rozwiązanie B: Ekskluzywność urządzeń flagowych
Inne podejście polegało na testowaniu wyłącznie na iPhone 15 Pro i Samsung S24 Ultra z dedykowanymi układami chłodzenia.
Zalety: Wyeliminowane zmienne termiczne i pokazana optymalna jakość renderowania PBR.
Wady: Reprezentowało tylko 15% najwyższych użytkowników, maskując krytyczne problemy wydajnościowe, które wpływały na średniej klasy urządzenia, gdzie aplikacja faktycznie wykazywała throttling termiczny i utratę śledzenia SLAM.
Rozwiązanie C: Matryca Stresu Środowiskowego z Profilowaniem Termalnym
Zdecydowaliśmy się wdrożyć kompleksową matrycę łączącą pięć odrębnych tekstur powierzchni (marmur, wykładzina shag, drewno, gładka ściana gipsowa, szkło), trzy scenariusze oświetleniowe (naturalne światło dzienne, fluorescencyjne biuro, ciepłe żarowe), oraz dwa stany termalne (zimny start w porównaniu do temperatury urządzenia 45°C po graniu).
Zalety: Dokładnie odzwierciedlały problemy z dryftem i okluzją zgłoszone przez użytkowników, jednocześnie dostarczając ilościowych danych na temat punktów degradacji termalnej.
Wady: Wymagały 3-krotnego większego czasu wykonania testów i konieczności zakupu różnych próbek podłóg i sprzętu oświetleniowego.
Wybrane rozwiązanie i wynik:
Przyjęliśmy Rozwiązanie C, ponieważ miało bezpośredni związek z raportami o awariach w terenie. Testując na termicznie obciążonych jednostkach Galaxy A52 na beżowym dywanie, potwierdziliśmy, że pewność chmury punktów ARCore spadła poniżej 0,6, co jest wymagane dla stabilnego śledzenia, co spowodowało dryft. Zespół deweloperski wprowadził dynamiczną skalę jakości, która redukowała cieniowanie promieni przy temperaturze urządzenia przekraczającej 42°C, co ustabilizowało śledzenie SLAM i utrzymało stałe współczynniki klatkowania powyżej 30fps.
Jak różnicujesz utratę śledzenia SLAM spowodowaną niewystarczającymi cechami wizualnymi w porównaniu do rozmycia ruchu podczas testowania manualnego?
Wielu kandydatów przypisuje wszystkie niestabilności śledzenia błędom oprogramowania, nie biorąc pod uwagę fizyki środowiskowej. Niewystarczające cechy wizualne (jak białe ściany lub błyszczące powierzchnie) powodują, że ARCore/ARKit na stałe zgłaszają niską pewność trackingState w statycznych warunkach, co widać w Logcat lub logach konsoli Xcode jako błędy "InsufficientFeatures". Z drugiej strony, rozmycie ruchu koreluje z wysokimi odczytami akcelerometru z IMU (Jednostka Pomiaru Inercyjnego), które pokazują szybkie skoki ruchu, podczas gdy feed kamery wykazuje smużenie. Aby rozróżnić ręcznie, trzymaj urządzenie całkowicie nieruchomo; jeśli śledzenie pozostaje niestabilne, winne są cechy wizualne. Jeśli stabilność wraca po zatrzymaniu ruchu, przyczyną jest rozmycie ruchu.
Dlaczego walidacja materiałów PBR jest konieczna w różnych temperaturach kolorów, i jak weryfikujesz dokładność estymacji oświetlenia bez spektrometru?
Kandydaci często testują materiały PBR pod jednym sztucznym oświetleniem i ogłaszają sukces, nie zauważając, że estymacja światła ARKit lub tryb Environmental HDR ARCore mogą źle interpretować światło żarowe 2700K jako światło dzienne 6500K, co powoduje, że metale złote renderują się jako srebrne, a matowe plastiki wydają się metaliczne. Aby przetestować ręcznie bez specjalistycznego sprzętu, umieść fizyczny X-Rite ColorChecker lub standardowy biały papier A4 obok obiektu wirtualnego. Porównaj refleksy spektralne obiektu wirtualnego i odbicia dyfuzyjne z wyglądem fizycznego papieru; jeśli obiekt wirtualny wygląda nienaturalnie chłodno lub ciepło w porównaniu do papieru w tym samym świetle, algorytm estymacji oświetlenia wymaga kalibracji.
Jaki wpływ mają ochraniacze na telefony na wydajność SLAM, i dlaczego testerzy często pomijają tę zmienną?
Inżynierowie QA często testują na gołych urządzeniach deweloperskich, przegapiając, że 85% użytkowników korzysta z ochraniaczy, które mogą blokować czasowe czujniki z odległości lub skanery LiDAR. Gdy te czujniki głębokości są zablokowane, system wraca do śledzenia opartego na kamerze RGB, które ma znacznie niższą dokładność detekcji okluzji i prędkości detekcji płaszczyzn. Testerzy powinni weryfikować na zainstalowanych obudowach, szczególnie grubych, wytrzymałych obudowach lub takich z metalowymi pierścami, i sprawdzać, czy aplikacja elegancko degraduję, pokazując ostrzeżenia "Detekcja powierzchni może być osłabiona" w przypadku wykrycia zablokowania czujnika głębokości za pomocą diagnostyki Camera2 API w Androidzie lub metadanych AVFoundation w iOS.