• Масштабирование Selenium

      Представьте, что у вас есть всего один тест с использованием Selenium. Что может сделать его нестабильным? Как его ускорить? Теперь представьте, что тестов стало два. Теперь представьте сотню. Как заставить быстро отработать такую кучу тестов? Что произойдет, если количество тестов продолжит расти?


      В этой статье Саймон Стюарт проведет нас по нелегкому пути масштабирования, от одного теста до параллельно исполняющихся сотен тестов. Мы познакомимся и с проблемами, которые при этом появляются, и с практическими методами решения этих проблем. Будет код на Java и некоторые мысли о развитии тестовой инфраструктуры.



      Прототипом этой статьи является доклад Саймона Стюарта на Heisenbug 2017 Moscow. Саймон — создатель WebDriver, технологии, которой сейчас почти 11 лет. Он стал руководителем проекта Selenium около 9 лет назад. В Google занимался масштабированием Selenium, от нескольких десятков тысяч до нескольких миллионов тестов каждый день, на их инфраструктуре. Затем перешел в Facebook. В данный момент занимается разработкой спецификации WebDriver для W3C, которая входит в группу тестирования и тулинга в W3C. Можно сказать, что на основе WebDriver и создается стандарт.

      Читать дальше →
    • Как стать тимлидом и не взорваться



        Два года назад я начал негласно исполнять роль iOS-lead в компании Touch Instinct и формированием стабильной работы iOS-отдела. Спустя полгода это трансформировалось в официальную должность. Из-за отсутствия опыта у меня возникало огромное количество проблем, которые вызывали жжение в области верхней части кресла. Это происходило из-за ряда факторов:


        • Нехватка опыта менеджмента.
        • Отсутствие рядом компетентного человека, уже прошедшего путь становления от новой для себя роли к человеку, который понимает устройство процессов, обязанностей и пути решения проблем.
        • Нестабильность общих процессов в компании из-за её молодого возраста на тот момент.

        Если вы стали лидом и первоначальная эйфория сменилась небольшим горением и унынием, то пара советов не будет лишней.

        Читать дальше →
      • Советы и рекомендации по развёртыванию процесса автоматизация тестирования с нуля

        Предисловие


        Описанные ниже советы и рекомендации были сформированы на основании опыта создания тестирования и автоматизации с нуля в двух компаниях и старте подобных работ в третьей. Соответственно, на лавры всезнающего специалиста нет никаких претензий, это скорее попытка поделиться опытом, сформированная в виде пошагового руководства по актуальной последнее время теме — автоматизации тестирования в компании.

        Если вы решитесь это прочитать, сразу стоит учесть, что теме именно создания автотестов на языке программирования и выбора инструментария под ваш конкретный проект здесь будет уделено мало места, по причине невозможности их унифицировать и вывести для вас строгий список — на каких проектах какие инструменты будут лучше. Здесь, несомненно, придётся покопаться самому.

        А вот о том, как вообще подойти к тестированию, с чего начать, как продумать тест план и начать формировать тест кейсы, как отбирать тесты для дальнейшей автоматизации, оценивать время работ и нужна ли вам вообще автоматизация и будет рассказано ниже.

        P.S.: И последнее — данный текст бы никогда не сформировался, если бы не полезные лекции Алексея Баранцева и Натальи Руколь, а также пропасть информации, написанная добрыми людьми за последние годы по данной теме.

        Вот теперь всё, вы предупреждены — можно начинать рассказ.
        Читать дальше →
      • Безопасность данных в разработке мобильных приложений

          Вступление


          При разработке мобильного приложения следует учитывать, что данные, которыми оперирует это приложение, могут представлять определенный интерес для третьих лиц. Степень ценности этих данных варьируется в широких пределах, тем не менее, даже наиболее простая приватная информация, например, пароль входа в приложение, требует проработки ее защиты. Особенно это важно в свете распространения мобильных приложений на все сферы электронных услуг, включая финансовые, банковские операции, хранение и передачу личных данных и так далее. Всем интересующимся — добро пожаловать под кат.

          Читать дальше →
        • 4 крутые штуки про разработку игр



            Привет! Это не полноценный пост, мы просто сделали четыре перевода блогозаписей Тайнана Сильвестра, мужика, который в одну харю создал игрушку Rimworld. Он выдаёт хорошие мысли про разработку игр, за некоторые из которых в приличной компании его бы вообще побили. Ниже короткая выжимка каждой и ссылка на перевод.

            В «Симуляторе мечты» описывается старая добрая история мира из сериала Westworld – когда игрокам предлагают сложный мир со внутренними конфликтами, прямо шедевр искусства. А они сразу всех убивают и насилуют. Не обязательно в такой последовательности.

            После выпуска Ultima Online Ричард Гэрриот сказал: «Мы думали, это будет что-то фантастическое. Мы потратили на неё огромное количество времени и сил. Но случилось то, что игроки просто шли и убивали всех так быстро, что игра даже не переходила на новый виток, и симулятор жизни даже не начинался. И эту часть, на которую мы потратили столько времени, даже никто ни разу не заметил, ни разу! И в итоге мы просто удалили ее из игры».

            А дальше вводится совершенно сумасшедшая концепция оценки плотности сюжета – модель в голове игрока. Это очень многое для меня перевернуло.
            Читать дальше →
          • Тестирование: простая дорожка в IT или серьезная затея?

              Порой даже в авторитетных источниках проскальзывает снисходительное отношение к тестированию программных продуктов и, соответственно, к людям, занятым в этом направлении. Там, дескать, и требования к работникам ниже, и сами кадры — так себе, и денег особо не заработаешь. О том, как на самом деле выглядит тестирование изнутри, мы поговорили с Никитой Макаровым, занимающимся в «Одноклассниках» одновременно и ручным, и автоматизированным тестированием.


              Читать дальше →
              • +23
              • 12.4k
              • 2
            • Все лучшее из методологии Lean Startup, и как с этим жить тестировщикам

                «Это должно быть сделано еще вчера», «Протестируйте как-нибудь быстренько», «Время от начала разработки до выкладки на продакшн должно быть минимальным, а если возможно — еще меньше» — наверное, многим знакомы подобные цитаты. И покуда мы (тестировщики) — одно из последних звеньев в цепочке разработки, именно нам чаще всего приходится балансировать между скоростью выхода фич и их качеством.

                В данной статье хочу поделиться тем, как мы в нашей компании применяем успешные практики из Lean Startup (несмотря на то, что многие наши проекты вполне сформировались и устоялись), с какими проблемами сталкиваются тестировщики при использовании данной методологии и как мы с этими трудностями справляемся.

                Пара слов о себе: я тестировщик, имела опыт работы в проектах разного масштаба, была единственным тестировщиком на проекте и работала в командах, в которых использовались разные подходы и методологии. По моему опыту, работать по Lean Startup — это круто, но тут есть и подводные камни для тестирования, о которых неплохо знать заранее.
                Читать дальше →
                • +32
                • 11.7k
                • 8
              • 3D-сканер за $30

                  Профессиональный 3D-сканер, с помощью которого можно оцифровать реальный объект, получив его компьютерную модель, стоит десятки тысяч долларов. Мы же сможем провернуть то же самое с помощью специальной программы, лазерной указки и веб-камеры. Всего долларов за тридцать.


                  Читать дальше →
                • Как Google тестирует ПО

                    Прослушав вебинар «How Google Tests Software» я был так вдохновлен, что решил записать некоторые тезисы. Эта статья и есть мой конспект. Прежде всего, я должен внести ясность относительно ее содержания. Это не дословный перевод. Здесь описаны только те вещи, которые показались мне важными. Проще говоря, здесь описано не все, что прозвучало в вебинаре. Так же существует вероятность, что я понял что-то не до конца или даже понял неправильно. Поэтому горячо рекомендую прослушать вебинар самостоятельно.
                    Его ведет Джэймс Витакер, который в данный момент занимает пост технического директора по тестированию ПО в Google. Джэймс совместно с коллегами готовится выпустить одноименную книгу. В ней можно будет получить исчерпывающую информацию о том, как проводят тестирование GoogleMaps, Google+, ChromeOS, Android и т.д…
                    Читать дальше →
                  • Куртка для путешественников получила на Kickstarter $8 млн вместо $20 тысяч



                      На Kickstarter получают финансовую поддержку не только гаджеты, видеоигры и разного рода кошельки. Здесь есть возможность получить средства на реализацию своего проекта и для компаний, которые планируют выпускать одежду. Самой успешной кампанией такого рода стал проект "Travel Jacket". Авторы идеи уже получили $8 млн вместо $20 тысяч, которые изначально запрашивались.

                      Куртка выглядит вполне обычно, но она включает множество элементов, которые просто необходимы для человека, которому часто приходится путешествовать.
                      Читать дальше →
                    • Почему программировать так тяжело?

                      • Translation
                      Привет, Хабр!

                      В феврале мы публиковали перевод крутой статьи "Почему научиться программировать так чертовски тяжело?", которую теперь показываем новичкам. Да, научиться программировать – это целая история, длинная, с кучей разных этапов, с эмоциональными взлетами и падениями. Мы все через это проходили (или еще проходим – так держать!).

                      К сожалению, нет такого момента, когда можно встать и заявить, что «я закончил обучение и теперь я программист!». Учиться придется всю жизнь, и всю жизнь вы будете встречать неведомые проблемы, сталкиваться с совершенно непонятными ситуациями и спрашивать «какого хрена?!» даже будучи профессиональным программистом с многолетним стажем.

                      Сегодня мы публикуем перевод заметки «Почему программировать так тяжело?». Тем, кто еще изучает основы программирования и разработки будет полезно узнать, что их ждет в будущем. А опытным разработчикам будет просто приятно взглянуть на реальность и покивать головой.




                      Много лет назад я думал, что программировать легко, но прошли годы, и я понял, что это не так. Всё из-за неверного восприятия того, что я считал программированием и того, какую работу выполняет программист.

                      Вначале я думал, что программировать – это только указывать компьютеру, что делать, эта часть процесса относительно лёгкая. После двадцати с лишним лет опыта, я действительно пришёл к выводу, что эта часть программирования достаточно лёгкая.
                      Читать дальше →
                    • Видео. Пишем полноценное клиент-сервер приложение под Android

                      • Tutorial
                      Приветствую вас, уважаемый Developer!

                      Хочу поделиться с вами серией уроков, которые мы пишем на нашем канале. Цель данных уроков поделится своими знаниями в сфере Java/Android Development-а, показать как мы строим процесс разработки, и в итоге написать готовое приложение, которое будет общаться с сервером.
                      Читать дальше →
                      • +20
                      • 71.9k
                      • 8
                    • Что не так с онлайн-курсами и как это исправить: опыт HTML Academy

                        image

                        Мы в HTML Academy постоянно работаем над повышением эффективности наших образовательных программ и курсов (ради этого мы ставим опыты на студентах и внедряем геймификацию).

                        Подобные изыскания привели нас к пониманию того, что для подготовки профессионала, который мог бы работать в области веб-технологий (хотя бы на позиции начального уровня) недостаточно одних курсов, состоящих из видеолекций и последующих заданий. Освоить весь объём контента, необходимого для выхода на определённый уровень знаний, в подобном режиме просто невозможно.

                        Именно поэтому мы решили создать курс, прохождение которого позволяло бы людям не просто получить базовые знания вёрстки, но стать настоящим (пусть и начинающим) ИТ-специалистом. В сегодняшнем материале мы расскажем о том, что в итоге из всего этого получилось.
                        Читать дальше →
                      • Вторая версия перчатки для определения положения руки

                        • Tutorial
                        Прошлая статья была неудачной и не содержательной. Изначально я планировал прикрепить платы и код для микроконтроллера, чтобы собрать ее мог любой желающий. Но там было столько костылей, что стало стыдно это прикреплять. Теперь же я опишу вторую перчатку, которую собирал две недели назад, и которая содержит более продвинутые датчики и выдает более точные данные. Хоть и выглядит куда хуже:


                        Читать дальше →
                      • Умный будильник для умного дома

                        Что не собирай на avr, а в итоге все равно получаются часы
                        с радиолюбительских форумов

                        imageМногие жители мегаполисов (и не только) часто испытывают неудобства от необходимости рано просыпаться по утрам. Особенно зимой – за окном темно, организм думает, что еще ночь, отсюда чувство недосыпа и плохое самочувствие. Вместе с тем летом при утреннем солнечном свете просыпаться обычно заметно легче. Было решено попробовать «обмануть» организм, использовав для пробуждения плавно увеличивающуюся яркость искусственного освещения. Будильники с таким эффектом существуют готовые, однако стоят довольно дорого, кроме того, проект делался больше для собственного удовольствия.

                        На хабре довольно часто упоминаются различные дистанционно управляемые розетки и лампочки с управлением по Wi-Fi, в этом проекте похожая задача решается посредством ИК-управления.
                        Читать дальше →
                      • Почему научиться программировать так чертовски тяжело?

                        • Translation
                        Привет, Хабр!

                        Взявшись за работу над образовательным проектом Хекслет, мы понимали, что на нас ложится большая ответственность. К нам приходит огромное количество новичков с вопросами и комментариями, такими как:

                        • С чего начать обучение программированию?
                        • У вас есть курс по Java для новичков, но я слышал, что нужно изучать Python, правда ли это?
                        • На других сайтах все просто и понятно, а у вас какие-то компиляции и тесты!
                        • Непонятно зачем нужен этот ваш курс по алгоритмам, в реальной жизни все алгоритмы уже реализованы в стандартных библиотеках

                        Но сложнее всего объяснить новичку, грубо говоря, во что он ввязывается. Благодаря очень простым, игровым образовательным проектам многие считают, что программирование это очень легко, а наши виртуальные машины, где нужно запускать тесты и компилировать код – это надуманная сложность. Давно хотелось найти такой материал, который бы подготовил новичка к длинному и сложному пути к карьере программиста. И недавно наши коллеги из Viking Code School такой материал написали! А мы его перевели для вас.




                        Квинси Ларсон был просто “офисным парнем в костюме”. Он решил научиться программировать. Начал спрашивать людей вокруг. Изучил немного Руби, потом быстренько посмотрел на другие языки вроде Scala, Clojure и Go. Он изучил Emacs, а потом Vim, а потом раскладку Dvorak. Он втыкал в Линукс, копался с Лиспом и кодил на Питоне, и жил при этом в командной строке больше полутора лет.

                        Его швыряло туда-сюда как листочек в торнадо. Каждый совет, который он слышал, тащил его то в одну, то в другую сторону, до тех пор пока он не прошел “каждый онлайн-курс по программированию во вселенной”. В конце концов, не смотря на то, что он получил работу разработчика ПО, Квинси:

                        … был уверен, что на первый взгляд нормальные программисты, с которыми я общался, были на самом деле социопатами, которые получили, а потом подавили в себе, травму при изучении программирования.

                        Ох. Звучит знакомо?
                        Читать дальше →
                      • 10 девайсов, которые вы можете проапгрейдить, немного поковырявшись с электроникой

                        • Translation

                        Правило №1 в DIY: никогда не довольствуйтесь тем, что вам дано. Вы можете проапгрейдить или улучшить все что угодно обладая скромными познаниями и приложив немного усилий, особенно если вы немного знакомы с электроникой. Под катом 10 домашних предметов, которые вы можете круто прокачать, используя капельку припоя и ряд DIY ноу-хау.
                        Читать дальше →
                      • Обзор NOOK Simple Touch with GlowLight



                          После читалки от Amazon ко мне в руки попал ещё один интересный девайс. На этот раз экспериментировал с читалкой от Barnes&Noble — NOOK Simple Touch with GlowLight. Устройство отличается от тех устройств, которые уже описывал в этом блоге тем, что операционная система, установленная на девайсе — модифицированный Android, что даёт возможность устанавливать многие Android-приложения.

                          Вторым бонусом читалки является подсветка, хотя лично мне приятнее читать книги с этого устройства при естественном освещении или включенной лампе (глаза устают ощутимо меньше, чем при чтении в кромешной тьме с включенной подсветкой). Однако, в случае если в тех краях, где вы проживаете, наблюдается неумеренное беспредельное отключение света, для вас подсветка будет очень и очень кстати.

                          Третья особенность описываемого девайса — Touch-экран. Уже успел описать одну читалку от PocketBook с аналогичной фишкой, правда качественного сравнения между этими двумя устройствами в этом обзоре провести не смогу, так как на руках девайса от PocketBook сейчас нет (хотя, отмечу, что оба устройства по-своему интересны, и дают возможность читать с комфортом).

                          Об огромном количестве скрытых возможностей, доступных после перепрошивки устройства, читайте под хабракатом. Также в этой статье вы найдёте много фотографий устройства, видео с демонстрацией работы с девайсом до и после перепрошивки, слайдшоу, демонстрирующее возможности подсветки в устройстве и много других полезных вещей.

                          Осторожно траффик!
                          Читать дальше →
                        • Хабраиндекс для статей по программированию под Android

                            С чего начать?


                            Пишем своё первое приложение на Android
                            Пишем первое приложение для Android
                            Создаем файловый менеджер
                            Основы программирования под Android на примере игры Судоку
                            Создание приложения в стиле Android
                            Спокойной ночи!

                            Читать дальше →
                            • +188
                            • 92.8k
                            • 43