Быстрые релизы за счет автоматизации тестирования
Создала себе эту цель для того, что бы не потерятся в невероятном кол-ве задач и идей, которые нужно реализовать.
Структурирую тут свою работу и может кому-то тоже помогу с этим прекрасным начинанием.
Постараюсь скидывать сюда кикие-то полезные решения, которые буду находить в процессе работы.
Из того что есть сейчас:
- уже порядка 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 месяца. Но это дико жирно даже по моим оценкам скормные. Надеюсь справится за месяц а то и вовсе пара недель. Зависит от кол-ва фенебута/фенотропила, который у меня припасен 
- 
                    
                    Пишем тесты на апдейт приложенийКак известно, самая большая проблема при регрессе - это обновление приложений и все что с этим связано. Что-то навернулось при миграции базы и херак - все лежит, ты лежишь, все плачат. Этим никогд не занималась и вообще не слышала об автоматизации этой истории, поэтому будет интересно покопаться и может даже что-то прихерачить. Все объективно понимают, что задача эта со звездочкой, так что на нее у меня не ограниченное время. Но я ж у мамки инженер, поэтому дам себе тоже месяц. 
- 1364
- 16 апреля 2019, 18:15
Не пропустите новые записи!
Подпишитесь на цель и следите за ее достижением
 
     
     
                 
                 
                 
				