Автоматизация тестирования доступности на Android
Недавно я начал изучать автоматизацию тестирования доступности на Android. В Интернете не так много информации. Кто-нибудь исследовал это или в настоящее время делает это? Если да, можете ли вы поделиться своими идеями / подходом?
Похоже, uiautomator Android полагается на работоспособность специальных возможностей, но не поддерживает тестирование специальных возможностей. Если он опирается на функции специальных возможностей, означает ли это, что базовая проверка, такая как доступная метка, существует и т. Д., Может быть выполнена простым выполнением тестов пользовательского интерфейса с помощью uiautomator?
Это новая область для меня, поэтому любая информация может быть полезной.
2 ответа
Вот отличное введение в тестирование доступности в Android. Это в основном сводится к:
- Вручную протестируйте ваше приложение на наличие визуальных проблем с помощью Accessibility Scanner
- Включите TalkBack и вручную протестируйте свое приложение, чтобы найти проблемы с нарушениями слуха
- Чтобы найти проблемы с масштабированием шрифта и макетом, используйте Large Text
- Определенно проверьте lint, но убедитесь, что для параметра "Изображение без contentDescription" установлено значение Severity = Error
- Любые / все проблемы с доступностью, которые вы обнаружите или которые повторяются, напишите тест Espresso, чтобы он потерпел неудачу, когда эта проблема с доступностью будет нарушена в будущем
- Для автоматизации вам также необходимо подумать, как выполнить визуальную проверку определенных артефактов экрана и анализ звука, если требуется функциональность с нарушениями слуха.
Кроме того, я рекомендую посмотреть эту презентацию GTAC 2015 о тестировании доступности для некоторого отличного контекста по этой теме.
Для автоматических тестов, которые проверяют доступность, я очень рекомендую начинать с проблем, которые можно идентифицировать в элементах, которые совместно используются на экранах (меню, макеты, темы, пользовательские элементы управления). Хотя они не будут обнаруживать одноразовые ошибки, которые время от времени появляются, они будут решать проблемы, возникающие повсюду в вашем приложении, если хотите, подход "расстановка приоритетов по объему".
Кроме того, если ваша команда использует Android Studio, то вам определенно нужно стремиться к написанию тестов для эспрессо, которые находятся в коде. QA являются частью процесса разработки, период. Получение доступа к подпапке, в которой находятся ваши тесты, не должно быть проблемой, если только не существует какой-либо юридической болонской проблемы. Например, выделите папку "androidTest" в качестве подмодуля, в которой у вас есть права на получение / получение прав в качестве тестера, но только права на чтение для остальной части приложения, чтобы вы могли скомпилировать и запустить их самостоятельно. Если вы пишете тесты Appium, вам может быть сложнее попросить команду разработчиков запустить их как часть их собственного процесса тестирования BVT/ дыма во время сборок, но не случайно.
Что касается визуального анализа и ввода / подтверждения звука, это расширенные возможности, для которых вам, вероятно, потребуется использовать какой-либо сервисный или коммерческий инструмент.
Удачи!
Я полностью согласен с ответом Пола, и он ссылается на некоторые чрезвычайно полезные ресурсы (поэтому, пожалуйста, посмотрите на них!), Но если все, что вам нужно, это базовый охват тестами доступности, как вы предлагаете (например, проверка доступных ярлыков на все ваши компоненты), ваш вариант использования может быть хорошим для чего-то вроде Continuum для мобильных устройств, в частности, вариант Android. Затем вы можете сделать больше ручных проходов, как только найдете более простые нарушения, которые можно обнаружить с помощью автоматизированных инструментов; на данный момент ручное тестирование всегда необходимо для полного соответствия стандартам доступности, но что-то подобное поможет вам приблизиться.