Перейти к содержимому

Garm

Регистрация: 01 ноя 2015
Offline Активность: 22 мар 2020 18:31
-----

#145592 Первые шаги в автоматизации: как начать, что важно не упустить, и к че

Написано Garm 01 ноября 2015 - 02:48

Привет всем. Начну с бэкграунда, постараюсь покороче:

Год назад закончил институт, твёрдо решил устроиться в геймдев программистом или тестировщиком (оба направления меня интересуют в целом). Спустя пол года поисков, и всего одного приглашения на собеседование, решил что пора брать быка за рога и сорвался в Москву. Как оказалось не зря, и с марта этого года работаю тестировщиком в одной геймдев компании. Проблема в том, что я чувствую что ручное тестирование не совсем то, чем я действительно хотел бы заниматься. У меня есть опыт любительского программимрования (C#/Unity), и у меня есть желание двигаться в этом направлении, т.е. в работе с кодом.
Однако на текущей работе автоматизации нет, поэтому я решил попробовать проявить инициативу, и в свободное время "внедрять" ту самую пресловутую автоматизацию (пытаюсь написать фреймворк, как бы смешно это не звучало). Однако с этим есть проблемы, и я бы хотел услышать мнение более опытных товарищей. 

Что я использую: appium + java + либа sikuliX.
Как это работает: в общем случае, делается скриншот с девайса, после чего sikuli пытается найти элемент на экране. В данный момент я не использую дополнительные логи, но вполне могу попросить команду разработчиков добавить их (что и сделаю позже).

Проблемы:
1. Проект пишется с использованием cocos2d, поэтому appium не распознаёт элементы и поля. К сожалению, я не нашёл никакого способа полноценно решить эту проблему, и решил попробовать связку из костылей: распознавание образов + вывод в логи дополнительной информации (специальная версия билда).
2. Быстродействие, прямое следствие использования распознавания. Я ещё не дошёл до фазы "оптимизации", но на глаз средняя длительность шага будет составлять около 3-6 секунд.
3. Отсутствие 100%-ой уверенности в результате. Т.к. у меня нет прямого доступа к полям, приходится полагаться на распознавание (и логи). Пока распознавание даёт хорошие результаты, но у меня всё равно есть сомнения.
4. Ограниченное применение.
5. Поддержание самих тестов. В тестах используются заранее сделанные скриношты: поменяется интерфейс, тесты полетят к чертям. Очень не хорошо. Плюс есть проблема с разными соотношениеями сторон, но возможно я программно смогу это решить.

Не смотря на указанные проблемы, я всё же пытаюсь сделать фреймворк (как бы смешно это не звучало #2). В связи с чем вопросы:
1. Вопросы из заголовка (последний — "и к чему стремиться").
2. Возможно я упустил что-то, и это всё же можно автоматизировать нормальным способом?
3. Стоит ли вообще на это тратить время, или забросить идею в целом?
4. Если идея провальная в своей сути, то я не вижу выхода кроме увольения. Как я сказал выше, ручное тестирование — не совсем моё. В таком случае, как можно не имея настоящего опыта работы с автоматизацией, в эту самую автоматизацию попасть?

P.S. Коротко не получилось.
P.P.S. Высока вероятность что этот форум читает моя коллега, так что привет, over.


  • 1