Что такое XML и где он применяется в тестировании?

«Что такое XML и где он применяется в тестировании?» — вопрос из категории Форматы данных, который задают на 26% собеседований QA Тестировщик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

XML (eXtensible Markup Language) — это язык разметки для хранения и передачи структурированных данных в текстовом формате. В отличие от HTML, в XML нет предопределенных тегов — вы создаете свои собственные, что делает его гибким для описания любых данных.

Ключевые особенности:

  • Самодокументируемость: Имена тегов описывают данные.
  • Иерархическая структура: Данные организованы в виде дерева.
  • Платформонезависимость: Простой текст читается любой системой.
  • Строгий синтаксис: Обязательно наличие корневого элемента, парных тегов и корректного экранирования.

Пример XML:

<?xml version="1.0" encoding="UTF-8"?>
<catalog>
  <book id="bk101">
    <title>Основы тестирования ПО</title>
    <author>Иванов А.А.</author>
    <price currency="RUB">1500</price>
  </book>
  <book id="bk102">
    <title>Автоматизация тестов</title>
    <author>Петрова С.И.</author>
    <price currency="RUB">2100</price>
  </book>
</catalog>

Применение в тестировании:

  1. Тестирование API: Валидация запросов и ответов в SOAP-сервисах или REST API (когда используется Content-Type: application/xml).
  2. Конфигурационные файлы: Проверка корректности XML-конфигов приложения (например, web.xml, pom.xml).
  3. Data-driven тестирование: Хранение тестовых данных в структурированном виде для последующего парсинга тестами.
  4. Сравнение данных: Использование инструментов для сравнения XML-файлов (например, в рамках проверки экспорта/импорта).
  5. Веб-скрапинг и проверка sitemap.xml.

Для работы с XML в автотестах часто используются библиотеки, такие как lxml в Python или Jsoup в Java.