2014-06-11 22 views
7

Obecnie tworzę aplikację na Androida i jestem po najlepszej konfiguracji testowania, aby moja aplikacja była kuloodporna:) Jeśli coś jest małe/duże, prosimy o pochwałę! :)Coś brakuje w mojej konfiguracji testu androida?

Więc moje badania idzie trochę tak: (pamiętać, że moja aplikacja ma serwer back-end)

  1. testy JUnit z Robolectric po stronie aplikacji wobec wszystkich obsługiwanych wersji Androida .
  2. Testy początkowe z mockito po stronie serwera.
  3. Testy integracyjne z robolektrycznym i rzeczywistym wystąpieniem serwera zaplecza. AKTUALIZACJA: prawdopodobnie zakończy się to testowaniem oprzyrządowania i prawdziwym wystąpieniem serwera zaplecza, ponieważ robolectric i usługi Google Play, których używamy w projekcie, nie mają szans.
  4. Testy oprzyrządowania z rzeczywistą instancją serwera zaplecza na wielu urządzeniach (różne rozdzielczości ekranu itp.), Ale przeciwko tylko jednej wersji Androida API - prawdopodobnie najnowszej obsługiwanej. Oznaczałoby to uruchomienie wielu urządzeń wirtualnych z Androidem i uruchomienie testów na każdym z nich. Czytałem, że można robić zrzuty ekranu z ekranów, ale nie jestem pewien, jak możemy sprawdzić, czy zrzuty ekranu są w porządku.
  5. Uruchamianie aplikacji z małpkim biegaczem, ponownie z prawdziwym serwerem.
  6. Testy wydajności, w których najczęściej testujemy interakcje wielu urządzeń z serwerem zaplecza w tym samym czasie. Nie do końca pewny, jak można uruchomić takie testy dla Androida.

Wszystkie te testy będą działać na serwerze TeamCity CI. Staramy się używać roboltryka na jak największej liczbie tych testów, ponieważ jest to o wiele szybsze niż ładowanie testów na urządzeniu.

Moje pytanie brzmi: czy w mojej konfiguracji brakuje czegoś dużego/małego, czy są jakieś ramy, które mogłyby ułatwić nam prowadzenie tych wszystkich testów, oprócz używania robolectric/android maven plugin/teamcity?

+1

Myślę, że twoja konfiguracja jest doskonała od innych. Dodałbym kilka automatycznych testów akceptacyjnych za pomocą appium lub tykwy. Ale najprawdopodobniej twój punkt # 4 to omawia. Nie mam żadnego doświadczenia z testami instrumentalnymi :) –

+0

Testy oprzyrządowania i test webdrivera są różne. Z appium nie można uzyskać dostępu do klas aplikacji. Dlatego czują się bardziej realnie, nieco wolniej niż espresso, które ma dostęp do klas aplikacji. – nenick

Odpowiedz

2

Oprócz korzystania z Robolectric, warto sprawdzić Robotium. Więcej na ten temat omówiono tutaj (https://stackoverflow.com/q/522312/3152743) wraz z innymi metodami testowania, które mogą Cię zainteresować.

+1

Zrobiłem sporo badań na ten temat, dostarczę aktualizacji na ten temat w ciągu tygodnia. Istnieje wiele frameworków, o których nie wiedziałem. Robotium jest naprawdę dobre, ale wydaje się, że espresso jest nowsze i rozwiązuje problemy z synchronizacją podczas oprzyrządowania. –

Powiązane problemy