• Одиннадцатиклассница, или тестируем баги вёрстки



      В современном вебе несправедливо мало внимания уделяется хоть сколько-нибудь автоматизированному тестированию UI. Особенно это касается статической вёрстки. На проекте 2ГИС Онлайн мы попытались частично восполнить этот пробел. Какие полезные практики мы приобрели, и о каких хороших библиотеках мы узнали, расскажем далее.
      Получить плюс пять к качеству
    • JetBrains сделала еще один шаг навстречу образованию, выпустив PyCharm Educational Edition

        Привет всем! Отличная пятница сегодня!

        Да, вы прочитали название поста правильно! Еще не так давно мы запустили программу по раздаче бесплатных студенческих лицензий на все продукты компании JetBrains, с помощью которой более 30000 студентов и преподавателей по всему миру уже обзавелись нашими продуктами — теперь же мы решили еще активнее поддержать тех, кто желает учиться программировать с помощью современных профессиональных инструментов!

        Линейка продуктов компании JetBrains пополнилась необычной модификацией всем известной IDE для программирования на Python — встречайте PyCharm Educational Edition!

        и что же в JetBrains такое новое придумали?
      • Яндекс.Карты, 2ГИС или всё же Google Maps?

        #ifndef MY_HABRA_ENTRY
        #define MY_HABRA_ENTRY

        Мир тебе, дорогой хабраюзер!

        Минутка откровений. Не кривя душой, открою завесу тайны, что я протёр своё кожаное кресло, ёрзая на нём, и думая, а стоит ли вообще писать это всё. Сомнения одолевали меня до последнего, но кто-то сидящий на правом плече всё же победил кого-то на левом. И вуаля, много букв перед вами. Сразу хочу признаться ещё кое в чём: главная цель написания данной статьи — в первую очередь удовлетворение своих личностных потребностей, амбиций, а, может, и пункта самореализации, которого до сих пор не хватало для завершения процесса достижения вершины эволюционной лестницы…

        Минутка лирики. Мне необходима конструктивная (обожаю это слово! И оно во всём этом ключевое) критика профессионального сообщества, то есть вас. В противном случае у меня может начаться паранойя от навязчивых мыслей, что возможно где-то в этой жизни я свернул не туда…

        Минутка лирики2 предыстории. Ничего не предвещало беды. Я, ковыряясь в носу одной рукой, и, юзая колёсико мышкой другой, неожиданно для себя и всего мироздания вдруг натыкаюсь на невероятно сладенькую вакансию Product Manager. Вытерев слюни (той рукой, что ковырялся) и трезво оценив, что мы созданы друг для друга, я естественно щёлк-щёлк посылаю на неё осмысленный отклик. Получил тестовое задание, выполнил, отправил. На этом история заканчивается.

        В общем, если коротко, статья про сравнение геоинфосервисов, лидеров российского рынка.



        Далее...
      • 7 эффективных A/B-тестирований с приветственными письмами

        • Translation
        Рост популярности email-рассылок — следствие их эффективности. Чтобы использовать этот инструмент на все 100%, надо провести серьезную подготовку. Например, разобраться с тем, как приветствовать потенциального клиента. Это, оказывается, не так уж просто. Приветственные письма клиентам — залог успеха всех взаимоотношений. Текст, дизайн, время отправки и структура влияют на то, станут ли клиенты активными, купят ли еще. Ранее мы рассмотрели советы по времени, частоте, срочности, персонализации, призывам к целевому действию, в этой же статье хотим поговорить о том, как можно (и нужно!) тестировать приветственные письма. Опытом делится Питер Танхам, который имеет обширный практический опыт тестирования, которое давало результаты..
        Читать дальше →
        • +23
        • 16.7k
        • 2
      • Не навреди, или внимательно читайте пользовательское соглашение!

          Правы были те, которые говорили, что эта неделя — неделя Google+.
          Сегодня мне позвонил разъяренные товарищ, которого я в лохматые года пересадил с mail.ru на gmail и кричит в трубку: Димон, нафига ты мне прислал это фигню? Я говорю — спокойно, давай разберемся…

          Друг мой имеет привычку не указывать правильные персональные данные нигде и никогда, чтобы большой брат меньше знал.
          И в этом случае, сделал также. После того, как ему пришел инвайт в Google+, натыркал дату рождения произвольно, и еще что-то натыркал абы как.
          А дата рождения оказалась меньше 13 лет. Результат:
          Читать дальше →
        • Видео докладов с конференции LoveQA. Первая часть

            Несколько недель назад, 15 февраля, мы проводили нашу первую конференцию для тестировщиков LoveQA. Спасибо всем тем, кто пришел и кто смотрел online трансляцию. У нас есть видео докладов и мы с удовольствием ими с вами делимся. Сегодня выкладываем первые 4 доклада и в конце недели опубликуем остальные.
            Если у вас остались какие-то вопросы, то их можно задавать в комментариях к посту.
            Фото с конференции в FB и Вконтакте.

            Доклады


            «Есть ли жизнь после релиза? Наш опыт тестирования мобильных приложений»
            Александр z3us Хозя & Николай Козлов, Badoo.




            Читать дальше →
            • +22
            • 8.8k
            • 4
          • Видео докладов с конференции LoveQA. Вторая часть

              С радостью делимся второй частью докладов с конференции для тестировщиков LoveQA, которую мы проводили в середине февраля. Первую часть докладов можно посмотреть по ССЫЛКЕ.

              Доклады


              «Selenium тесты. От RC и одного пользователя к WebDriver, Page Object и пулу пользователей».
              Виталий Котов, Badoo.





              «Как мы разгоняли тесты — от баш-скриптов до облака».
              Илья Relz Кудинов, Badoo.




              Читать дальше →
              • +14
              • 9.6k
              • 2
            • Code coverage в Badoo

                Несколько месяцев назад мы ускорили генерацию code coverage с 70 до 2,5 часов. Реализовано это было как дополнительный формат в экспорте/импорте coverage. А недавно наши pull requests попали в официальные репозитории phpunit, phpcov и php-code-coverage.

                Мы не раз рассказывали на конференциях и в статьях о том, что мы «гоняем» десятки тысяч юнит-тестов за короткое время. Основной эффект достигается, как несложно догадаться, за счёт многопоточности. И всё бы хорошо, но одна из важных метрик тестирования ― это покрытие кода тестами.
                Сегодня мы расскажем, как его считать в условиях многопоточности, агрегировать и делать это очень быстро. Без наших оптимизаций подсчёт покрытия занимал более 70 часов только для юнит-тестов. После оптимизации мы тратим всего 2,5 часа на то, чтобы посчитать покрытие по всем юнит-тестам и двум наборам интеграционных тестов общим числом более 30 тысяч.
                Читать дальше →
              • Python-digest #25. Новости, интересные проекты, статьи и интервью [28 апреля 2014 — 4 мая 2014]

                  Юбилейный 25-й выпуск для хабры подборки статей, релизов, описаний интересных проектов о python и близлежащих технологиях.

                  Спасибо owlman75 за первомайскую иллюстрацию. Кстати, всех поздравляю с первомаем и наступающим днем Победы.

                  Благодарю хабраюзеров за плюсики в прошлую публикацию их оказалось неожиданно много, но правила я, оказывается, не дочитал и одного поста с 50+ недостаточно для вывода денежки — их должно быть минимум два. Но ничего, все равно очень приятно было.

                  Читать дальше →
                  • +66
                  • 11.9k
                  • 8
                • AIDA. Автоматизация работы с Git, JIRA и TeamCity

                    При разработке и тестировании какого-либо продукта появляется много рутинной работы. Чтобы избежать ошибок, связанных с человеческим фактором, мы используем AIDA.

                    AIDA (англ. Automated Interactive Deploy Assistant) — это учётная запись, значительно облегчающая работу с Git, TeamCity и JIRA.
                    Сегодня речь пойдет о том, как с её помощью нам удалось автоматизировать многие рабочие процессы.

                    В первую очередь мы вспомним об используемой в Badoo системе контроля версий, далее расскажем о том, как было автоматизировано создание веток релиза и осуществлено автоматическое слияние веток в Git, поговорим о существенной помощи AIDA в работе с JIRA (контроль и изменение статуса задач, заполнение полей) и ТeamCity (непрерывная интеграция и развёртывание на тестовое окружение).
                    Читать дальше →
                  • Переход на PHP 5.5 и юнит-тесты

                      С момента перехода с PHP 4.4 на PHP 5.3 в Badoo прошло уже 4 года, пришла пора обновлять PHP, на этот раз сразу на версию PHP 5.5. Помимо новых фич, новая версия PHP в очередной раз принесла нам существенное увеличение производительности, поэтому у нас было много причин для апгрейда. В этой статье мы расскажем о том, как мы переходили на PHP 5.5, какие «грабли» собрали, и зачем в очередной раз переписывали нашу систему для запуска юнит-тестов на основе PHPUnit.


                      Рис 1. Общая архитектура

                      «Грабли» при переходе с PHP 5.3 на PHP 5.5


                      В прошлый раз мы переходили с четвертой версии PHP на пятую, причём наша версия PHP 5.3 содержала патчи, чтобы работал «старый» синтаксис PHP, например, $a = &new ClassName();, и чтобы наша кодовая база могла работать на PHP4 и PHP5 одновременно. На этот раз у нас таких ограничений не было, поэтому при переходе мы просто нашли и заменили все устаревшие конструкции на более актуальные, и на этом переписывание кода было закончено.

                      Основные проблемы, которые у нас возникли:
                      • часть deprecated-фич языка была убрана;
                      • расширение mysql стало deprecated;
                      • низкая производительность расширения runkit, которое мы используем при написании юнит-тестов.


                      После перехода на PHP 5.5 наши юнит-тесты начали проходить значительно дольше (в несколько раз), поэтому мы решили в очередной раз доработать нашу «пускалку», чтобы решить эту проблему.

                      Читать дальше →
                      • +51
                      • 18.7k
                      • 7
                    • HTML по стандартам

                        Привет Хабр!

                        image Изначально хотел назвать статью «HTML по ГОСТ`у», но потом выяснилось что у большинства программистов не было предмета «Метрология и стандартизация» и о «стандартизации», «сертификации», «унификации» не все слышали.

                        В i-Free я много занимаюсь разработкой веб-приложений. А поскольку их много, они разные и работают в разных условиях, то само собой приходится задумываться о стандартизации. Есть такой проект «Пуленепробиваемый HTML5» (http://html5boilerplate.com/), в котором разработчики решили создать идеальный шаблон странички. Он мне очень нравился, и все свои проекты я начинал именно с него. Но, исправляя баг за багом, делая все новые и новые приложения, я пришел к выводу, что многого в нем не хватает. В этой статье я хотел бы рассказать о том, что обычно пропускают при написание страничек и веб-приложений и показать, чем и зачем я прокачал свой шаблон пустой странички.
                        Читать дальше →
                      • Автоматическое тестирование Parallels Cloud Server

                        Я хочу рассказать как тестируется один из продуктов компании Parallels Inc., в которой я работаю,
                        — Parallels Cloud Server. Думаю некоторым хабрачитателям этот продукт уже знаком по статьям Parallels рассекретила Cloud Server, FastVPS: Как мы меняли платформы виртуализации и Собери сам: как мы сделали хранилище Amazon-style для небольших хостеров. Если нет, то рекомендую статьи выше к прочтению.

                        Тестирование этого продукта может быть интересно по многим причинам и одна из них это то, что продукт сложный, многокомпонентный и разрабатывается несколькими независимыми командами.

                        Если у меня получилось вас заинтересовать — добро пожаловать под кат.
                        Читать дальше →
                      • Выпущен обновленный PyCharm 3.1 с поддержкой Python 3.4 и Django 1.6: что стало лучше?

                          Хотим поделиться радостью: мы только что выпустили PyCharm 3.1. Это — хоть и минорный, но все же наполненный новой функциональностью релиз PyCharm. Как вы знаете, PyCharm начиная с версии 3.0 доступен как в платном варианте PyCharm Professional Edition, так и в бесплатном с открытым исходным кодом — PyCharm Community Edition.

                          Загрузите PyCharm 3.1 прямо сейчас (и продолжайте читать, пока он загружается).

                          Новый PyCharm 3.1 теперь поддерживает последние версии Python 3.4 и Django 1.6. Мы не обошли вниманием и поддержку Google App Engine — она заметно улучшена. В PyCharm 3.1 также интегрированы улучшения, сделанные в последнее время в общей для всех наших IDE платформе — IntelliJ.

                          Что нового?


                          Поддерживается Python 3.4


                          image

                          PyCharm 3.1 поддерживает Python 3.4, включая новые стандартные библиотеки и последние новшества языка. Можно смело переключаться на новый интерпретатор и работать, наслаждаясь новыми фичами Python.
                          а еще?
                        • Архитектура Поиска Яндекса. Лекция для Малого ШАДа

                            В этой лекции на примере Яндекса будут рассмотрены базовые компоненты, необходимые для организации интернет-поисковика. Мы поговорим о том, как эти компоненты взаимодействуют и какими особенностями обладают. Вы узнаете также, что такое ранжирование документов и как измеряется качество поиска.

                            Лекция рассчитана на старшеклассников – студентов Малого ШАДа, но и взрослые могут узнать из нее много нового об устройстве поисковых машин.





                            Первый компонент нашей поисковой машины – это Паук. Он ходит по интернету и пытается выкачать как можно больше информации. Робот обрабатывает документы таким образом, чтобы по ним было проще искать. По простым html-файлам искать не очень удобно. Они очень большие, там много лишнего. Робот отсекает все лишнее и делает так, чтобы по документам было удобно искать. Ну и непосредственно поиск, который получает запросы и выдает ответы.
                            Конспект лекции
                            • +56
                            • 26.3k
                            • 9
                          • 2ГИС +1: данные и функции в обмен на аудиторию

                              2ГИС Онлайн пополняется новыми функциями: начиная с сегодняшнего дня, стало возможным покупать билеты в кино и записываться в различные организации прямо из нашего справочника. Появлением этих функций мы обязаны сервисам «Рамблер-Касса» и «Таймлайнер». Прямо сейчас мы ищем новых партнеров. Мы предлагаем нашу аудиторию, которая составляет более 12 миллионов человек, интересным сервисам.

                              image
                              А поподробнее?
                              • +21
                              • 7.3k
                              • 9
                            • API карт от 2ГИС: рецензия

                                Недавно 2ГИС порадовал всех нас выспуском версии 1.0 собственного картографического JS API. API карт отечественного производства — штука редкая; Mail.ru и Rambler, например, так и не сподобились, хоть и обещали (пруф раз, пруф два). Посмотрим, что получилось у новосибирцев.

                                Знакомимся



                                Не будем откладывать в долгий ящик, открываем раздел "Быстрый старт" и копируем предложенный код. It works! Правда, заголовок показывает кракозябрами — оно, правда, и не удивительно, поскольку тэга с указанием charset-а нет. Ну да ладно, мелочи жизни. Смотрим на код.

                                Читать дальше →
                              • 2ГИС для iPhone

                                  Свершилось то, о чем нас так часто спрашивали, чего так долго ждали, и над чем мы так упорно работали. Встречайте: мобильная версия 2ГИС для iPhone. Мы обещали, что она появится до конца года – она появилась. Величайшее мобильное упущение, наконец, исправлено, и любимый справочник теперь доступен на всех основных платформах, включая iOS. Приложение уже в Apple App Store – спешите скачивать и делиться обратной связью. Что нового и почему так долго – читайте далее.



                                  Читать дальше →
                                • Tsung: Нагрузочное тестирование Web-приложений


                                    Tsung — это распределенная система нагрузочного тестирования, написанная на Erlang'е. Заявлена поддержка HTTP, WebDAV, SOAP, PostgreSQL, MySQL, LDAP and XMPP/Jabber. В этой статье я опишу как протестировать обычный web сайт на нагрузку.
                                    Читать дальше
                                  • Имена людей и интерфейс

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

                                      image

                                      Заинтересованная аудитория: авторы HTML-контента, разработчики скриптов серверных приложений (PHP, JSP и т.д.), менеджеры веб-проектов и любые другие люди, так или иначе связанные с дизайном форм ввода данных, дизайна баз данных и онтологий, которые затрагивают личные имена людей.

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

                                      Читать дальше →