2015-05-13 11 views
8

Wiem, że jest to nużący temat dla wszystkich programistów Androida. Ale czym właściwie jest prawidłowe podejście do testowania Androida?Prawidłowe podejście do testowania urządzeń z Androidem

Oto, co mogę zobrazować.

70% Testy jednostkowe (JUnit, aby przetestować wszystkie logiki biznesowej, warstwa sieciowa, warstwa bazy danych itd ...)

20% Test Integration (Być może badania przed serwerem makiety? Testowania głównie wyniki API?)

Testowanie 10% interfejsów użytkownika (pozorowanie innych elementów niż interakcje w interfejsie użytkownika, najprawdopodobniej Mockito + Espresso)

Czy to jest to, co wszyscy inni obserwują, czy jest inny wzór?

Z góry dziękuję!

+0

Ta suma 100% zawiera podsumowanie logiki aplikacji lub sumę liczby testów? – hidro

+0

Witam @hidro 100% procent to uzasadnienie struktury testu Androida. Nie specjalnie do mojego projektu :) – WenChao

Odpowiedz

6

To pytanie i moja odpowiedź, nie ma nic wspólnego z Androidem, ale to dobrze.

Lekko zmodyfikowałem twoje założenia, ale zasada jest taka sama.

  • 70% Testy jednostkowe (JUnit, aby przetestować wszystkie logiki biznesowej.) Testu

  • 20% integracji (warstwy sieciowej, warstwy bazy etc, prawdziwy serwer)

  • 10% testów UI (Przepływ pracy interfejsu użytkownika + testowanie ręczne)

Czy powinien być 70%? 80%? 85%? To nie ma znaczenia. Kluczem jest stosunek. Chcesz, aby większość twoich testów była fast, isolated in memory tests. Jeśli korzystasz z bazy danych, po prostu chcesz wiedzieć, że twoje zapytania działają. Czy zapytanie o aktualizację rzeczywiście aktualizuje poprawną encję? Na koniec sprawdzasz działanie interfejsu użytkownika zgodnie z oczekiwaniami. Na tym poziomie nie ma znaczenia, co wyświetlasz. Tak długo, jak ekran logowania jest wyświetlany, gdy użytkownik nie jest zalogowany.

To jest często określane jako Test Pyramid i jest to, co opisałeś, tylko minus współczynniki wybuchu.

Powiązane problemy