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

    Предисловие


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

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

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

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

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

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

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

      Agile движение имеет свой взгляд на спецификации. Наиболее экстремальное крыло выражает свои взгляды так:

      В жопу спецификации!
      Дальше еще интереснее...
    • Найди коррупционера. Анализ данных чиновников из проектов Канцелярской сотни (с примерами на R)

      Как определить чиновников, наиболее подозрительных с точки зрения коррупции? Проще всего — сравнив их доходы и уровень жизни.

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

      Почему открытая информация о доходах чиновников важна? Потому что это позволяет их контролировать.

      image
      Фото из инстаграмма дочери бывшего руководителя ГАИ Украины Александра Ершова. На фото дочь Ершова в Каннах рядом с Пэрис Хилтон. В результате скандала из-за несоответствия задекларированных доходов и образа жизни семьи Ершов подал в отставку.
      Читать дальше →
    • Рекурентная нейронная сеть в 10 строчек кода оценила отзывы зрителей нового эпизода “Звездных войн”

        Hello, Habr! Недавно мы получили от “Известий” заказ на проведение исследования общественного мнения по поводу фильма «Звёздные войны: Пробуждение Силы», премьера которого состоялась 17 декабря. Для этого мы решили провести анализ тональности российского сегмента Twitter по нескольким релевантным хэштегам. Результата от нас ждали всего через 3 дня (и это в самом конце года!), поэтому нам нужен был очень быстрый способ. В интернете мы нашли несколько подобных онлайн-сервисов (среди которых sentiment140 и tweet_viz), но оказалось, что они не работают с русским языком и по каким-то причинам анализируют только маленький процент твитов. Нам помог бы сервис AlchemyAPI, но ограничение в 1000 запросов в сутки нас также не устраивало. Тогда мы решили сделать свой анализатор тональности с блэк-джеком и всем остальным, создав простенькую рекурентную нейронную сеть с памятью. Результаты нашего исследования были использованы в статье “Известий”, опубликованной 3 января.



        В этой статье я немного расскажу о такого рода сетях и познакомлю с парой классных инструментов для домашних экспериментов, которые позволят строить нейронные сети любой сложности в несколько строк кода даже школьникам. Добро пожаловать под кат.
        Читать дальше →
      • Функциональные выражения в JavaScript

          В JavaScript есть множество способов сделать одно и то же. В этом есть и хорошее, и плохое. Для новичка это точно плохо, так как ему придется не только изучить большее количество информации, но и появится больше мест для совершения потенциальных ошибок. Это может происходить при определении функций.

          Есть множество различных способов объявить функцию:

          function A() {};             // декларация функции
          var B = function () {};       // функциональное выражение
          var C = (function () {});     // функциональное выражение с оператором группировки
          var D = function foo () {};   // именованное функциональное выражение
          var E = (function () {})();   // самовызывающееся функциональное выражение
          var F = new Function();     // конструктор функции
          var G = new function() {};   // вырожденный случай: конструктор объекта
          

          В таком обилии сложно не запутаться, не так ли? Как правило, в повседневной жизни мы используем не более трех различных типов объявления функций, и это отлично работает. Однако если копнуть поглубже, то может оказаться, что большинство из нас даже не подозревает какой объём таинств и подводных камней хранит в себе операция объявления функции.
          Читать дальше →
        • Интерфейсы: Как создавать формы для подписки на email-рассылку и оповещения



            В нашем блоге мы много пишем о создании почтовых рассылок — их верстке, дизайне и интересных статистических фактах. Сегодня мы представляем вашему вниманию адаптированный перевод материала основателя проекта AcquireConvert Жиля Томаса (Giles Thomas) о создании по-настоящему качественных форм для подписки на email-рассылки или оповещения.
            Читать дальше →
            • +9
            • 10,1k
            • 2
          • Партиционирование в PostgreSQL – Что? Зачем? Как?

            • Перевод
            Функцией партиционирования таблиц в PostgreSQL, к сожалению, активно пользуются пока не многие. На мой взгляд, очень достойно о ней рассказывает в своей работе Hubert Lubaczewski (depesz.com). Предлагаю вам еще один перевод его статьи!

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

            Так что я постараюсь объяснить в меру своих знаний и возможностей, что это такое, зачем его стоит использовать и как это сделать.
            Читать дальше →
          • Создание приложений для СУБД Firebird с использованием различных компонент и драйверов: FireDac

            • Tutorial
            В данной статье будет описан процесс создания приложений для СУБД Firebird с использованием компонентов доступа FireDac и среды Delphi XE5. FireDac является стандартным набором компонентов доступа к различным базам данных начиная с Delphi XE3.

            Наше приложение будет работать с базой данных модель, которой представлена на рисунке ниже.

            diagramm


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

            Эта модель является просто примером. Ваша предметная область может быть сложнее, или полностью другой. Модель, используемая в этой статье, максимально упрощена для того, чтобы не загромождать описание работы с компонентами описанием создания и модификации модели данных.
            Читать дальше →
            • +11
            • 42,3k
            • 9
          • Про организацию рабочего процесса

              Привет, Хабр!
              В этой статье мы расскажем, как построен процесс разработки платформы «1С:Предприятие», как мы работаем над обеспечением качества, и поделимся уроками, которые получили, создавая один из самых больших российских программных комплексов.

              Читать дальше →
            • Опубликован быстрый алгоритм для задачи изоморфизма графов


                Эти два графа являются изоморфными

                Математик Ласло Бабай (László Babai) с факультета компьютерных наук и математики Чикагского университета представил быстрый новый алгоритм для решения задачи изоморфизма графов — одной из фундаментальных проблем теории сложности вычислений. Алгоритм приводит проблему очень близко к классу P. По мнению некоторых специалистов, это один из самых значительных результатов в теоретической информатике за десятилетие, если не за несколько десятилетий.
                Читать дальше →
              • Перевод: Инструкция по проведению code review

                • Перевод
                Не так давно мой коллега переводил интересную статью о code review, перевод хабражителям понравился. А сегодня утром запутанный граф кроссылок вывел eyeofhell на еще более крутую статью. Вашему вниманию предлагается перевод краткой, но емкой инструкции о том, как делать review чужого кода и пережить review собственного. В отличие от упомянутой выше статьи, эта больше фокусируется на практических аспектах code review и содержит множество полезных рекомендаций как и что делать, чтобы не было мучительно больно. Хинт: чтобы почитать оригинал, кликните на имени автора в плашке под переводом.

                осторожно, под катом - много англицизмов!
              • Создание простого Chrome приложения

                • Tutorial
                В прошлом топике я постарался рассказать, что такое Chrome app, и зачем их писать. В этом, как обещал, я опишу процесс создания простого Chrome-приложения. В качестве примера будет использован текстовый редактор. Во-первых, его можно написать очень коротко, так чтобы практически весь код поместился в статью. Во-вторых, в текстовом редакторе будут использоваться несколько характерных для Chrome (и других основанных на Chromium браузеров) программных интерфейсов. В-третьих, да, я уже писал текстовый редактор для Chrome.



                Полный код редактора доступен на гитхабе. Готовый редактор можно установить из магазина приложений Chrome.

                Читать дальше →
                • +43
                • 54,6k
                • 9
              • Автоматизация workflow небольшой команды разработки (Часть 1)

                Практически во всех местах моей работы программистом для разработки использовали всего два продукта: багтрекинг и систему контроля версий. Чаще всего это были Atlassian Jira и SVN. В принципе, наличие этих двух систем здорово упорядочивает общение всех участников процесса разработки и положительно влияет на качество работы отдела и продукта.

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

                После третьей страницы текста моей статьи, я решил разделить ее на 2 блока:


                Итак. Настройка ПО, сопровождающего процесс разработки



                Читать дальше →
              • Автоматизация workflow небольшой команды разработки (Часть 2)

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

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

                  На протяжении 4-х лет у нас выработался следующий формат команды разработки:
                  • 1 Project Manager, он же Product Manager, он же Delivery Manager.
                  • 4-5 программистов
                  • 1 Team lead
                  • 3-4 QA
                  • 1 Аналитик
                  • 1 Техпис (иногда он же и аналитик в одном лице).

                  В итоге команда размером около 10-11 человек. Таких команд (ячеек) у нас несколько.

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

                  Начинал в этой системе я как программист, потом Team lead, ну а теперь PM (DM). Т.е. руковожу, полностью участвую в проектировании и иногда даже пописываю. Во времена моего программирования у меня был замечательный ПМ (выходец из тестировщиков), которая поддерживала все мои идеи по автоматизации workflow. Даже более того, концептуально этот процесс придуман ей, а я уже смог его технически реализовать и в некоторых местах усовершенствовать.
                  Читать дальше →
                • О профессиональных наказаниях подчиненных в интеллектуальной IT-среде



                  Текст написан по мотивам выступления руководителя студии «Сибирикс» Владимира Завертайлова на летней партнерской конференции «1С-Битрикс» BitrixSummerFest и представляет личное мнение выступавшего.

                  Полное выступление Владимира можно посмотреть по ссылке.

                  Тема это болезненная, и говорить о ней открыто не любят. Конечно, каждому хотелось бы работать в коллективе, где никто и никого не наказывает. Увы, но теория управления пока не дает нам рецептов построения совершенно бесконфликтных коллективов, в которых все работают ответственно и с полной самоотдачей, не проявляя никаких пороков в рабочее время, где начальники сплошь тактичны и мудры. Впервые о проблематике наказаний я задумался несколько лет назад, сидя в офисе часов в 12 ночи. В тот момент я, будучи директором компании, выполнял обязанности программиста. Я отлаживал код, написанный сотрудником, который всё бросил, не дописал и ушел домой. В скайп стучится заказчик, пишет грозные слова, «срочно, всё пропало», давит и торопит меня. А в таких ситуациях у меня начинает болеть спина. И я сидел и думал, а что для программиста означает «нести ответственность за проект»?

                  Скажем, я, как директор, за срыв проекта огребаю по полной, в первую очередь — финансово. Ведь вся ответственность за работу компании лежит на директоре. А как быть с программистом или дизайнером?
                  Читать дальше →
                • Linux-контейнеры дома: зачем и как




                    Рассуждения


                    При упоминании словосочетания «контейнерная виртуализация», многим на ум сразу же приходят Virtuozzo и OpenVZ, а также Docker. Ассоциируется же это все, в первую очередь, с хостингом, VPS и другими подобными вещами.

                    Дома, на личных компьютерах многие используют виртуальные машины: в основном, пожалуй, Virtualbox. Как правило, для того, чтобы работая под Linux, иметь под рукой Windows или наоборот. Однако, при наличии множества родственных Linux-операционок, я стал замечать, что использование виртуальных машин — это, мягко говоря, нерационально.
                    Читать дальше →
                  • Возможности PostgreSQL, которых нет в MySQL, и наоборот



                    Многие боятся переходить с «мускуля» на «посгрес» из-за того, что лишь смутно понимают, что это даст. Некоторых останавливает мысль, что наверно Postgres — это слишком сложная база и требует обучения. А также, что возможно чего-то придется лишиться в связи с переходом. Попробую немного прояснить ситуацию.
                    Читать дальше →
                  • Как «Змейка» может познакомить с ООП: сложная концепция простыми словами

                      Здравствуйте! Вас приветствует редакция сайта GeekBrains.ru, сервиса онлайн-обучения программированию. Мы решили завести блог на Хабре! Уверены, что ещё успеем рассказать и обсудить много интересного из мира программирования, ИТ и онлайн-образования. Но начнём очень просто, без особых прелюдий, с обзора бесплатного курса по основам C# и ООП от одного из наших учеников. Слоган курса гласит «Сложная концепция простыми словами». Давайте же посмотрим, насколько это соответствует действительности.


                      Читать дальше →
                    • Технокнига, часть 4: литература по управлению продуктом, разработке веб-сервисов, управлению веб-проектами, бизнесу и системному анализу архитекторов



                        Мы продолжаем публиковать список рекомендуемой литературы для студентов Технопарка. На этот раз вас ждет заключительная часть, рассчитанная на студентов 4 семестра. Предыдущие части: первая, вторая, третья.
                        Читать дальше →
                        • +23
                        • 28,4k
                        • 6
                      • Что я узнал про интерфейсы в реальном мире в Китае

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



                          Иконки важны. Судя по ним, галочка внизу — это, почти наверняка, «я согласен с условиями». Телефон вверху — наверняка номер. Дальше — замок — это пароль. Оба поля активные, то есть логин и пароль у меня должны быть сразу, так?

                          Нет, нифига, китайский UX подразумевает, что я сначала введу телефон и нажму оранжевую кнопку (цвета иконки — и да, это кнопка!). Получу пароль и введу его во второе поле, а потом нажму зелёную кнопку. Робот сравнит телефон с паролем и пустит меня дальше. Эту форму, скорее всего, рисовал китаец.


                          А это обычная такая телефонная будка раннего космического века

                          Сейчас покажу ещё несколько вещей, рождённых в стране, где квалифицированных инженеров примерно раз в двадцать больше, чем в Америке, а состояние изобретательности «советского инженера» ещё не пройдено. Я, конечно, опять продолжу свою историю и покажу интерфейсы в реальном мире — они не менее интересны с точки зрения юзабилити, нежели HCI, и не менее полезны для понимания, как можно работать с пользователем.
                          Читать дальше →