# Тестирование совместимости

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

### Что такое тестирование совместимости?

Тестирование совместимости – это вид нефункционального тестирования. Его цель – обеспечить бесперебойную работу ПО в различных средах, а для этого проверить совместимость с определенными устройствами и установленными на них приложениями.

Существует несколько категорий тестирования совместимости программного обеспечения. Каждая из них фокусируется на определенном аспекте устройства. Например:

* Тестирование на совместимость с операционными системами проверяет, как ведет себя программа в различных ОС.
* Кросс-браузерное тестирование направлено на проверку корректности отображения сайта или веб-приложения во всех браузерах и их версиях
* Тестирование сетевой совместимости показывает, как различные типы сетевых соединений могут влиять на поведение программного обеспечения
* Тестирование совместимости с устройствами – это проверка того, работает ли программное обеспечение, как предполагается, на устройствах разных производителей и с разными спецификациями

Кроме того, тестирование совместимости делится на два вида в зависимости от “направления”. Тестирование прямой совместимости проверяет программный продукт на последних версиях устройств, ОС, браузеров. Тестирование обратной совместимости проверяет поведение продукта в старых версиях.

### Чек-листы и тест-кейсы для тестирования на совместимость

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

Например, при тестировании функциональности ПО на различных устройствах QA-специалист обратит внимание на следующие вещи:

* кнопки и ссылки
* ввод данных, функции загрузки/выгрузки файлов
* API-соединения
* валидация форм
* макет в различных браузерах
* доступность всех функций и т.д.

Список основных требований будет более или менее одинаковым: сначала нужно проверить стандартный путь пользователя и критичные для бизнеса функции.

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

1. Войти в учетную запись пользователя.
2. Перейти в раздел “Сообщения”.
3. Выбрать получателя.
4. Выбрать файл, который вы хотите прикрепить.
5. Нажать на кнопку “Прикрепить файл”.
6. Нажать на кнопку “Отправить”.
7. Проверить, успешно ли отправлен файл.
8. Повторить со всеми целевыми браузерами.

Опять же, детали будут отличаться в зависимости от логики веб-приложения, но алгоритм понятен.

### Лучшие практики кросс-браузерного тестирования

1. **Определите целевые среды.** Сначала вам нужно решить, на каких платформах, устройствах и браузерах будет работать ПО. Затем можно приступать к составлению списка устройств, которые будут использоваться для тестирования.
2. **Укажите объекты тестирования.** Вы можете проверить весь сайт или только некоторые страницы – это зависит от сроков и функциональности в целом.
3. **Используйте реальные устройства.** Когда речь идет о смартфонах, симуляторы и эмуляторы полезны на ранних стадиях. Однако для получения точных результатов необходимо протестировать продукт на реальных устройствах. Кроме того, на всякий случай можно проверить функции еще раз после запуска продукта.
4. **Тестируйте как старые, так и новые браузеры.** Хорошо бы иметь данные о статистике использования браузеров юзерами. В большинстве случаев либо клиент, либо руководитель группы указывает этот список в [стратегии тестирования](https://qarocks.ru/writing-test-strategy-document-template/). Если старые широко используемые версии браузеров отсутствуют в списке, на всякий случай спросите, правильно ли это.
5. **Полагайтесь на аналитику.** Будьте разумны в том, какие браузеры и сколько старых версий включать в план тестирования. Раньше было много проблем с отображением страниц в Internet Explorer, но следует брать в расчет и количество активных пользователей.
6. **Проверьте медиаконтент.** Если вы используете на сайте мультимедиа высокой четкости, будь то изображения, GIF, аудио или видео, проверьте, все ли браузеры способны отображать такой контент.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://qabook.gitbook.io/start/teoriya-testirovaniya/osnovy-testirovaniya/vidy-testirovaniya/nefunkcionalnye-vidy-testirovaniya/testirovanie-sovmestimosti.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
