XML для тестировщиков (I - Introduction)

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

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

  1. При всем многообразии информации доступной в сети, большинство материалов написаны именно для разработчиков.  Все теоретические и практические задачи рассматриваются с точки зрения разработки программного обеспечения, а не его тестирования. Поэтому, приходится рекомендовать ребятам кучу литературы и ресурсов для прочтения, а затем уже дополнительно пояснять весь материал, показывать на примерах.
  2. Начинающему тестировщику зачастую необходимо стихийно включаться в работу. Обычно времени на встраивание в проект отводится крайне мало и недостаточно для постепенного и планомерного изучения технологий. Справочного материала либо нет, либо он доступен только на английском языке (с чем так же есть свои сложности). В лучшем случае в проекте существует формализованная база знаний, которая помогает в процессе изучения основ (но реальность такова, что необходимость ведения такой базы принято с удовольствием обсуждать на тренингах, семинарах и за чашечкой кофе на диванчике, а вот заниматься ее созданием и поддержкой готовы лишь единицы).
В результате многократного повторения одно и того же материала, мне пришла идея оформить весь накопленный опыт в виде цикла статей. Надеюсь это поможет мне и моим коллегам в будущем, а так же возможно найдет своего читателя на просторах интернета и принесет пользу. 


Зачем нужно знать XML в тестировании?

Для ответа на этот вопрос необходимо четко определить цель использования документов XML в составе информационных систем - это передача данных между компонентами системы, а так же во внешние информационные системы. 

При этом каналы и способы передачи данных могут быть различными. Например, могут использоваться веб службы и определенный протокол передачи, или передача данных может осуществляться посредством шины. Важно помнить, что способ передачи влияет только на обертку XML документа, а не на его суть. Разберем передачу XML на примере простого почтового отправления.

Допустим нам необходимо отправить какие-либо данные по почте. Для этого нам необходимо само письмо, конверт и почтовая марка.  Передаваемые данные представляют собой текст письма. XML документ это само письмо (т.е. документ с формализованной информацией, записанной на определенном языке и по определенным правилам). Конверт и почтовую марку можно сравнить с оберткой протокола передачи, это некая упаковка и служебная информация, которая позволяет документу путешествовать по почтовым путям в целости и сохранности, и без труда определить конечного адресата.

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

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

Что необходимо иметь под рукой?

Тестировщику независимо от того, какое приложение он тестирует нужно иметь хороший и удобный текстовый редактор с подсветкой синтаксиса. А при работе с языками разметки, коим и является XML, необходимость возводится в квадрат.

В последнее время я пользуюсь двумя редакторами: Notepad++ и  Adobe Brackets. 

Notepad++ использую в офисе, в основном по привычке. В принципе этот редактор меня устраивает, он имеет довольно удобный интерфейс и отлично справляется со своей задачей. Скачать редактор можно на официальном сайте проекта - https://notepad-plus-plus.org.

Adobe Brackets использую дома, когда душа просит поработать в удовольствие. Редактор привлекает очень приятным дизайном пользовательского интерфейса, широким спектром возможностей. А так же в нем есть функция авто-дополнения. Скачать можно здесь - http://brackets.io.

Каким бы редактором вы не пользовались, просмотр подготовленных XML файлов и XSD схем должен быть удобным.


Для изучения так же полезно иметь под рукой хороший справочник по XML. Я рекомендую для этой цели использовать курсы w3scool - http://www.w3schools.com/xml/default.asp. Но подойдет и любой другой подобный ресурс, главное чтобы он был информативен и удобен в использовании.

Что дальше?

В следующих частях статьи:
  1. Основы XML;
  2. Способы описания интерфейсов при разработке информационных систем;
  3. Основы XSD;
  4. Подготовка тестовых данных на основе XSD;
  5. Подготовка тестовых данных на основе других видов спецификаций;
  6. Что нужно знать дизайнеру тестовых сценариев о XML и XSD;
  7. Автоматизация процесса подготовки тестовых данных;
  8. Тестирование с помощью SOAP UI.

Комментарии

Популярные сообщения из этого блога

Проектирование и оформление

Таблица принятия решений