2015-05-13 2 views
8

Я знаю, что это утомительная тема для всех разработчиков Android. Но каков именно правильный подход к тестированию на Android?Правильный подход к тестированию устройств Android

Это то, что я могу представить.

70% Модульное тестирование (JUnit, чтобы проверить всю бизнес-логику, сетевой уровень, слой баз данных и т.д. ...)

20% тест интеграции (Возможно тестирование на макете сервера? В основном результаты тестирования API?)

10% UI-тестирование (макет чего-нибудь еще, кроме взаимодействия с пользовательским интерфейсом, скорее всего, Mockito + Espresso)

Это все, что нужно другим, или есть другой шаблон?

Заранее благодарен!

+0

Сумма 100% здесь суммирует покрытие для логики приложения или всего всего вашего счета за тест? – hidro

+0

Привет @hidro 100% процентов означает оправдание структуры тестирования Android. Не специально для моего проекта :) – WenChao

ответ

6

Этот вопрос и мой ответ не имеют ничего общего с Android, но это хорошо.

Я немного изменил ваши предположения, но принцип тот же.

  • 70% Модульное тестирование (JUnit, чтобы проверить всю бизнес-логику.)

  • 20% тест интеграции (сетевой уровень, базы данных слоя и т.д., реальный сервер)

  • 10% тестирование пользовательского интерфейса (Рабочий процесс UI + ручное тестирование)

Должно ли оно быть 70%? 80%? 85%? Это не имеет значения. Ключ - это отношение. Вы хотите, чтобы большинство ваших тестов были fast, isolated in memory tests. Если вы взаимодействуете с базой данных, вы просто хотите знать, что ваши запросы работают. Действительно ли запрос обновления обновляет правильный объект? Наконец, вы проверяете, как работает ваш пользовательский интерфейс. На этом уровне не имеет значения, что вы показываете. Пока отображается экран входа в систему, когда пользователь не зашел в ваш аккаунт.

Это часто упоминается как Test Pyramid и это то, что вы описали, просто минус коэффициенты экспликации.

Смежные вопросы