"Автоматическое тестирование является неотъемлемой частью жизненного цикла разработки".
В проектах андроид-приложений мы реализовали MVP, Rx с Retrofit и Content Provider/SQLite, кинжал. Все приложения для Android всегда будут иметь связь с сервером, хранение данных в локальной базе данных, сложный ui, такой как ящик навигатора и просмотр ресайклеров и т.д., И сложный поток навигации приложения.
Чего мы хотим достичь?
- Несколько тестовых примеров, которые нужно тестировать каждый раз, прежде чем мы доставим apk клиенту или выпустим в Play Store (20-30% автоматизировать тестирование)
- Список тестовых примеров бизнес-логики, которые не могут быть проверены автоматически, потому что любая причина, например, сложный ui, поток навигации и т.д. (ручное тестирование 40-60%)
- Непрерывная интеграция
Исходя из вышеизложенного, есть несколько вопросов,
- Что нужно проверить в авто и руководстве, как это решить?
- В автоматическом тестировании, где тестировать в MVP - уровни Model-View-Presenter?
- Какая общая бизнес-логика должна автоматически тестироваться для мобильных приложений - например, регистрация, вход в систему, забытый пароль, обновление профиля и т.д.?
- Какой тип тестирования должен выполняться для приложений Android - модульное тестирование, функциональное тестирование, интеграционное тестирование, ручное тестирование, тестирование производительности, регрессионное тестирование.
- Какой инструмент использовать - библиотека поддержки тестирования Android, эспрессо, uiautomator, Robotium, roboelectric, appium, selendroid, mockito, JUnit
(Не стесняйтесь улучшать контрольный список, так как мы не знаем лучших практик для тестирования модуля в SDLC для мобильного приложения Android.) Первоначально было задано здесь.