- Определения
- Объекты тестирования
- Два типа совместимости
- Быстрый пример
- Инструменты
- Порядок выполнения
- Проблемы
- Вопрос из коментов: чем отличается от конфигурационного
Определения
Тестирование совместимости — это проверка того, как приложение работает на разных платформах, в разных операционных системах, окружениях и на мобильных устройствах.
По 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 и пр. Можно сравнить скриншоты из нескольких браузеров и платформ, а также проверить респонсивность макета приложения. Доступно много версий браузеров для автоматизации.
Порядок тестирования
- Предварительный этап: определяется набор тестовых окружений, в которых приложение должно работать в будущем, и создается тест-план
- Подготовка к процессу, и получение соответствующих знаний о продукте и особенностях его работы в том или ином окружении, чтобы иметь возможность быстро и правильно оценить работоспособность
- Подготовка тестовых окружений (платформ, девайсов, сетей и т.п.)
- Непосредственно проведение тестирования
- Фиксация результатов в виде репортов, их передача разработчикам, и после устранения возможно повторное тестирование
Когда необходимо тестирование совместимости
- Для полного безукоризненного выполнения требований к продукту по части совместимости
- Для мультиплатформенных продуктов (работающих на всех платформах)
- Для раннего обнаружения дефектов
Проблемы
Чаще всего проблемы возникают с интерфейсом, но не только.
- Положение элементов на веб-странице (проблемы с выравниванием)
- Перекрывание: элементы могут перекрывать друг друга
- «Потерянные» элементы страницы, неотображаемые
- Проблемы с операционными системами — что-то не работает (не отображается) вообще или частично
- Функциональные дефекты, достаточно проблемные и не всегда легко устранимые
Результаты
- Полное соблюдение требований на всех целевых платформах, ОС, браузерах
- Фидбек, полученный во время тестирования совместимости, поможет разработчикам усовершенствовать продукт
- Такое тестирование проверяет заодно и масштабируемость продукта, его юзабельность и стабильность
Вопрос: чем тестирование совместимости отличается от конфигурационного
Совместимости | Конфигурационное |
---|---|
Проверяют, совместимо ли приложение (сайт) с различными платформами | Проверяют множество аппаратных конфигураций, пытаясь достичь оптимальной производительности и юзабельности |
Работает ли на всех (нужных) платформах, со всем (нужным) хардом и софтом | Исследуют различные комбинации харда и софта, чтобы понять где работает хорошо, где плохо |
Совместим ли продукт например с разными версиями одной и той же ОС | Как работает например тот или иной компонент с этой конфигурацией |
Есть ли прямая и/или обратная совместимость | Проверка, работает ли например с периферией разных производителей |
Проверяется чаще всего совместимость передаваемых и получаемых данных | Работает ли с разной периферией, разными интерфейсами, при разных объемах памяти |
Подробный материал о конфигурационном тестировании
***