Как стать автором
Обновить
0
@jillerread⁠-⁠only

Пользователь

Отправить сообщение

Новости Windows Azure: анонсы, большие анонсы, мега-анонсы!

Время на прочтение9 мин
Количество просмотров6.7K
image

В течение нескольких прошедших недель платформа Windows Azure получила целый ряд крупных обновлений. Большая часть анонсов состоялась в рамках конференции TechEd North America 2013, которая проходит с 3 по 6 июня в США.

Среди этих анонсов можно выделить следующие основные:

  • Магазин сервисов и данных Windows Azure Store доступен в России;
  • Новые дата-центры в Китае, Японии и Австралии;
  • Поминутная тарификация использования вычислительных ресурсов;
  • Плата за остановленные виртуальные машины больше не взымается;
  • Новинка! Новый облачный сервис BizTalk Services;
  • Глобальная доступность поддержки AMQP в Windows Azure Service Bus;
  • Поддержка пользовательских SSL-сертификатов в Windows Azure Web Sites;
  • Библиотека Node.js для аутентификации с Windows Azure Active Directory;
  • Выпуск Windows Azure Media Services .NET SDK под open source на Github;
  • Обновление сервиса Windows Azure Active Directory;
  • Обновление PowerShell-скриптов для IaaS и PaaS;
  • Значительное улучшение условий подписки MSDN, сценариев разработки и тестирования ПО;
  • Улучшение портала для более удобного информирования о тратах;
  • Обновленный триал для тестирования Windows Azure;
  • Выпущено обновление Training Kit.

Ниже вы найдете более подробное описание каждого нововведения.
Читать дальше →
Всего голосов 41: ↑30 и ↓11+19
Комментарии20

Исполняемая спецификация: SpecFlow от А до Я

Время на прочтение8 мин
Количество просмотров60K

Эта статья является продолжением первой части и раскрывает технические подробности работы с «исполняемой спецификацией» с помощью SpecFlow.

Для начала работы вам понадобится плагин к Visual Studio (скачивается с официального сайта) и пакет SpecFlow (устанавливается из nuget).

Итак, наш Product Owner попросил команду разработать калькулятор…
Под катом user stories, тестовые сценарии, автоматизация и запуски по расписанию из Team City
Всего голосов 17: ↑16 и ↓1+15
Комментарии2

FeatureBranch

Время на прочтение8 мин
Количество просмотров23K
С распространением распределенных систем управления версиями (DVCS), таких как Git и Mercurial, я все чаще вижу дискуссии на тему правильного использования ветвления(брэнч) и слияния(мердж), и о том, как это укладывается в идею непрерывной интеграции (CI). В данном вопросе есть определенная неясность, особенно когда речь заходит о feature branching (ветвь на функциональность) и ее соответствие идеям CI.

Простой (изолированный) Feature Branch

Основная идея feature branch заключается в создании нового брэнча, когда вы начинаете работать над какой-то функциональностью. В DVCS вы делаете это в своем собственном репозитории, но те же принципы работают и в централизованных VCS.

Я проиллюстрирую свои мысли следующим рядом диаграмм. В них основная линия разработки (trunk) отмечена синим, и двое разработчиков, отмеченные зеленым и фиолетовым (Reverend Green и Professor Plum).

image

Читать дальше →
Всего голосов 40: ↑38 и ↓2+36
Комментарии27

Data Driven Tests & SpecFlow

Время на прочтение3 мин
Количество просмотров12K
SpecFlow позволяет использовать встроенные таблицы для Data Driven сценариев. В своей практике я столкнулся с двумя проблемами при таком подходе:
  1. Иногда хочется, наоборот, получить авто-документацию из теста (например, тестирование API)
  2. Когда количество данных велико, лучше хранить их где-то отдельно (часто для Acceptance Test Case'ов используют Excel)

Покопавшись в Gesigner Generated коде я смог решить обе проблемы.

Читать дальше →
Всего голосов 7: ↑6 и ↓1+5
Комментарии4

4 шага на пути в Google, не имея высшего образования

Время на прочтение4 мин
Количество просмотров192K


Как получить должность инженера в Google, не имея высшего образования?
Вот вам небольшая история.
Читать дальше →
Всего голосов 249: ↑219 и ↓30+189
Комментарии55

Юнит-тестирование для чайников

Время на прочтение15 мин
Количество просмотров1.1M
Даже если вы никогда в жизни не думали, что занимаетесь тестированием, вы это делаете. Вы собираете свое приложение, нажимаете кнопку и проверяете, соответствует ли полученный результат вашим ожиданиям. Достаточно часто в приложении можно встретить формочки с кнопкой “Test it” или классы с названием TestController или MyServiceTestClient.



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

Оно выполняет свою задачу, но сложно для автоматизации. Как правило, тесты требуют, чтобы вся или почти вся система была развернута и сконфигурирована на машине, на которой они выполняются. Предположим, что вы разрабатываете web-приложение с UI и веб-сервисами. Минимальная комплектация, которая вам потребуется: браузер, веб-сервер, правильно настроенные веб-сервисы и база данных. На практике все еще сложнее. Разворачивать всё это на билд-сервере и всех машинах разработчиков?

We need to go deeper
Всего голосов 70: ↑63 и ↓7+56
Комментарии65

Автоматизация тестирования Web-приложений

Время на прочтение13 мин
Количество просмотров107K


Автоматизация тестирования – место встречи двух дисциплин: разработки и тестирования. Наверное поэтому, я отношу эту практику к сложным, но интересным.

Путем проб и ошибок мы пришли к следующему технологическому стеку:
  1. SpecFlow (опционально): DSL
  2. NUnit: тестовый фреймворк
  3. PageObject + PageElements: UI-абстракиця
  4. Контекст тестирования (информация о целевом окружении, пользователях системы)
  5. Selenium.WebDriver

Для запуска тестов по расписанию мы используем TFS 2012 и TeamCity.
В статье я опишу, как мы к этому пришли, типовые ошибки и пути их решения.
Читать дальше →
Всего голосов 39: ↑29 и ↓10+19
Комментарии21

Наш вариант теста на знание SQL

Время на прочтение2 мин
Количество просмотров470K
У нас, как и во многих других организациях, проводится тестирование соискателей при поступлении их на работу. Основу тестирования составляет устное собеседование, но в некоторых случаях, даются также практические задания. Несколько дней назад, Руководство попросило меня подготовить набор задач на знание SQL.
Читать дальше →
Всего голосов 47: ↑38 и ↓9+29
Комментарии125

Советы Google по кодированию на языке Python. Часть вторая: советы по форматированию исходного кода

Время на прочтение14 мин
Количество просмотров82K

Доброго времени суток. Вот и пришло время для публикации второй части так понравившегося многим хабровчанам перевода стайл гайда для языка Python от компании Google, (первая часть бережно хранится хабром). Теперь мы коснемся напрямую форматирования исходного кода на языке программирования Python. Как известно, чистота — залог здоровья, а чистота программного кода — залог уважения коллег и (в идеале) поощрения от кого-нибудь свыше. Вообще, Python сам по себе является хорошо читаемым языком, и даже синтаксис данного языка призывает к порядку в коде (и, как следствие — в голове). Но каждый из нас сам себе документатор и сам себе творец оформления. А как уже говорилось однажды — ко мнению авторитетных товарищей нельзя не прислушиваться. Итак, вторая часть Google Python Style Guide — Python Style Rules ждет Вас под катом. И pdf тут как тут.
Читать дальше →
Всего голосов 75: ↑64 и ↓11+53
Комментарии52

Заметки для игры в бизнес

Время на прочтение11 мин
Количество просмотров72K
Бизнес – это игра или нет? Я думаю да. А у любой игры должны быть правила.

Привет Хабр, меня зовут Александр. Сегодня я хотел бы поделиться с вами о том, как надо или не надо вести бизнес в сфере IT. Данные заметки я извлек из собственного опыта. Я не буду писать здесь книжными и в тоже время, зачастую, пустыми и скучными фразами. Здесь будет только то, что я почерпнул для себя работая на поприще самостоятельной работы, то есть не на дядю. Вся статья будет поделена на части. Во всех частях кроме первой, материал будет изложен в виде заметок, после каждой заметки я буду приводить пример из моей работы, чтобы не быть голословным. Поехали!
Читать дальше →
Всего голосов 154: ↑140 и ↓14+126
Комментарии63

Безопасная работа с исключениями в C#

Время на прочтение4 мин
Количество просмотров48K
Структурные исключения — один из ключевых механизмов обработки ошибочных (в том числе и собственно исключительных) ситуаций. Ниже перечислены некоторые рекомендации по программированию, повышающие общее качество кода при работе с исключениями на C# и шире — платформе .NET.

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

Отдельные поля. Создавайте отдельные поля в собственном классе для передачи существенной информации, вместо сериализации и десериализации данных в поле Message. Несмотря на то, что идея упаковки в Message сложных данных в виде строки типа JSON выглядит соблазнительно, это редко является удачной идеей, поскольку добавляет дополнительный расход ресурсов на кодирование, локализацию, декодирование.
Читать дальше →
Всего голосов 45: ↑41 и ↓4+37
Комментарии17

8 фактов, которые вы, возможно, не знали о C#

Время на прочтение7 мин
Количество просмотров195K
Вот несколько необычных фактов о языке C#, о которых знают лишь немногие разработчики.

1. Индексаторы могут использовать params параметры


Мы все знаем, как обычно выглядят индексаторы x = something["a"], а так же код необходимый для его реализации:

public string this[string key]
 {
   get { return internalDictionary[key]; }
 }

Но знали ли вы, что для доступа к элементам вы можете использовать params параметры x = something["a", "b", "c", "d"]?
Просто напишите ваш индексатор следующим образом:
Читать дальше →
Всего голосов 108: ↑88 и ↓20+68
Комментарии66

Программисты-оптимисты

Время на прочтение5 мин
Количество просмотров78K

Мы, программисты, — оптимисты. Это проявляется во всем цикле разработки ПО от оценки сроков до написания кода и внедрения. Как показывает моя практика, в разработке ПО законы Мерфи работают в 100% случаев. Несмотря на это, я раз за разом сталкиваюсь с «программистами-оптимистами».

Топ «оптимистичных» допущений:
Читать дальше →
Всего голосов 161: ↑133 и ↓28+105
Комментарии87

Нагрузочное тестирование с помощью Selenium

Время на прочтение10 мин
Количество просмотров63K

Введение


В это статье я расскажу о применении инструмента изначально предназначенного для функционального тестирования при тестировании нагрузочном web части системы электронного документооборота (СЭД).
Читать дальше →
Всего голосов 19: ↑14 и ↓5+9
Комментарии18

Specification By Example – BDD для прагматиков

Время на прочтение11 мин
Количество просмотров97K

На Хабре довольно много упоминаний о BDD. К сожалению, статьи, которые я читал, так и не дали мне ответа на вопрос «а зачем мне все это нужно?» Ответ пришел с неожиданной стороны. Когда я всерьез занялся вопросом автоматизации приемочного тестирования, мне под руку попалась книга Gojko Adzic (не уверен в транскрипции, поэтому не стал переводить имя автора) Specification By Example.
Читая ее, я не уставал удивляться: каждая новая глава описывала шишки, которые я набивал на своем личном опыте, и предлагала решения аналогичные или лучшие, чем те, к которым я приходил сам методом проб и ошибок.

Эта статья – первая в цикле «BDD для прагматиков». В ней описаны ключевые элементы наиболее эффективного, на мой взгляд, процесса разработки коммерческого ПО в современных условиях. Два продолжения будут посвящены работе со SpecFlow и автоматизации приемочного тестирования.
Часть первая - живая документация
Всего голосов 34: ↑31 и ↓3+28
Комментарии32

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность