19 января 2015

GTAC 2014 Post-Mortem

Вместо предисловия.
Второй год пытаюсь попасть на GTAC, второй год меня не приглашают.

Уже второй год с командой отсматриваем видео с пожалуй самой лучшей конференции по автоматизаированному тестированию - Google Test Automation Conference.
В этот раз решил написать и сюда.

Про саму конференцию читать здесь.
Видео докладов здесь.

Я буду писать только о тех выступлениях что мне понравились или хоть чем-то зацепили.

  1. Opening Keynote - Move Fast and Don't Break Things - рассказ о том как на самом деле все в Google в области автоматизации тестирования. Сурова правда жизни состоит в том что и у них есть нестабильные тесты, они тоже релизят с известными багами, если те не мешают релизу. Очень понравилась идея Robosheriff - автоматический анализатор нестабильных тестов.
  2. Make Chrome the best mobile browser - рассказ о том как тестируется мобильная версия Google Chrome. Очень впечатлила инфраструктура построенная вокруг процесса тестирования и работа проведенная в области Testability продукта. И да - эти ребята тестируются на реальных устройствах (Android/IPhone).
  3. Test coverage at Google - рассказ о том как меряют покрытие кода в Google.  Ничего принципиально нового по сравнению с их же статьей нет. Понравилось то что в IDE подсвечиваются строчки непокрытые тестами.
  4. I Don't Test Often ... But When I Do, I Test in Production - рассказ от Netflix о том как они используют приматов для тестирования своей amazon-based архитектуры.  Отличный пример того как понимание важности устойчивости на ранних этапах привело к созданию и регулярному использованию весьма специфичных инструментов.
  5. The Importance of Automated Testing on Real and Virtual Mobile Devices - ничего интересного кроме яркого (пусть даже немножко "продажного") освещения проблем разработки на мобильных устройствах  и тестирования там же. 
  6. Free Tests Are Better Than Free Bananas: Using Data Mining and Machine Learning To Automate Real-Time Production Monitoring - поиск инвариантов на production-среде с использованием техник Machine Learning.
  7. Test Automation on an Infrared Set-top Box - блестящий доклад от том как инженерное мышление и Raspberry Pi помогли тестировать телевизионные приставки автоматически. Молодцы!
  8. Never Send a Human to do a Machine’s Job: How Facebook uses bots to manage tests - рассказ от качка из Facebook о том что следить за автотестами тяжело поэтому они придумали систему ботов которые мониторят и анализируют результаты автотестов и дают обратную связь авторам автотестов об их поделиях. Аналогично Robosheriff из п.1.
  9. The Testing User Experience - продолжение темы из п.1 и п.8  - анализ результатов автотестов и их стабильности.
  10. Going Green: Cleaning up the Toxic Mobile Environment - эта гоп-бригада там уже второй год подряд - костюмированное представление на тему того как все непросто при тестировании Android приложений. Я бы не имел ничего против если б эти ребята были не из Google, но когда инженеры Google говорят о том что другие инженеры Google вот тут и тут сделали неправильно и плохо, то может хотя бы одни сходят и исправят ситуацию? 
Вот тут вот один товарищ смачно резюмировал 
Whilst there seemed to be some suggestions for dealing with flaky tests (like Facebook running new tests x times to see if they fail and classify them as flaky and assign to the owner to fix), there didn’t seem to be a lot of solutions for avoiding the creation of flaky tests in the first place which I would have liked to see.
и наверное да - мы учимся бороться или уживаться с нестабильными тестами, но пока не придумали как не делать нестабильные тесты.