• Test Case Management Tool: как правильно сделать выбор и не пожалеть об этом



      Руководитель QA-подразделения Redmadrobot Илья Горшков рассказывает, как выбирал инструментарий для работы с тест-кейсами.
      Читать дальше →
      • +11
      • 44k
      • 7
    • 10 способов сделать резервную копию в PostgreSQL

        Многие разговоры про бэкапы начинаются с присказки что люди делятся на две категории… так вот я отношусь к тем людям которые делают бэкапы. Правильно настроенное резервное копирование и проверка резервных копий укрепляет сон. А наличие заранее написаных и проигранных инструкций по восстановлению вообще укрепляет пищеварение и иммунитет. Так вот, за время работы с PostgreSQL мне довелось часто настраивать резервное копирование, при этом условия и требования были самые разные. Однако при этом набор инструментов за редким исключением оставался неизменным. В этой статье поделюсь своим опытом в деле, как можно брать резервные копии PostgreSQL.
        image

        Читать дальше →
      • Исследование: как пользователи на самом деле работают с сенсорными экранами

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

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

        Методология исследования


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

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

        image

        Число участников эксперимента было не очень велико, однако даже при таком количестве людей, исследование получилось очень сложным. Только запись 31 сессии заняла почти 100 часов видео.
        Читать дальше →
      • Эра фаблетов: Проектирование для крупных экранов

        • Перевод


        «С тех самых пор, как Samsung создала свою линию Galaxy Note, тем самым открыв рынок «больших телефонов», подобные девайсы называются фаблетами. Такое название они получили в силу своего размера, который находится где-то между размерами традиционного телефона и небольшого планшета»

        За последнее время я успел прочитать много статей о том, что новая серия iPhone 6 заставит нас всех изменить подход к проектированию пользовательского интерфейса для мобильных телефонов. Возможно, это справедливо для тех дизайнеров, которые до сих пор фокусируются только на iOS и делают вид, что остальной мир не существует.
        Читать дальше →
      • Perspex — кросплатформенный UI-фреймворк с XAML и биндингами

          TL;DR: кроссплатформенный клон WPF. От других попыток сделать нечто с XAML-ом выгодно отличается наличием полностью своей системы отрисовки со сменными бакэндами (сейчас поддерживается Direct2D и Cairo). В наличии инспектор, дизайнер (см. видео). Биндинги сделаны на стероидах под названием ReactiveExtensions (старый стиль тоже можно использовать). Умеет работать с Windows/Linux/MacOS, поддержку мобильных платформ планируется добавить в начале следующего года посредством отрисовки через MonoGame.


          Читать дальше →
        • У нас проблемы с промисами

          • Перевод
          Разрешите представить вам перевод статьи Нолана Лоусона «У нас проблемы с промисами», одной из лучших по теме из тех, что мне доводилось читать.

          У нас проблемы с промисами


          Дорогие JavaScript разработчики, настал момент признать это — у нас проблемы с промисами.

          Нет, не с самими промисами. Их реализация по спецификации A+ превосходна. Основная проблема, которая сама предстала передо мной за годы наблюдений за тем, как многие программисты борются с богатыми на промисы API, заключается в следующем:

          — Многие из нас используют промисы без действительного их понимания.

          Если вы мне не верите, решите такую задачку:

          Вопрос: В чем разница между этими четырьмя вариантами использования промисов?

          doSomething().then(function () {
            return doSomethingElse();
          });
          
          doSomething().then(function () {
            doSomethingElse();
          });
          
          doSomething().then(doSomethingElse());
          
          doSomething().then(doSomethingElse);
          

          Узнайте решение задачи
        • Почему писать скрипты для борьбы с «браузером Амиго» — зло?

            Прочитав пост про удаление ненужного софта мне в который раз стало очень грустно. Автор предлагает «эффективное решение» по избавлению от всякого нежелательного софта, вроде упомянутого «амиго». И если некоторые части скрипта еще можно назвать, ну хотя бы безвредными, то удаление и запрет на запись "%username%\AppData\Local\Apps" выглядит как откровенный саботаж. Плохо еще и то, что такой или аналогичный по механике «полезный скрипт» некоторые всерьез считают действенной мерой. Это далеко не первая статья, от которой у меня сводит скулы, вижу что многие не понимают с чего вообще нужно начинать настройку безопасности в Windows-среде.

            Представляю читателям мое видение списка минимально необходимых настроек и действий (в первую очередь для Windows-домена), чтобы никогда не видеть непонятных браузеров и свести риск вредоносного ПО к абсолютному минимуму. Некоторые описанные решения могут показаться спорными, и мало того, они таковыми и являются. Но заранее прошу, увидев первое предложение какого-то пункта, не спешите писать комментарий, прочитайте мысль до конца, возможно у вас отпадут вопросы.
            Почему я не знаю как выглядит браузер Амиго?
          • Список команд чата Skype

              ...Skype — это дьявольски хитрая программа, написанная бесспорно талантливыми людьми...Крис Касперски

              Доброго времени суток!

              Skype сейчас я встречаю чаще на компьютерах чем другие IM клиенты, мне он практически заменил icq, вся рабочая переписка ведется в skype, но речь пойдет не о том, что лучше или популярней. Часто бывает так, что участвуешь сразу в нескольких чатах где количество участников превышает 10, что собственно и приводит к тому, что на рабочем столе и в трее постоянно обновляется количество новых сообщений, а также уведомления в виде всплывающих сообщений, а теперь представьте что у вас 3 окна чата с друзьями, 1 с вашим боссом, другой с девушкой — все это в сумме начинает запутывать, отвлекать и порой раздражать. Хотелось бы расставить приоритеты…

              Раньше я чаще всего настраивал «политику» уведомлений только через глобальные настройки программы
              Случилось так, что я узнал, что в каждом окне чата skype возможно использование команд, например /alertsoff отключит уведомления для конкретного окна чата, соответственно /alertson включит их обратно.
              Поискав немного я наткнулся на некое how-to, оказывается у skype чата довольно много текстовых команд, подобие IRC команд. Далее я постарался попробовать все возможные из них на двух имеющихся у меня платформах, как оказалось не все и не везде работает… Прошу под кат.

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

                В течение минуты думал над заголовком, так ничего и не придумал…
                Strace. Наверное нет того человека, который бы не слышал про strace. Если кто не слышал, то strace — это утилита, отслеживающая системные вызовы, которые представляют собой механизм трансляции, обеспечивающий интерфейс между процессом и операционной системой (ядром). Эти вызовы могут быть перехвачены и прочитаны. Это позволяет лучше понять, что процесс пытается сделать в заданное время. Перехватывая эти вызовы, мы можем добиться лучшего понимания поведения процессов, особенно если что-то идет не так. Функциональность операционной системы, позволяющая отслеживать системные вызовы, называется ptrace. Strace вызывает ptrace и читает данные о поведении процесса, возвращая отчет. Детали можно прочитать в вики или официальном man. Собственно вот, ну и речь конечно же о Linux. В других ОС свои аналоги.
                Так вот, лично для меня strace это как последняя инстанция. Когда уже все логи просмотрены, все debug и verbose ключи включены, а причина проблем так и не обнаружена, я достаю из широких штанин запускаю strace. Есть одно но, strace это такой инструмент который вовсе не является серебряной пулей, которая тут же все покажет и расскажет. Для работы с strace требуется наличие определенных знаний и чем шире и глубже эти знания тем больше вероятность обнаружения проблемы.
                В интернетах полно вводных статей, где описываются примеры запуска strace. Я же в этой статье покажу частные проблемы и их решение с помощью strace.
                Читать дальше →
              • Функциональные тесты: Django + Selenium WebDriver и 3 варианта на Ваш выбор

                image

                «В жизни каждого Django-разработчика наступает момент, когда он решительно рвет со своим прошлым, лишенным функционального тестирования!»

                Об этом и поговорим.
                Читать дальше →
              • Test-Driven Development — телега или лошадь?

                  Test Driven Development (TDD) – неоспоримо выдающаяся техника, дающая ряд преимуществ. Прикладные разработчики, причём вне зависимости от масштаба проекта и количества вовлеченных специалистов, в широкой массе не следуют TDD. Но есть и ярые сторонники такого подхода, причём они готовы апеллировать не только к здравому смыслу или производственной необходимости, но и на безоговорочно успешные примеры его внедрения. Одним из таких апологетов является Александр Люлин, который не только рассказывает о степени позитивного влияния TDD на разработку, но и делится экспертизой внедрения и неукоснительного каждодневного применения этой техники вплоть до исходных кодов и примеров сценариев (в своем блоге). Однако главный тормоз на пути следования принципам TDD стоит, что предсказуемо, набор чисто психологических установок. В режиме «жёсткого разговора» мы пообщаемся с Александром на тему необходимости Test Driven Development.

                  Test Driven Development – попытка следования моде? Слепое копирование чужих подходов?

                  Давайте «сразу определимся». Я не использую TDD в его классическом понимании. И не надо здесь цитировать «википедию»! Вообще, вряд ли кто-то из профессионалов рассматривает энциклопедические статьи в качестве руководства к действию. Мы свой подход «выстрадали» в рамках реализации успешного проекта, поэтому за нами реальный опыт, а не «тупое использование чужих идей». Скорее, мы используем синтез из TDD и собственных представлений о том, как нужно разрабатывать ПО. Даже если эти «внешние идеи» исходят от очень умных людей, их следует критически осмыслить и адаптировать к реальной компании, существующей команды и стратегии развития и обеспечения качества. Но я далее буду говорить «TDD», имея ввиду тот процесс “разработки через тестирования», который близко соотносится с энциклопедическим Test Driven Development, но идёт гораздо дальше него.

                  TDD — это попытка поставить всё с ног на голову. В классике инженерного дела сначала создаётся установка/техническая система/машина/агрегат. Конечно, методика испытаний имеется в виду при проектировании… но всё-так, программисты – это какой-то особый вид инженеров? Генетически ущербных? Сами себя таким не считаете?


                  Читать дальше →
                • Как развивать облачный сервис

                  • Перевод
                  Аналитические отчеты по теме говорят о том, что прямой корреляции размера бизнеса и степени использования облачных сервисов пока не наблюдается. В этом есть логика: облако — это универсальный инструмент, который позволяет компаниям оптимизировать свои бизнес-модели.

                  Читать дальше →
                • Философия ценообразования для облачных сервисов

                  • Перевод
                  Мы уже неоднократно делились практическими кейсами оптимизации нашей собственной ИТ-инфраструктуры, но совсем не затрагивали тему ценообразования. Попробуем начать разговор на эту тему с краткого рассуждения применительно к сфере облачных сервисов.

                  Читать дальше →
                • Как замена UI-элемента может повлиять на выручку

                  • Перевод
                  IaaS должен быть доступным даже для тех, кто не сталкивался с ИТ-сферой. Для этого мы оптимизируем служебные сервисы и делимся своим опытом здесь. Пара примеров:


                  Сегодня мы рассмотрим классический usability-кейс, которым поделился Джаред Спул (Jared Spool).

                  Читать дальше →
                  • +8
                  • 12,4k
                  • 6
                • 4 must-have-элемента тестирования ПО

                    29 сентября «Универсариум» запустил курс «Основы тестирования ПО». Надо отдать должное Алексею Петрову – автору курса, директору по качеству Почта@Mail.ru. Он в течение 17 лекций планомерно приводит слушателя к мысли о том, что тестирование – это не просто (а, если честно, то вообще не) сверка реализованного кода со спецификацией. Это процесс, сопровождающий продукт от самой идеи его создания почти до полного исчезновения и прекращения использования. Скажем больше – это целая философия, конечной целью которой является создание Продукта Вашей Мечты.

                    image

                    Сегодня мы раскроем основные пункты тестирования, без которых невозможно создание качественного продукта:
                    Читать дальше →
                  • Как быстро и бесплатно получить доступ к windows на osx или linux

                    Среди разработчиков нередка ситуация, когда основной рабочий компьютер это mac или linux, но время от времени нужен доступ к windows: запустить специфичную программу, проверить верстку в internet explorer, поставить триальную версию corel draw для конвертации в .svg.

                    “Классический” способ решения этой задачи — установить одну из популярных виртуальных машин, скачать 90-дневную триал версию windows и установить ее в виртуальноый машине. Но у этого способа есть один большой минус — о необходимости деражать под рукой такую виртуальную машину разработчик обычно вспоминает в тот момент когда “о, тут нужна винда!”. А ставится windows не то чтобы очень быстро. И 90-дневный триал, что характерно, имеет обыкновение заканчиваться в самый неподходящий момент. Даже с rearm. Недавно Microsoft пошла на встречу разработчикам и сделала интересный сервис, позволяющий очень быстро и бесплатно получить доступ к нужной версии windows.
                    Подробности - под катом
                  • Кто ВКонтакте самый главный?

                      Привет, хабр!



                      Мы уже знакомы по предыдущим статьям на тему анализа данных. Теперь настало время рассказать об одной очень практической задаче, которую мы научились решать. А именно — мы узнаем, кто же на самом деле управляет нашим мнением в социальной сети ВКонтакте. Код катом много необычных результатов и интересной математики.
                      Читать дальше →
                    • Как не потерять данные в PostgreSQL

                      PostgreSQL предлагает несколько вариантов резервирования данных. Обо всех них уже рассказано не раз, в том числе и на хабре. Но в основном рассказывается про технические особенности методов. Я же хочу постараться рассказать про общую стратегию резервного копирования, объединив все методы в эффективную систему, которая поможет вам сохранить все данные и уменьшить число погибших нервных клеток в критических ситуациях.
                      Вводные данные: сервер PostgreSQL 9.2, База размером >100Gb.
                      Читать дальше →
                    • Третий лишний: как мы реализовали сбор почты с использованием OAuth 2.0



                        «Может тебе еще и ключ от квартиры, где деньги лежат?» — примерно так выглядит нормальная реакция человека, у которого посторонний сервис требует пароль от основной почты. Тем не менее, большинству из нас регулярно приходится сообщать пароль сторонним сервисам. Сегодня я хочу рассказать о том, как мы реализовали процедуру авторизации при сборе писем с наших ящиков через OAuth 2.0, тем самым избавив пользователей Mail.Ru от необходимости доверять «ключи» от своей почты третьей стороне.
                        Читать дальше →
                      • Как получить Blue Card или вид на жительство в Германии и сколько это стоит

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