Задача автоматизировать интеграционное тестирование проекта, состоящего из разных частей, на разных платформах (из одного места комплексно, сценарием - (с) Начальник)
Как это сделать никто не знает. Я тоже. Поэтому огромная просьба направить на путь наименьших ошибок и костылей.
Дано:
- Десктопное приложение на wpf
- Наш мобильный апп на Андроиде
- Веб часть
- Сервера
Так же нужно использовать на андроиде два сторонних приложения для работы нашего из пункта (2)
Надо подобрать инструменты, подход для интеграционного тестирования всей системы
Что есть:
Есть CI сервер - TeamCity
. Он собирает все проекты и запускает серверные приложения (3 конфигурации - Dev, Test, Stage). Серверная часть состоит из 5 отдельных консольных приложений. Всё крутится на одном физической сервере.
Есть логи разной глубины в вебе. Есть БД для каждой конфигурации. - по ним тоже не совсем понятно, как их лучше вести, чтобы быстро и однозначно понять, что пошло не так.
Основной язык команды C#. Я тоже хотел бы, чтобы всё было на нём.
Что надо:
Разработчик залил, Тимсити забрал, собрал, развернул, опубликовал на фтп десктопное и андроид. Запускает сервер (5 частей) нужной конфигурации. (это есть)
А дальше нужен 3 шаг с интеграционными тестами.
Сейчас 3 шаг вручную. В десктопе что-то сделали и отправили в андроид, в андроиде провели манипуляции в двух сторонних аппах, только потом получаем, что нужно в андроид аппе. Апп тоже наш нужно протыкать (включить gps, отключать/включать WiFi
)
Умею запускать через сикули десктоп апп и нажимать, что нужно (python
). Андроид тоже можно через appium
(selendroid
+ C#) был опыт. Для веба понятно веб драйвер + C# (был опыт).
Это всё надо запускать, проверять, желательно чтобы все тестовые данные были в одном месте, репорты отсылать.
Т.е. у меня вопросы начиная от выбора андроид симулятора (в крайнем случае будет, подключен постоянно к ПК андроид телефон) до выбора архитектуры всей системы тестирования.
Т.к. последний год был в ручном тестировании больше всего, то сейчас уже не в курсе о текущих инструментах, подходах, решениях в автоматизации.
- Чтобы провести какой-то минимальный тест, хватит и одного реального девайса.
Для нагрузочного уже нужны будут симуляторы и эмуляторы. И много.
Раньше пытался сделать для Genymotion тул, который включает девайс, включает Gps, задает ему координаты со временем. Но на тот момента он падал на ровном месте. Сейчас может проблем уже нет, а вероятнее есть и другие решения. Его плюс в быстроете, минусы, в неадекватном поведении иногда. - Лучший выбор для C# инструмента с работой по андроиду.- буду смотреть в сторону Appium. Раньше уже мучался, но опять таки время прошло. Второй андроид и ios не интересует.
- WPF - sikuli освоил базово.
- Веб драйвер базово освоил, но давно, думаю быстро вспомнить.
Короче из ручного вернуться к автоматизатору тестирования за 5 мин.