Pull to refresh
9
0

Разработчик

Send message

Как мы заново открыли TFS

Reading time3 min
Views46K

Новое открытие TFS


Какая первая ассоциация возникает, когда слышишь словосочетание Microsoft TFS? Что-то большое, неповоротливое и корпоративное. Именно так и было до появления Visual Studio Team Services и выхода MS TFS 2015. Первый — это облачная версия Team Foundation Server, которая опережает в развитии частную (private) версию примерно на три месяца. Одним из главным нововведений обновленного TFS/VSTS стала новая система сборок. Эта система позволяет достаточно просто писать свои шаги сборок, которые могут делать что угодно — от собственно сборки проекта до автоматического заведения дефектов и рассылки нотификаций. Кроме этого новая версия предоставляет развитый REST API для манипулирования задачами, дефектами и практически любыми сущностями в базе данных TFS.


Именно поэтому когда перед нами встал выбор новой системы управления жизненным циклом разработки, мы остановились именно на этой новой версии MS TFS. Мы используем TFS для полного цикла — планирование-разработка-тестирование-развертывание, и, поначалу все шло достаточно гладко. С ростом сложности задач, которые мы ставили перед системой сборки, появлялись и проблемы. К счастью, REST API и собственные шаги сборки позволили их с успехом решить. Далее я расскажу о проблемах и о том, как мы их решили.


Читать дальше →
Total votes 21: ↑19 and ↓2+17
Comments14

Redux-Redents — (еще) один модуль для работы с серверными данными из React-Redux приложений.  

Reading time4 min
Views7.8K

React и Redux, в последнее время одни из самых популярных buzz-words в мире фронтенда. Поэтому когда мне потребовалось сделать веб-приложение, которое бы отображало данные, полученные с сервера, а также позволяло бы ими манипулировать (создавать, удалять и изменять), я решил построить его на основе связки React и Redux. Множество getting-started руководств покрывают только функционал создания компонентов, action creators и reducers. Но как только дело касается обмена с сервером, начинаются сложности — растет количество необходимых action creator, редьюсеров. Причем они очень похожи друг на друга, с миниальными отличиями. В большинстве случаев — только в типе (имени) активности. После того, как я создал третий одинаковый набор креаторов и редьюсеров, то появилось желание что-то изменить. Так родилась идея реализации redux-redents.

Читать дальше →
Total votes 12: ↑12 and ↓0+12
Comments11

Автотесты в функциональном стиле

Reading time6 min
Views11K

Элементы функционального программирования появились в Java сравнительно недавно, но приобретает все большую популярность. Особенно в части stream API – наверное нет Java разработчика, который бы не слышал/читал/применял этот API для работы с коллекциями. К сожалению, большинство и не идет дальше использования Stream API, тогда как функциональный подход позволяет значительно упростить жизнь разработчикам автотестов. Ниже я расскажу про два примера такого упрощения – словари проверок и специализированные матчеры

Читать дальше →
Total votes 14: ↑12 and ↓2+10
Comments6

Descriptive Programming в QuickTest Pro

Reading time6 min
Views6.2K
QuickTest Professional – популярный инструмент для автоматизации функционального тестирования. В немалой степени его популярность обусловлена наличием в нем рекордера пользовательской активности, который позволяет записать действия пользователя и преобразовать их в скрипт.
Объекты, с которыми взаимодействует пользователь, автоматически идентифицируются QTP и сохраняются в специальное хранилище – репозиторий. При сохранении в репозиторий, QTP автоматически сохраняет идентификационные свойства объекта, но делает это не всегда правильно. Например, если на веб-странице присутствуют несколько таблиц (даже если у каждой из них есть свой ID), QTP идентифицирует их по порядковым номерам. Такой способ идентификации объектов вызывает проблемы при проигрывании автотестов. Более того, многие объекты вообще не попадают в репозиторий при записи. Это вызвано многими причинами, наиболее частыми из которых является сложная верстка или верстка с применением DIV-ов. Однако, существует способ обращаться к объектам тестируемого приложения на этапе выполнения скрипта, минуя обращение к репозиторию.
Этот способ называется Descriptive Programming (DP).

Читать дальше →
Total votes 6: ↑5 and ↓1+4
Comments2

Автоматизация функционального тестирования: что это такое и как это может быть полезно

Reading time3 min
Views11K
В том, что тестирование ПО необходимо, к счастью, никто уже не сомневается. Но так как сама отрасль тестирования достаточно молодая, в ней еще не сформировались общепринятые методологии и правила, как в отрасли разработки ПО. Как обычно производится функциональное тестирование приложений, систем и т.п. Процесс можно разбить на следующие стадии:
  1. Сбор требований (справедливо для «внешнего тестирования»)
  2. Создание тестовой модели (что и как тестируем)
  3. Проведение тестирования
  4. Отчет о тестировании (дефекты, проблемы и т.п)

Каждая стадия включает в себя исключительно ручной труд. И для каждой новой версии приложения необходимо проводить регрессионное тестирование — повторять следующие стадии:
  1. Дополнение тестовой модели
  2. Проведение тестирования
  3. Отчет
Причем стадия «Проведение тестирования» включает в себя тестирования всего объема функциональности – и старого, и нового. Таким образом получается, что с ростом функциональности растет и объем ручного тестирования, причем тестирование «старого» функционала совершенно справедливо вызывает у тестировщика отторжение – «я уже 10 раз это смотрел». Следовательно, падает и качество тестирования (снижение внимания), и скорость проведения полного тестирования системы. Регрессионное тестирование ведет к регрессу тестировщиков. Автоматизация призвана и ускорить процесс тестирования, и избежать деградации тестировщиков.

Читать дальше →
Total votes 12: ↑11 and ↓1+10
Comments24

White — автоматизация функционального тестирования приложений

Reading time6 min
Views4.7K
Существует множество инструментов для автоматизации функционального тестирования приложений. С одной стороны универсальные коммерческие пакеты, настоящие монстры автоматизации – HP QuickTest Pro, SilkTest, TestComplete. С другой – специализированные или «бедные» по функциональности свободные инструменты – Selenium (web-приложения), pyWinAuto, Win32::GuiTest и т.д. Но настоящей жемчужиной среди свободных инструментов, на мой взгляд является Codeplex White Framework.

Не так давно потребовалось автоматизировать некоторое .net приложение. На работе основным инструментом для автоматизации принят QuickTest Pro, но для этого конкретного проекта он был слишком дорог: проект очень небольшой – автоматизации подлежали всего несколько операций. Встал вопром с поиском бесплатной альтернативы.

Первым бы опробован перловый Win32::GuiTest. С задачей он справился, но код скрипта получился очень уж неаккуратный – слишком тяжело его было бы в последствии поддерживать. И тут на сайте codeplex’a был обнаружен White
Он оказался настолько простым и удобным, что было решено применять его. Этот framework поддерживает большинство стандартных контролов Win32, WinForms, WPF (Silverlight), SWT. Под катом пример простой автоматизации Калькулятора Windows XP.
Читать дальше →
Total votes 8: ↑6 and ↓2+4
Comments6

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity