Ответ
Тестирование без документации (тестирование «черного ящика») требует исследовательского подхода и анализа самого приложения.
1. Фаза исследования (Reconnaissance):
- Изучение UI: Пройдите все экраны, нажмите все кнопки, изучите меню и настройки.
- Определение основного функционала: Выявите ключевые пользовательские сценарии (User Journeys):
- Регистрация / Вход.
- Основная функция приложения (просмотр ленты, создание заказа, игра).
- Навигация между разделами.
- Работа с профилем и настройками.
- Анализ конкурентов: Изучите похожие приложения, чтобы понять ожидаемое поведение и стандартные паттерны.
2. Применение техник тест-дизайна:
- Эквивалентное разделение: Группируйте входные данные (например, для поля email: валидные, невалидные по формату, пустые).
- Анализ граничных значений: Тестируйте поля ввода на минимальные/максимальные длины, граничные числа.
- Таблица принятия решений: Составьте таблицу для сложной логики (например, применение скидки при разных условиях).
- Тестирование состояний и переходов: Проверьте, как приложение ведет себя при смене состояния (онлайн/офлайн, переход в бэкграунд).
3. Использование технических средств для сбора информации:
- Логи (Logs): Используйте
adb logcatдля Android или Console в Xcode для iOS, чтобы видеть ошибки и системные сообщения. - Сетевой трафик: Анализируйте запросы к API с помощью Charles Proxy или Fiddler, чтобы понять структуру данных.
- Инструменты для разработчиков: На Android с отладочной сборкой можно использовать Layout Inspector, на iOS — View Hierarchy Debugger.
4. Пример исследовательского тест-кейса:
Сценарий: Исследование функционала восстановления пароля
Дано: Я нахожусь на экране входа
Когда: Я нажимаю ссылку "Забыли пароль?"
Тогда: Я попадаю на экран восстановления
И: Вижу поле для ввода email или номера телефона
Когда: Я ввожу email, не привязанный к аккаунту
Тогда: Я получаю сообщение "Пользователь не найден"
Когда: Я ввожу корректный email
Тогда: Я получаю сообщение "Инструкции отправлены на почту"
5. Критически важные области для проверки:
- Стабильность: Частые падения (crashes). Проверьте отчеты в Firebase Crashlytics или AppCenter.
- Производительность: Долгая загрузка, «подвисания» интерфейса.
- Совместимость: Работа на разных версиях ОС, размерах экранов, плотностях пикселей.
- Взаимодействие с системой: Ответ на звонки, SMS, уведомления, переключение между приложениями.
Фиксируйте все найденные дефекты с четкими шагами воспроизведения, фактическим и ожидаемым результатом. Ваши тест-кейсы, составленные в процессе, станут де-факто документацией.