пятница, 25 июля 2014 г.

Полезные знания о TortoiseSVN для тестировщика

Всем привет!
Наверняка многие из вас знают такое понятие, как система контроля версий. Для тех, кто не знает, определение из википедии:
Система управления версиями  — программное обеспечение для облегчения работы с изменяющейся информацией. Система управления версиями позволяет хранить несколько версий одного и того же документа, при необходимости возвращаться к более ранним версиям, определять, кто и когда сделал то или иное изменение, и многое другое.
Для чего знания о системах контроля версий могут понадобиться тестировщику, занимающемуся ручным тестированием? Самый распространенный пример - под управлением такой системы часто хранится документация проекта - ТЗ, макеты, тест-кейсы (если не используется TestManagement система), отчеты о тестировании и т.д.. Мы должны уметь получать различные версии этих документов (чаще всего последние), а также передавать изменения в этих документах остальным участникам нашей команды. Поэтому в арсенале тестировщика должны быть знания простейших действий с системами контроля версий.

В данной статье рассмотрим систему контроля версий SVN и клиент, позволяющий работать с этой системой - TortoiseSVN. Все команды этого клиента добавляются в контекстное меню для файлов/папок файловой системы. На мой взгляд, очень удобно. Я люблю работать с UI клиентами. Кто-то предпочитает работу с SVN через консоль.



Типичный порядок работы с системой контроля версий svn для тестировщика следующий:

Начало работы с системой.
Все документы хранятся в определенной папке на сервере, которая называется "репозиторий". Сначала мы создаем копию этой папки (или ее части) на своем компьютере при помощи команды "SVN Checkout".  

 

В поле "URL of repository" нужно ввести путь к вашему репозиторию (или определенной папке, если, допустим, вам нужна только одна папка с документацией по проекту). В блоке "Revision" мы можем указать, выкачиваем мы самую последнюю ревизию, или какую-то определенную.
Ревизия - это определенная версия дерева папок и файлов репозитория.


Выкачка файлов на ваш компьютер успешно завершена:


Если мы посмотрим в проводник, то увидим, что у нашей папки появился индикатор. Зеленый индикатор показывает, что локально никакие файлы не менялись. Локальная версия соответствует версии ревизии с сервера.


Ежедневный цикл работы.

1. Изменение файлов репозитория.
Изменяем какой-либо документ, например, отчет о тестировании. Красный индикатор показывает, что этот файл изменялся локально, его содержимое отличается от версии файла текущей ревизии на сервере.


Добавляем какой-либо документ, например, тест-кейсы. Чтобы добавить файл в рабочую копию репозитория, необходимо воспользоваться командой "Add"


После этого около файла появится индикатор в виде плюса, который говорит о том, что файл добавлен в рабочую версию репозитория.

Удаляем какой-либо документ, например, документ с тестовыми данными, при помощи команды "Delete" (либо просто нажав "Delete" на клавиатуре).



2. Фиксация изменений
Важно помнить, что все команды контекстного меню проводятся с вашей рабочей копией, а не с файлами на сервере. 
Мы хотим поделиться нашими изменениями с другими членами нашей команды. Для этого мы должны передать наши изменения на сервер при помощи команды "SVN Commit"


В поле комментария пишем описание измененных файлов. Флажками отмечаем те файлы, изменения в которых мы хотим перенести на сервер.



Зеленый индикатор показывает, что все изменения переданы на сервер и новых изменений нет. 

3. Обновление рабочей копии.
Кто-то из других членов команды также внес изменения в тест-кейсы. Мы хотим получить эти изменений. Для этого получаем последнюю версию репозитория с сервера, используя команду "SVN Update".


Следует отметить, что при операциях commit/update могут возникнуть конфликты в ситуациях. когда один и тот же файл редактировало несколько пользователей. Поскольку svn не умеет корректно разрешать конфликты для файлов word и excel, советую таких ситуаций избегать. Перед тем, как что-то править в файле, получайте всегда последнюю версию.


4. Отмена локальных изменений.
Предположим, мы случайно поменяли документ и хотим отменить локальные изменения. Это можно сделать при помощи команды "Revert".

5. Переключение между ветками.
Ветвь в системах управления версиями — направление разработки, независимое от других. Ветвь представляет собой копию части хранилища (например, одного каталога), в которую можно вносить изменения, не влияющие на другие ветви. Документы в разных ветвях имеют одинаковую историю до точки ветвления и разные — после неё.
Переключение между ветками осуществляется командой "Switch". При постоянной работе с несколькими ветками лучше создать свою рабочую копию для каждой ветки, чем переключаться между ветками в рамках одной рабочей копии репозитория.

6. Просмотр истории изменения.
Выполняется с использованием пункта меню "Show log"

Перечисленных команд в большинстве случаев хватает для повседневной деятельности. С остальными командами можно легко разобраться самим ("Update to revision", "Clean up").

Комментариев нет:

Отправить комментарий