Быстрые релизы за счет автоматизации тестирования
Создала себе эту цель для того, что бы не потерятся в невероятном кол-ве задач и идей, которые нужно реализовать.
Структурирую тут свою работу и может кому-то тоже помогу с этим прекрасным начинанием.
Постараюсь скидывать сюда кикие-то полезные решения, которые буду находить в процессе работы.
Из того что есть сейчас:
- уже порядка 60 автотестов написанных под андроид приложение, которые успешно(более и менее) проходят на эмуляторах при локальном запуске с компа.
- есть скриптец, который кровью и болью я написала для запуска на CI на реальном девайсе для андроида
- 7 тестов на iOS, которые пока просто греют душу.
- новый проект, на котором сейчас сфокусирована я и мой прекрасный коллега, что помогает мне с тестами и которого я обучаю и до конца мая врядли будем свободны.
Из фреймворков: Espresso, XCUITest.
Из CI: TeamCity(Android), Jankins(iOS)
Из языков: Kotlin, Swift, Groovy, Ruby
Буду безмерно благодарна, есть кто-то напишет свои идеи или решения, для разных этапов.
Думаю цель будет дополняться, так кто знает, что еще придет в мою голову прикруть)
Критерий завершения
Тесты запускаются на CI, гоняются на симуляторах и реальных девайсах на регрессе, тесты запускаются на каждый PR
Личные ресурсы
Компания, которая заинтересованна в завершении этой цели.
Я и мои мозги
Кристапс и его мозги
Коллеги и их время
Абсолютная свобода в выборе решений
Экологичность цели
Хочу пройти весь этот путь, что бы прокачаться как инженер. Хочу не испытывать боль на релизах. Хочу пить смузи и жмакать на одну кнопочку и что бы вжух и регресс прошел.
-
Стабилизируем все тесты, что падают сейчас и мы знаем, почему они падают
Тут нужно пояснить немного.
- Есть падения тестов, связанные с тем, что у нас блокируется электорнные адреса, куда мы можем слать инвайты. Специфика приложения.
- Есть падения тестов, связанные с логином. Иногда приходит невалидный номер для авторизации
- Есть падения тестов, связанные с тем, что не находит элемент или несколько элементов с одинаковым айди или упаси господи текстом.
Тесты фиксим -> гоняем на симуляторе/ реальном девайсе -> успешно проходим и там и там -> бухаем
-
Подкручиваем параллелизацию тестов для симуляторов/реальной фермы
К этому моменту я уже должна буду постигнуть дзен и видеть мир в 5мерном пространстве и понять, как это сделать.
Привет гугл, стековерфлоу и мои бывшие коллеги, которые сделали это.
После этого Рубикона можно и на PR запускать и рыдать от радости.
-
Пишем тесты на Calling
Что ж, тут у нас будет весело и задорно.
В нашем приложение .есть 3 типа звонов: звонки, которые используют нативное приложение, звонки по wi-fi и звонки из нашего приложения, но с использованием мобильного трафика
Соотвественно: пишем тесты в первую очередь на wi-fi и мобильный трафик.
Пишем тесты, которые скорее всего, будут использовать UI Automator для работы с нативной звонилкой или же наконец-то разберусб как работает onData в Espresso.
На всю эту историю мне дали 3 месяца. Но это дико жирно даже по моим оценкам скормные. Надеюсь справится за месяц а то и вовсе пара недель. Зависит от кол-ва фенебута/фенотропила, который у меня припасен
-
Пишем тесты на апдейт приложений
Как известно, самая большая проблема при регрессе - это обновление приложений и все что с этим связано. Что-то навернулось при миграции базы и херак - все лежит, ты лежишь, все плачат.
Этим никогд не занималась и вообще не слышала об автоматизации этой истории, поэтому будет интересно покопаться и может даже что-то прихерачить.
Все объективно понимают, что задача эта со звездочкой, так что на нее у меня не ограниченное время. Но я ж у мамки инженер, поэтому дам себе тоже месяц.
- 1106
- 16 апреля 2019, 18:15
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением