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

Определения

Тестирование совместимости — это проверка того, как приложение работает на разных платформах, в разных операционных системах, окружениях и на мобильных устройствах. 

По ISO

Эталонное определение по стандарту ISO 25010: совместимость — это характеристика ИТ-системы, позволяющая ей обмениваться информацией с другими системами, работая с ними в том же программном и аппаратном окружении. Это свойство ИТ-продукта, определяющее, в каких пределах система может эффективно выполнять свою функцию, разделяя с другими системами общее окружение и ресурсы, не ухудшая их функциональность (поэтому еще называется co-existence).

Часто в понятие совместимости включают интероперабельность — (функциональную совместимость) способность двух или более систем/продуктов/компонентов обмениваться информацией и применять полученную информацию.

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

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

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

Объекты тестирования

  • Аппаратное обеспечение — верифицирует, что продукт совместим с различными аппаратными конфигурациями («железом»)
  • Программное обеспечение определяет, что продукт совместим с другим программным обеспечением
  • Операционная система — что продукт совместим и будет без проблем работать в различных ОС: Windows, Linux, Mac OS
  • Сеть — что производительность разрабатываемого продукта в сети подходит к параметрам используемых подключений по ширине канала, рабочей скорости, ёмкости, а также тестирование в различных сетях (5G например)
  • Браузеры — что сайт будет без проблем отображаться в различных браузерах типа Firefox, Chrome и так далее
  • Устройства — совместимость продукта с различными периферийными устройствами: USB портом, принтером, сканером, Bluetooth и так далее
  • Мобильные — совместимость с мобильными платформами Android и iOS
  • Версии ПО — что продукт совместим с ПО различных версий

Два типа тестирования совместимости

  • Обратная совместимость — проверка совместимости продукта с его старыми версиями. Такое тестирование более простое, поскольку известны все изменения/обновления. Например, для поддержки пользователей со старыми моделями смартфонов.
  • Прямая совместимость — проверка совместимости продукта по отношению к существующим последним (новым) версиям; или будущим версиям, что сложнее чем обеспечить обратную совместимость, поскольку изменения в новых версиях еще неизвестны.

Быстрый пример

Представим, что есть сложная excel-таблица для отслеживания состояния проекта, ресурсов, денег и прочего. Но она создана в очень древней версии, например Excel 2000. Если обновить свой Microsoft Office с версии 2000 хотя бы до 2010, мы ожидаем, что все функции, работавшие в 2000-версии, будут работать и в новом пакете, то есть все созданное в старой версии должно работать в обновленной. Но, если все созданное не поддерживается в новой версии, или поддерживается только частично, и мы убедились об этом во время тестирования совместимости, нужно продумать, как провести миграцию ресурсов со старой версии.

Инструменты

  • BrowserStack — тестирование сайтов и мобильных приложений на различных браузерах и платформах. Есть специализированные инструменты Live, Automate, App Live, App Automate.
  • Virtual Desktops — тестирование в различных операционных системах в виде виртуальных машин. Можно подключить несколько виртуальных машин и сравнивать результаты.
  • LambdaTest — тестирование веб-приложений в любом мобильном и десктопном браузере. Полностраничные скриншоты, проверка в реальных браузерах, которых поддерживается очень много. 
  • BrowseEMAII — для запуска тестируемых приложений на ОС Linux, Windows, macOS и т.п. Кроссбраузерное тестирование практически во всех мобильных браузерах и на десктопах.
  • TestingBot — для тестирования в различных браузерах Firefox, Google Chrome, Microsoft Edge, Internet Explorer, Safari и пр. Можно сравнить скриншоты из нескольких браузеров и платформ, а также проверить респонсивность макета приложения. Доступно много версий браузеров для автоматизации.

Порядок тестирования

  • Предварительный этап: определяется набор тестовых окружений, в которых приложение должно работать в будущем, и создается тест-план
  • Подготовка к процессу, и получение соответствующих знаний о продукте и особенностях его работы в том или ином окружении, чтобы иметь возможность быстро и правильно оценить работоспособность
  • Подготовка тестовых окружений (платформ, девайсов, сетей и т.п.)
  • Непосредственно проведение тестирования
  • Фиксация результатов в виде репортов, их передача разработчикам, и после устранения возможно повторное тестирование

Когда необходимо тестирование совместимости

  • Для полного безукоризненного выполнения требований к продукту по части совместимости
  • Для мультиплатформенных продуктов (работающих на всех платформах)
  • Для раннего обнаружения дефектов

Проблемы 

Чаще всего проблемы возникают с интерфейсом, но не только.

  • Положение элементов на веб-странице (проблемы с выравниванием)
  • Перекрывание: элементы могут перекрывать друг друга
  • «Потерянные» элементы страницы, неотображаемые
  • Проблемы с операционными системами — что-то не работает (не отображается) вообще или частично
  • Функциональные дефекты, достаточно проблемные и не всегда легко устранимые

Результаты

Вопрос: чем тестирование совместимости отличается от конфигурационного

СовместимостиКонфигурационное 
Проверяют, совместимо ли приложение (сайт) с различными платформамиПроверяют множество аппаратных конфигураций, пытаясь достичь оптимальной производительности и юзабельности
Работает ли на всех (нужных) платформах, со всем (нужным) хардом и софтомИсследуют различные комбинации харда и софта, чтобы понять где работает хорошо, где плохо
Совместим ли продукт например с разными версиями одной и той же ОСКак работает например тот или иной компонент с этой конфигурацией
Есть ли прямая и/или обратная совместимостьПроверка, работает ли например с периферией разных производителей
Проверяется чаще всего совместимость передаваемых и получаемых данныхРаботает ли с разной периферией, разными интерфейсами, при разных объемах памяти

Подробный материал о конфигурационном тестировании

Источники: 1,2

***

Какой была ваша первая зарплата в QA и как вы искали первую работу?

Мега обсуждение в нашем телеграм-канале о поиске первой работы. Обмен опытом и мнения.

Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии

Мы в Telegram

Наш официальный канал
Полезные материалы и тесты
Готовимся к собеседованию
Project- и Product-менеджмент

? Популярное

? Telegram-обсуждения

Наши подписчики обсуждают, как искали первую работу в QA. Некоторые ищут ее прямо сейчас.
Наши подписчики рассказывают о том, как не бояться задавать тупые вопросы и чувствовать себя уверенно в новой команде.
Обсуждаем, куда лучше податься - в менеджмент или по технической ветке?
Говорим о конфликтных ситуациях в команде и о том, как их избежать
$1100*
медианная зарплата в QA в июне 2023

*по результатам опроса QA-инженеров в нашем телеграм-канале

Собеседование

19%*
IT-специалистов переехало или приняло решение о переезде из России по состоянию на конец марта 2022

*по результатам опроса в нашем телеграм-канале

live

Обсуждают сейчас