• Что такое end-to-end тестирование?

    pi314
    @pi314
    Президент Солнечной системы и окрестностей
    Понятие еnd-to-end обозначает всего-навсего классификацию тестов по уровню, на котором тестируется система, и, само по себе, ничего не говорит ни о том, какие конкретно должны быть эти тесты, ни о том, какую роль они играют в общей стратегии обеспечения/проверки качества и, также, не является методикой тестирования. (Методика - это совсем другое понятие.)

    Для понимания сути этого понятия хорошо сравнить его с модульным ("нижний" уровень) и интеграционным ("средний") тестированием на каком-нибудь конкретном примере. Давайте рассмотрим некий сферический webshop в вакууме. Предположим, в нем есть 50 классов и для большинства из них написаны модульные тесты. Они проверяют исключительно функционал конкретного модуля (чаще всего, класса), т.е. тот, что зависит только от самого модуля и ни от чего чего более. Потом есть интеграционные тесты. Они проверяют корректность работы отдельных "модулей", если их собрать вместе согласно архитектурe. Например, работает ли правильно "Корзина", состоящая, в свою очередь, из 10 классов (предварительно проверенных модульными тестами), или "Корзина", подключенная к "Вебморде" и т.д. Где-то повыше в этой иерархии есть такие интеграционные тесты, которые проверяют конкретный функционал всей системы. Например, отправляется ли юзеру мейлом копия оплаченного заказа...

    И вот тут начинается самое интересное для понимания того, что такое end-to-end тестирование! Можно представить себе тест, проверяющий, что соответствующий мейл генерируется и сбрасывается SMTP серверу. Если SMTP сервер не рассматривать, как часть разрабатываемой системы, то этот тест вполне можно назвать end-to-end тестом (послали кучку HTTP запросов через "Вебморду" и проверили сброс мыла на SMTP - все зашибись!). Однако, если настройки и эксплуатация SMTP сервера - часть проекта (например, заказана разработка webshop "под ключ"), может оказаться, что это мыло будет отфильтровано каким-нибудь спам-фильтром, превысит лимит почтового ящика пользователя... короче, не дойдет до него. Тогда этот же самый тест уже нельзя считать end-to-end, а нужно бы было написать тест, проверяющий приход мыла в POP3/IMAP ящик. (Опять же, если это действительно нужно! Ибо, в зависимости от конкретных функциональных и нефункциональных требований, архитектор и QA инженер вполне могут найти возможность обеспечить адекватный контроль качества и без такого теста.)

    Таким образом, end-to-end тесты, это такие интеграционные тесты, которые воздействуют на систему через ее самые внешние интерфейсы и проверяют ожидаемую реакцию системы через эти же интерфейсы. Почему именно интеграционные? Потому, что это единственное, что можно о них сказать наверняка: они по определению не могут быть модульными тестами. А все остальное: являются ли они одновременно приемочными, нагрузочными или еще какими - зависит только от общих плана/стратегии тестирования и той роли, которые эти тесты в них играют.
    Ответ написан
    Комментировать
  • Какой плагин для Notepad++ подсвечивает фоном новый текст?

    XXX
    @XXX
    Решение где-то рядом
    Максим Новиков Посмотрите на названия в списке установленных плагинов, может найдете какой за это отвечает.

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

    В меню Опции > Определение стилей есть настройки цветов, но если у Вас стоит плагин который меняет цвета, то Вам не поможет.

    UPD
    Location Navigate Ваш плагин называется, только что себе его поставил. В списке плагинов его выберите и увидите настройки.
    Ответ написан
    2 комментария
  • C чего начать фриланс?

    taxigy
    @taxigy
    Если вы хотите быть фрилансером и при этом не быть занятым на фултайме в качестве наёмного работника, то либо у вас должен быть стартовый капитал, либо вам придётся быть фултайм-работником, иначе вы умрёте от голода. Когда вы работаете фултайм, у вас остаётся четыре-пять честных часов в сутки (после девятичасового рабочего дня, поездки на работу и обратно, завтрака, ужина и т.п.), которые вы можете либо посвятить своему развитию в каком угодно направлении. Фриланс — одно из таких направлений.

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

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

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

    Третье — сконцентрировать всё, что вы уже сделали или делаете, и подготовить портфолио и лаконичный хедлайн, читая который, ваш заказчик заинтересуется вами и захочет работать. «Умею верстать» — хреновый хедлайн. «Создаю потрясающий дизайн» — уже что-то интересное. Не волнуйтесь о качестве или соответствии реальности — вам придётся экспериментировать. Кстати, о реальности: неплохо взять чуть выше, чем вы можете сейчас. Так вы создадите себе стресс, а как извесно, человек развивается в условиях стресса. Если вы останетесь в комфортных для себя рамках, годы спустя вы себе этого не простите.

    Следующий шаг — это, ура, наконец-то искать заказчика. Зарегистрируйтесь на Elance, oDesk, Freelancer.com, Outsource.com (возьмите у вашего друга-фрилансера реферальные ссылки, вам обоим будет от этого плюс). Это не самые лучшие биржи, но на них водятся интересные проекты. Вообще, биржу следует расценивать как стартовую площадку для накопления полезных контактов. Пока вы никому не нужны, и у вас нет друга-министра, который за откат заказал бы вам вёрстку, вам придётся практиковаться в том, чтобы захватить внимание человека, перед которым такими же прекрасными пропоузалами машут пакистанцы и индусы. О том, как пробиться сквозь стену дешёвых претендентов, не сбавив при этом в собственной ценности, и получить первый заказ, я могу рассказать подробно отдельно, может быть, лично. Это долгая история. Например, у меня это заняло пять месяцев очень упорного труда, и я до сих пор не уверен, что то время, которое я вложил, когда-то может окупиться.

    Развивайтесь как фрилансер. Это очевидно, но об этом легко забыть. Вы ежедневно развиваете свои способности общаться или не общаться с людьми, готовить еду и варить кофе, но это не имеет значения. По-настоящему имеет значение ваш профессионализм — и этим нужно заниматься. Ежедневно анализируйте свои действия, ошибки, возможности, сильные и слабые стороны. Отметайте активности, которые забирают ваше время зря. Не бойтесь отказаться от проекта, если он даже на $10 дешевле, чем тот минимум, на который вы рассчитываете (кстати, установите себе этот уровень в самый первый день).

    Познакомьтесь с другими фрилансерами. Зарегистрируйтесь на freelancing.stackexchange.com/, читайте, задавайте вопросы. Вы удивитесь, как много людей проходят через одни и те же грабли. Вы будете смеяться над тем, что, завалив проект, вы на следующий день увидите вопрос на тему «сложного клиента» или «неконтролируемого увеличения скоупа», которые пережили буквально вчера. Смеяться и плакать, а потом вставать и идти дальше. Когда (или если) вы были фултайм-работником, вас страховали коллеги и вся цепочка руководителей над вами, несмотря на то, что вы этого не понимали или, может быть, даже не чувствовали. Теперь вы один на один с очень агрессивной средой, и очередная неудача — это нормально, разница лишь в том, как вы её ощущаете.

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

    Ну и напоследок. Подумайте о том, в каком месте, в какой природе, в каком климате вы хотите жить, что должно быть видно из вашего окна. Посчитайте, какой кэш флоу вам нужен, чтобы этого достичь, — поздравляю, это одна из самых главных отметок на шкале вашего роста. Разделите ожидания на десять — это ваш план на ближайший год. Умножьте 200 рабочих дней на ваши 4–5 часов — это ваш временной бюджет. Разделите первое на второе — это ваша часовая ставка.

    Успехов! Чем больше людей будут успешными фрилансерами, тем лучше для всех. У вас все шансы попячить ваших друзей, которые работают в крупной компании на средней позиции и участвуют в укреплении внутрикорпоративной безответственности.
    Ответ написан
    3 комментария
  • C чего начать фриланс?

    ankfrv
    @ankfrv
    Начни фриланс с портфолио. Неплохие навыки веб-дизайна? Нарисуй пять-десять страниц и выложи в портфель (ничего, позже заменишь реальными проектами), а потенциальный клиент будет голосовать рублем и ты узнаешь, насколько твои навыки действительно неплохие.
    Продолжи фриланс с репутации — сделай несколько задач хотя бы и бесплатно (но хорошим людям и для реальных проектов, только не предлагай это на фрилансе), взамен настоятельно проси отзыв на бирже.
    Не демпингуй — уважай себя, уважай рынок. Определи для себя барьер, ниже которого никогда не опускайся. Иногда лучше заработать меньше, но иметь больше времени для саморазвития, чем сутками пахать над копеечными проектами. Искушение заработать больше велико, но не забывай, что умение продавать свое рабочее время — это тоже полезный скилл для фрилансера и просто сбивая цену ты его не разовьешь.
    Ответ написан
    5 комментариев
  • Фриланс после 30

    EugeneOZ
    @EugeneOZ
    Далась Вам эта вёрстка — угрохаете кучу времени на "кнопочку вот тут поправить", а заказчик не будет платить за потраченные часы, потому что "ну что там делать-то, кнопку подвинуть на 2 миллиметра, любой студент справится".
    Делайте то, за что платят по часам и что не кажется незначительным в глазах заказчика.
    Не знаю, достаточно ли у вас для этого знания — предложите свои услуги по настройке VPS в облаках, обучитесь работе с сервисами AWS, всякие там балансеры, кластеры, бэкапы, репликации, роутинги… Всё это магия для заказчика, они понятия не имеют, как это работает и готовы будут вам заплатить за настройку т.к. понимают, что сами ни в коем случае это не сделают. В вёрстке не так — большинство задач в вёрстке не критично влияет на денежный поток, поверстать может любой программист в свободное время. А настроить кластер из десятка нод баз данных сможет далеко не каждый программист.
    Ответ написан
    Комментировать
  • Ищу программу для учета времени, потраченного на проект

    itcrab
    @itcrab Автор вопроса
    Только, что нашел таки идеал (для меня) программы, которая мне требуется. Это именно та программа, которую я находил ранее, но за ненадобностью тогда просто пропустил ее.
    Описание этой программы нашел на сайте: 123-box.ru/3254
    Саму программу можно скачать здесь: nicolasbouliane.com/ticks/

    Вопрос закрыт.
    Ответ написан
    Комментировать