Подумайте о соединении стандартного программного продукта дистанционного управления со стандартным роботом тестирования программного обеспечения (например, QTP).
В качестве альтернативы, являясь в основном независимым от устройства , но растровым решением, вы можете использовать один из множества пультов дистанционного управления, чтобы вывести содержимое дисплея мобильного телефона на рабочий стол. Затем вы «кликаете» в этом окне дистанционного управления, используя своего любимого тестового робота.
Глупо это звучит? Ну, у него есть свои сильные и слабые стороны:
Если для вас установлен QTP, вы застрянете при синхронизации растровых изображений, другие полезные свойства графического интерфейса не будут видны. Однако, если у вас есть кое-какие ноу-хау QTP, вы можете повторно использовать все ноу-хау для интеграции управления тестированием через QC, адресации тестовых данных и т. Д. Для создания сценариев «искусства», таких как «ожидание правды» , конвертировать растровые изображения в текст и так далее. Вы даже можете «в режиме реального времени» проверить результаты, отображаемые на мобильном устройстве, в корпоративном бэкэнде, или исследовать ожидаемые результаты в некоторой центральной базе данных после выполнения транзакции на мобильном устройстве - все это будет легко, поскольку ваш тестовый робот работает как часть ИТ-инфраструктуры постоянно, поэтому она имеет легкий доступ к этим ресурсам. И эти доступы могут быть сделаны со всем комфортом, к которому мы привыкли на тестовых роботах на базе ПК, например, контрольная точка базы данных QTP.
Позитивным аспектом было бы следующее: используя такой сценарий, вы в значительной степени независимы от технических деталей мобильного телефона и могли бы поддерживать множество различных устройств, просто используя разные наборы ожидаемых битовых карт. (При условии, что рабочие процессы точно такие же, что, конечно, не всегда так.)
Если вам не нужно покупать дополнительного тестового робота, это решение может быть непревзойденно дешевым. Например, большинство мобильных устройств Windows можно использовать с бесплатным дистанционным управлением Microsoft, и есть множество коммерческих поставщиков, предлагающих функции дистанционного управления для различных устройств в одном пакете.
Кроме того, вы можете разрабатывать тестовые сценарии с использованием эмуляторов, эмулирующих мобильное устройство, поскольку тестовый робот не будет знать разницу между дисплеем, полученным из реального объекта, или показанным эмулятором.
Я сделал все это с помощью различных пультов дистанционного управления и КПК / смартфонов, используя CitraTest или QTP в качестве тестового робота. Я был очень счастлив, что мне не пришлось возиться с еще одним специализированным инструментом, или даже с более чем одним из них, каждый со своим языком или методологией.
Самыми большими препятствиями, кроме уже упомянутых, были:
- найти универсальный, быстрый и надежный пульт дистанционного управления
- найти способ позволить мобильному устройству использовать свой «нормальный» канал связи (например, сотовую связь) для всех приложений, в то время как по соображениям производительности (и для минимизации побочных эффектов) пульт дистанционного управления подключен через прямое соединение ( USB, специальный кабель синхронизации, сеть ... все, что поддерживает мобильный телефон).
- создать «стандартный» сценарий, который будет достаточно точным, чтобы синхронизировать выполнение тестового робота и мобильного приложения, избегая слишком частого повторного захвата ожидаемого растрового изображения для всех поддерживаемых устройств (это может быть частично автоматизировано)
- проблемы с синхронизацией - когда вы находитесь на уровне растрового изображения, трудно сказать, достаточно ли вы ожидали, чтобы какое-то сообщение появилось, исчезло или что-то еще.
- Экзотическая обложка типа «приложение продолжается только после того, как вы сделали фотографию с помощью мобильной камеры». Вообще говоря: контролировать встроенную периферию (какое противоречие ...) мобильного телефона (в моем случае мне пришлось заставить сканер штрих-кода «видеть» конкретные изображения - довольно сложно и обычно очень зависит от устройства для автоматизации)
Тем не менее, это выполнимо, и такое решение может быть очень стабильным и надежным, с достаточной степенью экономической эффективности с точки зрения усилий по обслуживанию тестов (конечно, в зависимости от того, как часто меняется приложение в тесте) ).