Strategie rozwiązywania problemów, które występują tylko na określonym urządzeniu

12

Jako programista Androida rynek docelowy, dla którego tworzę aplikacje, jest bardzo rozdrobniony. Chociaż mogę określić pewne wymagania - np. Moja aplikacja obsługuje tylko system Android w wersji xx lub nowszej, czasami mogą wystąpić błędy, które są widoczne tylko w jednym konkretnym modelu telefonu.

Czy istnieją jakieś strategie radzenia sobie z błędami specyficznymi dla urządzenia bez kupowania danego telefonu? Utrzymujemy zestaw telefonów do testowania, ale nie możemy sobie pozwolić na wyjście i zakup nowego telefonu, gdy 2 lub 3 użytkowników zgłosi błąd, który występuje tylko w ich modelu telefonu.

Jestem pewien, że inni programiści Androida napotykali w przeszłości podobne problemy i jestem ciekawy, jakie opłacalne strategie są dostępne, aby pomóc wyeliminować błędy specyficzne dla urządzenia.

Zaktualizuj, aby dodać kilka szczegółów:

  • Używam Bugsense do przechwytywania raportów o błędach, więc za każdym razem, gdy zgłaszane są wyjątki, będę znać model telefonu, ślad stosu, liczbę przypadków, które zdarzyły się moim użytkownikom oraz kilka innych szczegółów.
  • Użytkownicy mogą znajdować się w różnych krajach, więc nie mogę założyć, że kiedykolwiek będę mógł pożyczyć ich telefon.

Wyobraź sobie taki scenariusz: 100 użytkowników zainstalowało aplikację, ale trzy osoby narzekały, że przycisk nie działa poprawnie po naciśnięciu. Żaden z modeli telefonów, które mam do testowania, nie ma problemu. Wydaje się, że nie ma emulatora dla problematycznego modelu telefonu.

StackExchange What The Heck
źródło
2
Nasz lokalny inkubator połączył siły z lokalną firmą telefonii komórkowej, aby stworzyć bibliotekę telefonów komórkowych, aby dokładnie rozwiązać ten problem - możesz znaleźć coś podobnego w twojej okolicy (lub zasugerować to odpowiednim osobom).
Hannele
Stałeś w obronie swojego pytania i poprosiłeś o jego ponowne otwarcie. Upewnij się, że zastanawiasz się nad wyborem odpowiedzi.
JeffO
w celach informacyjnych: meta dyskusja na to pytanie
komnata

Odpowiedzi:

10

Wiele lat temu napotykałem ten sam problem podczas tworzenia oprogramowania dla urządzeń Palm. Istnieje kilka oczywistych strategii:

  • Pomoc użytkownikom w testowaniu - skorzystaj z programu testów beta, poproś swoją aplikację o dobre informacje o błędach oraz dobry sposób zgłaszania błędów.
  • Korzystanie z emulatorów specyficznych dla urządzenia

Oba są jednak dość ograniczające. Rzeczywiste urządzenie nie ma substytutu.

Interesującą rzeczą, na którą natknąłem się, jest AppThwack , firma, która umożliwia zdalne testowanie setek prawdziwych urządzeń z Androidem. Nie mam z tym osobistego doświadczenia, ale wygląda obiecująco (jest to również mocny sygnał, że nie ma łatwej, taniej odpowiedzi na twój problem).


źródło
1
+1 za AppThwack. Mają mnóstwo urządzeń i możesz skierować swoje testy na określone pule urządzeń. Możesz poinstruować oprzyrządowanie, aby robiło zrzuty ekranu i otrzymujesz dzienniki awarii dla każdego urządzenia. Jest to całkiem dobry substytut braku posiadania pod ręką każdego znanego urządzenia (=
David Cowden,
+1 za „najlepszy program testujący”, miałem jeden dla mojej aplikacji do śledzenia baterii na Androida. Gdy wysłałem go do użytkownika, który uzyskiwał dziwne wyniki, i uzyskałem wyniki debugowania, był to moment niezwykle WTF: jakoś spieprzył swój telefon, tak że sam Android zgłasza 60% baterii w jednej minucie, 40% w następnej , 80% następna, a ona wciąż skakała. W tym momencie aplikacji nic nie można zrobić, aby to naprawić, musieli naprawić telefon.
Izkata
-1

Niestety nie ma łatwej odpowiedzi na ten problem.

zawęzić odpowiedź @ dan1111 Pomoc użytkowników w testowaniu Androida

  • dodaj wiele instrukcji dziennika do swojej aplikacji na Androida, które rejestrują ważne informacje kontekstowe à la
    • teraz otwiera bazę danych „/data/data/my.namespace.com/databases/myDatabase.db” lub
    • teraz dzwoni do serwisu „my.server.com/loadingOrder(id=22)”
  • poproś użytkownika, aby zainstalował alogcat na urządzeniu, które może czytać lokalny dziennik debugowania i poinstruował go, jak ustawić filtr w celu śledzenia źródła problemu i wysłać dziennik.
k3b
źródło
jaki jest sens instalacji alogcat, podczas gdy OP twierdzi, że już coś takiego ma: „użyj Bugsense do przechwytywania raportów o błędach, więc za każdym razem, gdy zgłaszane są wyjątki, będę znać model telefonu, ślad stosu, liczbę razy stało się z moimi użytkownikami i kilkoma innymi szczegółami ... ”
gnat