6

Niedawno pracowałem nad wieloma biletami na błędy w renderowaniu stron internetowych, które są widoczne tylko w podzbiorze urządzeń z systemem Android (lub nawet na jednym urządzeniu z Androidem). Reprodukowanie błędów w tej kategorii wydaje się naprawdę trudne - czasami stwierdzam, że nie mogę tego zrobić w ogóle, i co gorsza, czasami mogę na niektórych urządzeniach, ale nie na innych i nie mam pojęcia, dlaczego.Jak zidentyfikować czynniki, które pomogą odtworzyć błędy renderowania stron internetowych w przeglądarkach internetowych na Androida?

Jako przykład: jeden bilet został niedawno zgłoszony przez kontrolę jakości jako wpływający na "Galaxy Tab/Android QA 4.1.". Próbowałem

  • uruchomiony emulator (zarówno ADT i Genymotion) 4,1 (nie mógł tam rozmnażać)
  • dwa różne urządzenia Galaxy Tab z Androidem 4.1 (nie można się tam rozmnażać)
  • Galaxy Tab Browserstack za 2 10.1 emulator (z systemem Android 4.0) ... i widziałem dokładnie to, co pokazana na zdjęciu kontrola jakości załączała do biletu , skutecznie odtwarzając problem.

To wspaniałe, że ostatecznie rozwiązałem ten konkretny błąd, ale z drugiej strony łatwo byłoby zrezygnować po pierwszych dwóch próbach i nigdy nie wypróbowałem Browserstack. To na wpół głupie szczęście, że znalazłem sposób na odtworzenie tego. Chciałbym mniej polegać na tym i nauczyć się lepiej (a) zidentyfikować prawdopodobne miejsca, w których mogę odtworzyć problemy (b) grillować QA, aby podać mi wszystkie potrzebne mi szczegóły.

Jakie są odpowiednie zmienne? Mam na myśli takie rzeczy jak:

  • wersji Android
  • wersję przeglądarki
  • wersji Może jądra?
  • Stock vs niestandardowy system operacyjny (jak duża rola może odgrywać producent/operator)?
  • Wymiary ekranu/rozdzielczość ekranu:
  • Inne warianty sprzętowe?

Ale nie wiem zbyt wiele na temat tego, jak te interakcje i jakie inne rzeczy mogą być w grze.

Inny sposób zadawania tego pytania - jeśli ktoś przychodzi do mnie i mówi "Cześć, widzę problem na twojej stronie podczas przeglądania mojego Samsum DroidTab?" (lub inne nieprecyzyjnie określone urządzenie), czego dokładnie muszę się dowiedzieć, aby znaleźć inne urządzenie/emulator, na którym mogę niezawodnie odtworzyć to, co widzą?

Odpowiedz

2

Istnieje kilka elementów, które nazwałbym zmiennymi środowiskowymi. Jako zmienne środowiskowe zdefiniowałbym te czynniki, które wpływają na sposób działania aplikacji lub urządzenia, ale nie zależą od samego urządzenia.

Na przykład, typ połączenia z Internetem jest zmienną środowiskową. Kilkakrotnie miałem problemy z łącznością z Internetem. Zażądałem pełnej informacji o urządzeniu i aplikacji, ale nie udało mi się go odtworzyć. Dopóki nie zdecydowałem się wypróbować różnych połączeń, aż doszedłem do wniosku, że użytkownik znajdował się pod siecią Wi-Fi, która wymagała autoryzacji, a zatem nie można było wykonać niektórych operacji w tle. Gdy urządzenie jest podłączone do sieci Wi-Fi, Android dezaktywuje połączenie 3G, nawet jeśli sieć Wi-Fi nie ma łączności, więc musiałem rozwiązać problem za pomocą haka.

Innym czynnikiem, który może mieć wpływ na to, jak zachowuje się aplikacja, są sytuacyjne sytuacje urządzenia, takie jak poziom naładowania baterii (Google Glasses nie zezwala na używanie poleceń głosowych przy słabym naładowaniu baterii lub niektóre urządzenia nie pozwalają na robienie zdjęć).

Na niestandardową implementację systemu operacyjnego są niewidoczne implementacje systemu operacyjnego (np. Implementacja selektora dat różni się w warstwie Samsung).

Powiązane problemy