Denis Gladkikh
Russian   |  English

Выбранный тег: CCNet

Unit тестирование в Silverlight 4

Наша команда настроила свою среду для тестирования Silverlight приложений еще год назад для Silverlight 3. Потом, со временем, просто обновляли библиотеки и приложения. Я бы хотел с вами поделиться теми удобными утилитами, которыми мы пользуемся для тестирования кода Silverlight приложений, как для запуска на локальном компьютере, так и для автоматизированного запуска на интеграционном сервере. Я буду говорить именно о Unit тестировании (блочном тестировании), а не о UI тестировании (тестирование интерфейсов). В нашей компании у нас есть команда QA, которая занимается UI тестированием, мы же просто пишем тесты для кода моделей представления и моделей. Для того, чтобы настроить среду для тестирования, мне понадобились: Silverlight Toolkit, Moq, R#, AgUnit, StatLight. А теперь обо всем по порядку.



Подходы для версионирования баз данных

У нас достаточно молодая сейчас команда, времени особо нет на эксперименты, развитие проекта идет семимильными шагами. Попробовали несколько подходов для хранения/версионирования баз данных. Хотел бы с вами поделиться проблемами, которые мы встречали, а так же нашими решениями. Ну и с удовольствием выслушаю ваши комментарии, предложения, рекомендации.



Переход на Team Foundation Server 2010. Система для ведения задач и базы знаний.

Я уже писал не раз, что на текущей моей работе мы использовали систему контроля исходного кода похожую на Visual SourceSafe (от Dynamsoft). Да-да это когда делаешь Check Out, а тебе стучатся в мессенджер и просят сделать поскорее Check In, так как кому-то тоже нужно бы с этим файлом поработать (кто не знает он лочит файлы на сервере, один файл можно менять только одному человеку за раз). Но это время наконец-то забыто, и мы планово перешли на Team Foundation Server 2010 около месяца назад. В сети есть куча примеров, как сделать импорт из Visual SourceSafe в TFS с сохранением всей истории, но, к сожалению, у нас был не совсем VSS, и тратить много времени на изучение, как это правильно сделать не хотелось, потому было решено просто залить последний рабочий код. Кстати, именно в это время у нас состоялся freeze версии, потому мы и нашли немного свободного времени, и спокойно начали переходить. Для системы bug tracking у нас использовался Redmine, достаточно удобная штука (да еще и бесплатная). Теперь для ведения задач у нас это TFS, а для форумов, wiki страниц и остального - это Windows SharePoint Services 3.0, который становится рядом с TFS. Что ж, хотелось бы поделиться немного своими впечатлениями.



Непрерывная интеграция.

Так получилось, что на текущей работе мне пришлось настраивать CCNet build сервер для создания среды непрерывной интеграции. Что это такое и зачем нужно можно почерпнуть из многих источников, из которых можно выделить статью Мартина Фаулера [1], а так же книгу Непрерывная интеграция. Улучшение качества программного обеспечения и снижение риска [2], о которой Мартин Фаулер так же хорошо отзывался. Про эту книгу я могу сказать одно, она мне попалась в переведенном варианте пару лет назад (или даже больше), и переведенный вариант был ну просто ужасен, после которого я посчитал, что нужно бы начинать читать книги только на оригинале (если оригинал - английский язык, что бывает в большинстве случаев).

Все же я обрисую ниже основные моменты данного процесса и постараюсь дать некоторые советы, которые я считаю, являются полезными в настройке данной среды, и буду рад услышать советы, замечание и предложения от вас. Итак, что же такое непрерывная интеграция? В данном случае интеграция подразумевается не между системами, как может прийти на ум, услышав данное словосочетание впервые (по крайней мере, так было у меня), а интеграция между участниками процесса разработки внутри проекта.