понедельник, 18 ноября 2013 г.

Формирование тестовых данных, хранящихся в базе данных MS SQL Server

   Хотелось бы немного поговорить на тему формирования тестовых данных для автотестов. 
  Дальше будут написаны довольно очевидные вещи насчет независимости тестов друг от друга, поэтому те, кто знаком с этой информацией, могут пропустить этот абзац :) Итак, ни для кого не секрет, что тесты у нас должны быть независимыми друг от друга. Рассмотрим простой пример. Предположим, у нас есть 2 теста - один проверяет добавление пользователя, другой редактирование информации о пользователе. В тесте на редактирование нельзя использовать в качестве тестовых данных (начальных данных) результат, полученный после теста на добавление пользователя. Допустим, если тест на добавление создает пользователя "flower", то в тесте на редактирование мы должны редактировать, например, свойства пользователя "fruit", а не "flower". Почему так? Во-первых, если вы решите в тесте на редактирование использовать пользователя "flower" в качестве тестовых данных, то вы не сможете выполнить этот тест отдельно, вам всегда придется сначала выполнять тест на добавление пользователя. Во-вторых, если добавление пользователя по каким-то причинам не будет работать, вы также не сможете выполнить тест на редактирование. Отсюда следует вывод, что для теста на редактирование вам нужны тестовые данные.

среда, 13 ноября 2013 г.

Тестирование при разработке с использованием Kanban. Пример из жизни.

    Друзья, всем привет!
  Хочу рассказать вам немного о нашем процессе разработки программного обеспечения и методологиях, которые мы применяем. А особенно о том, как у нас организуется тестирование при использовании этих методологий. Для организации процесса разработки мы начинали использовать Scrum, потом перешли на Kanban. Очень подробно и понятно эти методологии описаны в книге Хенрика Книберга и Маттиаса Скарина «SCRUM и Kanban: Выжимаем Максимум». Она небольшая и очень полезная, даже если вы уже работаете по одной из этих методологий, советую прочитать, чтобы упорядочить свои знания.
    Kanban - достаточно свободная методология, содержащая не так много правил:
- визуализация потока работ (работа разбивается на части, каждая часть находится на какой-то стадии выполнения - в каком-то столбце)
- ограничение НЗР (незавершенной работы) (определение возможного количества незавершенных пунктов на каждой стадии процесса разработки ПО)
- измерение времени выполнения задачи (нужно свести время выполнения задачи к минимуму и сделать его максимально прогнозируемым).

понедельник, 11 ноября 2013 г.

Установка Windows приложения в тихом режиме.

    Очередная статья моя блога так и хочет увидеть свет. Не могу ей отказать в этом, поэтому встречаем:)
   Предположим ситуацию, когда вам нужно обеспечить процесс сборки приложения, его деплоймента на какую-либо машину и последующего тестирования. И деплоится у вас не просто exe-файл приложения, а файл-установщик. Поэтому перед стадией тестирования у вас появляется еще одна небольшая задачка по установке вашего приложения на машину для тестирования. Установить такое приложение вам нужно в тихом режиме, т.е. без взаимодействия с пользователем. Как же это сделать?
   Все легко и просто. Для установки приложений у нас служит установщик Windows «msiexec.exe». Его и будем использовать.
  Чтобы сделать установку приложения в тихом режиме вручную, нужно в командной строке выполнить следующую команду:

        msiexec /q /i C:\MyProject\setup.exe

    На С# это выглядит так:

вторник, 5 ноября 2013 г.

Сборка проектов с Coded UI тестами во время билда на TFS без установленной Visual Studio

   Дааа, друзья мои, понадобилось однажды мне сделать и такое. Администратор билд-сервера TFS был против того, чтобы устанавливать студию на сервер во избежание присутствия лишних зависимостей. И в один прекрасный солнечный денек, когда он удалил студию с билд-сервера, билд для сборки решения с Coded UI тестами перестал проходить. Далее я расскажу вам, как мы решили эту проблему.
   Когда мы создаем новый проект с тестами, наши ссылки на сборки выглядят так:

   Все сборки Visual Studio, на которые ссылается данный проект, расположены в установочной папке студии. 
  1. Первое, что нам нужно сделать, это скопировать эти сборки в какую-то папку с библиотеками в нашем проекте и положить эти сборки под source control. Для каждой сборки смотрим ее расположение, и затем копируем сборку из ее расположения в специально созданную для этого папку. Расположение можно посмотреть в окне свойств.
  2. Затем, удаляем эти ссылки на сборки из нашего проекта. После выгружаем проект, чтобы отредактировать файл проекта.

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

4. Все, что нам осталось - это сохранить файл проект, сделать «Reload Project» и вручную добавить ссылки на эти же сборки, которые находятся в специально созданной нами папке библиотек (в п.1).

Примечание. Единственное, где у вас выйдет ошибка, это в следующей ситуации


Хотя, если мы будем добавлять новый файл с Coded UI тестами через «Add - New Item...» и там уже выбрать тип файла - Coded UI тест - то все пройдет успешно.